Linux介绍

Linux版本

内核版本

内核版本号由3个数字组成X.Y.Z-P

  • X:主版本号,比较稳定,短时间不会改变
  • Y:次版本号,表示版本类型
    • 偶数:稳定版
    • 奇数:测试版
  • Z:发布号,数字越大,功能越完善
  • P:patch号

Linux分区

/boot引导分区目录

该分区(目录)存放系统内核、驱动模块引导程序,需要独立 分区

  • 避免(根)文件系统损坏造成无法启动
  • 避使用lilo引导时1024柱面问题(Grub无此问题)
  • 方便管理多系统引导

/boot修复

进入grub模式后#todo

/swap分区目录

系统物理内存不足时,释放部分空间,其中数据被临时保存在 swap空间中

  • 不是所有物理内存中交换的数据都会被放在交换空间中,有部分 数据直接交换到文件系统

  • 交换空间比内存慢

  • 安装时,系统会尝试将交换分区安装到磁盘外端

  • 有多个磁盘控制器时,在每个磁盘上都建立交换空间

  • 尽量将交换空间安装在访问在频繁的数据区附近

  • 交换空间大小一般设置为内存1-2倍

  • 不推荐为交换空间划分单独分区,可以使用交换文件作为交换 空间,方便、容易扩展
交换文件
1
2
3
4
5
6
7
8
9
10
11
12
13
$ dd if=/dev/zero of=/swapfile bs=1024 count=32000
#
$ fallocate -l 32G /swapfile
# 创建有连续空间的交换文件,大小为1024*32000=32G
$ chmod 600 /swapfile
# 修改交换文件权限
$ mkswap /swapfile
# 设置交换文件

$ /usr/sbin/swapon /swapfile
# 激活上步创建的`/swapfile`交换文件
$ /usr/sbin/swapoff swapfile
# 关闭交换文件
  • 不需要交换文件时可以直接rm删除
  • 可以在fstab文件中添加交换文件,自动挂载,格式参见 config_files

/根分区目录

  • /usr:用户程序
  • /sbin:系统管理员执行程序
  • /bin:基本命令
  • /lib:基本共享库、核心模块
  • /home:用户目录
  • /etc:配置文件目录
  • /opt:附加应用程序包目录
  • /mnt:设备/文件系统挂载目录
  • /dev:设备
  • /tmp:临时文件
  • /var:可变信息区
    • file spool
    • logs
    • requests
    • mail
  • /proc:进程(映射)信息

CentOS7 常用配置

网络配置

编辑/etc/sysconfig/network-scripts/ifcfg-ens33

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
TYPE = Ethernet				# 网卡类型:以太网
PROXY_METHOD=none # 代理方式:无
BROWSER_ONLY=no # 仅浏览器:否
BOOTPROTO=dhcp # 网卡引导协议
DEFROUTE=yes # 默认路由:是
IPV4_FAILURE_FATAL=no # 开启IPV4致命错误检测:否
IPV6INIT=yes # IPV6自动初始化:是
IPV6_AUTOCONF=yes # IPV6自动配置:是
IPV6_DEFROUTE=yes # IPV6是否可为默认路由:是
IPV6_FAILURE_FATAL=no # 开启IPV6致命错误检测:否
IPV6_ADDR_GEN_MODE=stable-privacy
# IPV6地地址生成模型:stable-privacy
NAME=ens33 # 网卡物理设备名称
UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
# 通用唯一识别码
DEVICE=ens33 # 网卡设备名称
ONBOOT=yes # 开启启动:是
DNS1=xxx.xxx.xxx.xxx # DNS地址
IPADDR=xxx.xxx.xxx.xxx # IP地址
PREFIX=24 # 子网掩码
GATEWAY=xxx.xxx.xxx.xxx # 网关
  • UUID不能相同相同
  • ifcfg-ens33这个文件感觉像是个模板,但是不知道真正应用 配置文件在哪

常用应用源

EPEL

Extra Packages for Enterprise Linux 由Fedora社区创建、维护的RPM仓库,通常不会与官方源发生冲突 或相互替换文件,包括应用有:chromium

直接使用yum安装:$ sudo yum install epel-release

RPMFusion

提供Fedora和RedHat由于开源协议或者是禁止商业用途而无法提供 RPM安装包,包括两个仓库 和NuxDextop源有冲突,如:gstreamer,感觉上比NuxDextop更加权威 包含应用:mplayer、gstreamer-pluginsXXXX、

  • free:开源软件但是由于其他原因无法提供,安装方式 $>sudo yum localinstall --nogpgcheck https://download1.rpmfusion.org/free/el/rpmfusion-free-release-7.noarch.rpm

  • nonfree:闭源软件,包括不能用于商业用途,安装方式 $>sudo rpm -ivh https://download1.rpmfusion.org/nonfree/el/rpmfusion-nonfree-release-7.noarch.rpm

ELRepo

包含和硬件相关的驱动程序,通过以下命令安装

$>rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
$>rpm -Uvh http://www.elrepo.org/elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm

NuxDextop

包含与多媒体相关应用的RPM仓库,好像是个人作者维护,有的依赖 可能在EPEL源中,因此可能需要先安装EPEL,可能和其他源 (RPMFusion)有冲突,可以设置默认情况下不启用,即修改 /etc/yum.repos.d/nux.dextop.repo文件,设置enable=0, 开启时手动启用 $>yum --enablerepo=nux-dextop install PACKAGENAME

$>rpm -Uvh http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-5.el7.nux.noarch.rpm

装机必备

rhytmbox-mp3

centos7的gnome默认安装rhythmbox,但无法解码mp3,需要安装 rpmfusion-free源中的

  • gstreamer-plugins-ugly.x86_64
  • gstreamer1-plugins-ugly.x86_64

chromium

  • 安装EPEL源之后直接安装

  • flash插件

    ppapi好像就是pepperapi的简称,但是两个flash插件不一样, 安装的是pkgs上下载的,fedora社区维护的

  • html5视频播放支持:ffmpeg-libs google准备不再支持h.264格式(绝大部分)的视频,所以装 了这个还需要其他设置,但firefox可播放大部分html5视频

wqy中文字体

yum源里的字体文件都是*.ttc文件,需要*ttf字体文件,有 在线解压网站可以解压

安装包常识

  • app和app-devel/app-dev:后者包括头文件、链接库,在编译 使用了app的源代码才需要

系统配置

文件目录常识

  • /usr/share/applications里*.desktop是“桌面图标”文件, centos会 菜单中的会展示的“应用”就是这些

Linux 安装后常用配置

用户设置

设置 root 密码

  • Linux 安装之初,在设置 root 密码之前无法使用 $ su 切换到 root 用户,需要先设置root用户密码

    1
    $ sudo passwd root

应用设置

Debian

配置文件

  • Debian 源配置文件:/etc/apt/source.list
  • 修改完成后运行 $ sudo apt update 更新索引
  • 163 源:https://mirrors.163.com/.help/debian.html

    1
    2
    3
    4
    5
    6
    7
    8
    deb http://mirrors.163.com/debian/ <VERSION> main non-free contrib
    deb http://mirrors.163.com/debian/ <VERSION>-updates main non-free contrib
    deb http://mirrors.163.com/debian/ <VERSION>-backports main non-free contrib
    deb-src http://mirrors.163.com/debian/ <VERSION> main non-free contrib
    deb-src http://mirrors.163.com/debian/ <VERSION>-updates main non-free contrib
    deb-src http://mirrors.163.com/debian/ <VERSION>-backports main non-free contrib
    deb http://mirrors.163.com/debian-security/ <VERSION>/updates main non-free contrib
    deb-src http://mirrors.163.com/debian-security/ <VERSION>/updates main non-free contrib
  • USTC 源:https://mirrors.ustc.edu.cn/help/debian.html

    1
    2
    3
    4
    5
    6
    7
    8
    deb http://mirrors.ustc.edu.cn/debian/ <VERSION> main contrib non-free
    deb-src http://mirrors.ustc.edu.cn/debian/ <VERSION> main contrib non-free
    deb http://mirrors.ustc.edu.cn/debian/ <VERSION>-updates main contrib non-free
    deb-src http://mirrors.ustc.edu.cn/debian/ <VERSION>-updates main contrib non-free
    deb http://mirrors.ustc.edu.cn/debian/ <VERSION>-backports main contrib non-free
    deb-src http://mirrors.ustc.edu.cn/debian/ <VERSION>-backports main contrib non-free
    deb http://mirrors.ustc.edu.cn/debian-security/ <VERSION>/updates main contrib non-free
    deb-src http://mirrors.ustc.edu.cn/debian-security/ <VERSION>/updates main contrib non-free
  • debian 的版本名,根据版本改变
  • 一般的,直接将默认配置文件中 http://deb.debian.org 修改为相应源地址即可:$ sudo sed -i 's/deb.debian.org/<mirror_addr>/g' /etc/apt/sources.list

openSUSE

  • openSUSE 使用 MirrorBrain 技术,中央服务器会按照 IP 中转下载请求到附近的镜像,所以更改软件源通常只会加快刷新软件元的速度,对下载速度影响不大

命令行

  • USTC 源:https://mirrors.ustc.edu.cn/help/opensuse.html

    1
    2
    3
    4
    5
    6
    7
    8
    # 禁用原有软件源
    $ sudo zypper mr -da
    $ sudo zypper ar -fcg https://mirrors.ustc.edu.cn/opensuse/distribution/leap/\$releasever/repo/oss USTC:OSS
    $ sudo zypper ar -fcg https://mirrors.ustc.edu.cn/opensuse/distribution/leap/\$releasever/repo/non-oss USTC:NON-OSS
    $ sudo zypper ar -fcg https://mirrors.ustc.edu.cn/opensuse/update/leap/\$releasever/oss USTC:UPDATE-OSS
    $ sudo zypper ar -fcg https://mirrors.ustc.edu.cn/opensuse/update/leap/\$releasever/non-oss USTC:UPDATE-NON-OSS
    # 15.3 或更高版本需要
    $ sudo zypper ar -fgc https://mirrors.ustc.edu.cn/opensuse/update/leap/\$releasever/sle USTC:UPDATE-SLE
  • $releaseverOpenSuSe leap 版本,若知晓可以自行替换

配置文件

  • openSUSE 源配置文件夹:/etc/zypp/repo.d
  • 配置文件格式

    1
    2
    3
    4
    5
    [<ALIAS>]			# 源别名
    enabled=1 # 默认是否启用
    autorefresh=0
    baseurl=url # 源地址
    type=rpm-md

CentOS

  • 发行版中 yum 一般自带 fast-mirrors 插件,一般无需更新官方源

三方源配置

  • Extra Packages for Enterprise Linux:由 Fedora 社区创建、维护的 RPM 仓库,通常不会与官方源发生冲突或相互替换文件

    • 安装 EPEL$ sudo yum install epel-release
    • 包括应用有
      • Chromium
  • RPMFusion:提供 FedoraRedHat 由于开源协议或者是禁止商业用途而无法提供 RPM 安装包

    • 包括两个仓库freenofree
      • free:开源软件但是由于其他原因无法提供
      • non-free:闭源软件,包括不能用于商业用途
    • 包含应用有
      • mplayer
      • gstreamer-pluginsXXXX
  • ELRepo:包含和硬件相关的驱动程序

    • 安装
      1
      2
      $ rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
      $ rpm -Uvh http://www.elrepo.org/elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm
  • NuxDextop:包含与多媒体相关应用的 RPM 仓库

    • 安装
      1
      $ rpm -Uvh http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-5.el7.nux.noarch.rpm
    • 说明
      • 有的依赖在 EPEL 中,因此可能需要先安装 EPEL
      • 和其他源有(RPMFusion)冲突时
        • 可以设置默认情况下不启用,即修改 /etc/yum.repos.d/nux.dextop.repo 文件,设置 enable=0
        • 需要时手动启用:$ yum --enablerepo=nux-dextop install <PACKAGENAME>

应用安装方式

  • 包管理器

    • 安装应用比较方便
    • 但某些发行版中应用源更新缓慢
  • 自行下载二进制版本安装

    • Linux 大部分应用是 noarch,即与架构无关,无需考虑兼容问题
  • 下载源码编译安装

    • 安装流程
      • 查询文档安装编译依赖
      • ./configure配置编译选择,如:安装路径等
      • make & make install
  • 注意事项

    • 自行安装应用可以若设置安装路径不是推荐路径,记得检查环境变量 XXXX_HOME
    • 应用文件夹通常带有版本号,建议
      • 保留文件夹版本号
      • 另行创建无版本号符号链接指向所需版本文件夹

本地化

字体

  • 终端中字体需要为 monospace
    • 在多语言环境下,非 monospace 字体字符宽度不同,导致字符重叠
    • 字体名称不是字体文件名,其定义在字体文件内部定义
      • 指定未安装字体只能通过文件名
      • 指定已安装字体可直接使用字体名称

Locale

Locale:特定于某个国家、地区的编码设定

  • 代码页
  • 数字、货币、时间与日期格式