linux 软件管理
目录
- rpm
- yum
- yum私有仓库
- yum升级内核
- 编译
centos7挂载光盘,查看光盘自带的rpm包
yum install -y autofs systemctl enable --now autofs cd /misc/cd/Packages/
rpm常用参数
安装
rpm -ivh zip-3.0-11.el7.x86_64.rpm
卸载
rpm -e
rpm -e --nodeps # 忽略依赖卸载
查看指定程序安装后生成的所有文件
rpm -ql rsync
查看软件包信息
rpm -qi rsync
查看一个文件来自哪个软件包
rpm -qf /usr/lib/systemd/system/rsyncd.service
查看软件的配置文件
rpm -qc rsync
查看软件的文档
rpm -qd rsync
yum的工作模式
yum是基于c/s模式进行工作的,yum的服务端会创建yum repository,在仓库中存储了rpm包和与这些rpm包相关的元数据(放在repodata目录下),当yum客户端使用yum安装工具时,
会自动下载yum服务端上的元数据,从元数据中查询是否存在相关的rpm包和依赖关系,如果有。就会从远程仓库中找到相关rpm包下载安装
yum客户端配置文件
/etc/yum.conf # 所有仓库公共配置项 /etc/yum.repos.d/*.repo # 单独的yum仓库配置文件
yum仓库配置文件
[epel] # 仓库id name=Extra Packages for Enterprise Linux 7 - $basearch # 仓库描述 baseurl=http://mirrors.aliyun.com/epel/7/$basearch # 仓库路径,和repodata同一目录,支持file本地路径,http,https,ftp
failovermethod=priority enabled=1 gpgcheck=0 # 开启校验 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
yum配置中的一些变量
$releasever: 当前OS的发行版的主版本号,如:8,7,6 $arch: CPU架构,如:aarch64, i586, i686,x86_64等 $basearch:系统基础平台;i386, x86_64 $contentdir:表示目录,比如:centos-8,centos-7 $YUM0-$YUM9:自定义变量
yum常用命令
yum repolist # 查看所有源
查看程序包
yum list # 查看所有程序包
yum list mariadb-server # 查看某个程序包
查看文件在哪个包中
yum provides
查看程序包信息
yum info mariadb-server
卸载
yum remove
创建yum私有仓库
创建局域网内基于Base的yum源
yum -y install httpd systemctl enable --now httpd mkdir /var/www/html/centos/7 mount /dev/sr0 /mnt/ # 挂载完整的系统盘,将系统盘中的安装包复制到仓库服务器 cp -a /mnt/* /var/www/html/centos/7
yum客户端配置
[base] name=oct base baseurl=http://10.0.0.106/centos/7/ gpgcheck=0
从阿里云下载epel源,制作局域网的epel源
# 先配置后本机的epel源,然后将阿里源上的epel和元数据下载到本机,之后在yum客户端添加对应yum yum install -y yum-utils.noarch reposync --repoid=epel --download-metadata -p /var/www/html/
升级内核
yum install https://www.elrepo.org/elrepo-release-7.el7.elrepo.noarch.rpm # 生成elrepo源
修改 elrepo.repo,将里边的kernel源启用
[elrepo-kernel] name=ELRepo.org Community Enterprise Linux Kernel Repository - el7 baseurl=http://elrepo.org/linux/kernel/el7/$basearch/ http://mirrors.coreix.net/elrepo/kernel/el7/$basearch/ http://mirror.rackspace.com/elrepo/kernel/el7/$basearch/ http://linux-mirrors.fnal.gov/linux/elrepo/kernel/el7/$basearch/ mirrorlist=http://mirrors.elrepo.org/mirrors-elrepo-kernel.el7 enabled=1 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-elrepo.org protect=0
查看相关内核包
yum list *kernel*
安装稳定版
yum install -y kernel-lt.x86_64
安装之后重启,在开机界面可以选择使用内核
编译安装
- ./configure 通过脚本选项传递参数,生成Makefile文件,如果源码包有makefile文件则不用./confgure
- make 根据Makefile文件,检测依赖的环境,构建应用程序
- make install 复制文件到相应路径
系统最小化安装之后建议安装的软件包
yum install -y gcc make autoconf gcc-c++ glibc glibc-devel pcre pcre-devel openssl openssl-devel systemd-devel zlib-devel vim lrzsz tree tmux lsof tcpdump wget net-tools iotop bc bzip2 zip unzip nfs-utils man-pages
编译安装tree
[root@Centos7 /]# wget http://mama.indstate.edu/users/ice/tree/src/tree-1.7.0.tgz [root@Centos7 /]# tar zxvf tree-1.7.0.tgz -C /usr/local/src/ [root@Centos7 /]# cd /usr/local/src/tree-1.7.0/ # 源码包里没有./configure脚本。直接修改Makefile [root@Centos7 tree-1.7.0]# make -j 4 # 多核编译 [root@Centos7 tree-1.7.0]# make install