3.4 软件安装 #
3.4.1 软件包管理器 #
包管理器是方便软件安装、卸载,解决软件依赖关系的重要工具。
- CentOS、RedHat 使用 yum 包管理器,软件安装包格式为 rpm。
- Debian、Ubuntu 使用 apt 包管理器,软件安装包格式为 deb。
3.4.2 rpm 包和 rpm 命令 #
包格式 #
命令常用参数 #
- -q 查询软件包,-qa 查看所有。
rpm -qa
-
-i 安装软件包
-
-e 卸载软件包
问题 #
使用 rpm 时需要手动解决依赖关系,在实际应用中用的不多,常用 yum 命令安装。软件包来源不可靠。
3.4.3 yum 仓库 #
修改 yum 源 #
阿里巴巴官方镜像站 https://developer.aliyun.com/mirror/
经常需要安装 epel 来扩展 yum 仓库源,不常见的一些软件可以通过 epel 仓库来安装:
yum install epel-release -y
常用选项 #
- install 安装软件包
- remove 卸载软件包
- list | grouplist 查看软件包
- update 升级软件包
yum update 如果加上软件包名会去升级指定的软件,如果什么都不加会去升级所有的软件包。
3.4.4 源代码编译安装 #
有时 yum 源中没有最新的软件包,这时可以通过源代码编译安装的方式。
以下通过编译安装 openresty 示例:
wget https://openresty.org/download/openresty-1.15.8.1.tar.gz ## 下载
tar -zxf openresty-1.15.8.1.tar.gz
cd openresty-1.15.8.1/
./configure --prefix=/usr/local/openresty ## prefix 指定安装目录
make -j2 # -j2 使用 2 个逻辑 CPU 进行编译,如果代码之间没有一定的依赖关系一般会加快编译速度
make install
安装过程中可能需要 gcc 和 c++,需要提前安装下:
yum install gcc gcc-c++
如果遇到以下错误:
./configure: error: the HTTP rewrite module requires the PCRE library
需要安装下 pcre
yum install pcre-devel
如果遇到以下错误
error: SSL modules require the OpenSSL library
需要安装下 openssl
yum -y install openssl openssl-devel
通过安装 openresty 可知,在安装过程中需要手动去解决依赖关系,而且经常不能一次性的去解决,往往需要通过经验和 google 才能解决问题,这也是源代码编译安装不太流行的原因。
3.4.5 内核升级 #
查看内核版本可以使用 uname -r
。
yum 方式 #
uname -r
yum update # 升级已安装的其他软件包和补丁
yum install kernel-3.10.0 # 升级内核版本
源代码方式 #
源代码方式并不推荐,因为不会自动解决依赖关系,需要手动去解决。编译内核根分区至少要有 10G 的空间,如果小于 10G 可能会出现安装失败的情况。
# 1. 安装依赖包
yum install gcc gcc-c++ make ncurses-devel openssl-devel elfutils-libelf-devel -y
# 2. 去官方网站下载并解压缩内核 https://www.kernel.org
# 可以在 https://mirrors.edge.kernel.org/pub/linux/kernel/ 这里找到需要的版本
wget https://mirrors.edge.kernel.org/pub/linux/kernel/v5.x/linux-5.1.10.tar.xz
tar xvf linux-5.1.10.tar.xz -C /usr/src/kernels
# 3. 配置内核编译参数(可选),可以直接使用当前系统的配置,参看 4
cd /usr/src/kernels/linux-5.1.10/
make menuconfig | allyesconfig | allnoconfig # make menuconfig allyesconfig 所有我都选 yes..
# 4. 使用当前系统内核配置
cp /boot/config-kernelversion.platform /usr/src/kernels/linux-5.1.10/.config # kernelversion 内核版本 platform 平台,比如 config-3.10.0-957.el7.x86_64
# 5. 查看CPU
lscpu
# 6. 编译
make -j2 all
# 7. 安装内核
make modules_install
make install
安装成功后 reboot 重启引导使用新内核启动即可。
3.4.6 grub 配置文件 #
grub 全称 “Grand unified bootloader”,是 GNU 项目的一个启动加载包。grub 的作用就是负责加载所选择的内核,当有多个系统内核时,可以手动选择要启动的系统,在 grub 图形界面上有多系统选项菜单。
- /etc/default/grub 模板的一些配置
- /etc/grub.d/ 在这个文件夹下有写高级配置
- /boot/grub2/grub.cfg 不直接编辑,通过命令生成
grub2-mkconfig -o /boot/grub2/grub.cfg
常见配置项 #
- 引导内核
grub2-editenv list # 查看当前引导内核
grep ^menu /boot/grub2/grub.cfg # 查看有几个内核版本
grub2-set-default X # 设置引导内核,X 从 0 开始
- 查看错误信息
当内核引导出现问题时,可以把 GRUB_CMDLINE_LINUX 配置中的rhgb quiet
参数去掉,让打印出更详细的信息。