1. rpm软件包管理
rpm全称是redhat package manager, 只能用于redhat系列系统的软件包管理,如RHEL、Centos、fedora
本文中光盘镜像挂载到/mnt下。
系统自带rpm包存放在./mnt/Packages下, ls | wc -l 可以查出系统自带rpm包的数目。
(1)安装rpm包
rpm -ivh /mnt/Packages/XXX.rpm
如果出现以来关系,可以强制忽略:
rpm -ivh /mnt/Packages/XXX.rpm
(2)rpm 相关参数
zsh是否安装
rpm -q zsh
包含多个rpm包的软件是否安装:
rpm -qa | grep zsh
zsh安装后生成了那些文件:
rpm -ql zsh
zsh这个文件是哪个软件安装的:
zsh 是哪个包安装的:
rp -qf `which zsh`
没安装软件之前查询安装后会生成那些文件:
rpm -qpl /mnt/Packages/zshXXX.rpm
升级指定软件包:
rpm -Uvh /mnt/Packahges/zshXXX.rpm
卸载软件:
rpm -e zsh
强制卸载,即使有依赖,可能会存在问题:
rpm -e zsh --nodeps
验证rpm包的完整性:
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
2. yum 软件管理
使用rpm安装软件,用户需要自己处理依赖关系,使用yum可以解决这个问题,即yum会自动解决软件管理过程中遇到的依赖问题。
yum会自动下载软件包然后安装,yum基于C/S架构,本文使用本地yum源。
(1)配置本地yum源
备份yum源配置文件:
cp /etc/yum.repos.d/rhel-source.repo /etc/yum.repod/rhel-source.repo.bak #配置文件在修改前都需要进行备份。
清除已经有的信息:
echo > /etc/yum.repos.d/rhel-source.repo
写入新的配置信息:
[rhel-yum] #yum源名称,此名称唯一,用于区分不同的yum源。
name=rhel-source #对本yum源的描述
baseurl=file:///mnt #yum源的路径,即repodata目录所在的目录,repodata里面存放的是包之间的依赖关系
enabled=1 # 1 : 启动yum源, 0:关闭
gpgcheck=0 #不进行公钥检查。
(2)后续配置
清空yum缓存,更新yum源
yum clean all
生成新的列表
yum list
至此本地yum源配置完成
(3)验证
安装zsh
yum install -y zsh
(4)安装一组软件包
yum groupinstall "Development tools" -y
yum grouplist
(5)查询
yum list z*
yum search zsh
查询一个包的作用:
rpm -qpi /mnt/Packages/zshXXX
(6)删除
yum remove zsh -y
3. 源码安装软件包
源码安装因方式因软件而异,以源码包自带的说明为主。
(1)一般的源码安装即安装三把斧:
./configure #检查环境
make #编译, make -j 4 4线程编译, 加快编译速度
make install #安装,make install -j 4 4线程安装。
(2)卸载
make uninstall #此种方法有时会删不干净,因此建议直接找到安装目录将安装目录删除即可。
(3)再次编译时
make clean
./configure --prefix=XXX (安装路径)
make -j 4
mkae install -j 4
4. rpm yum和源码安装的比较
rpm+yum:方便,软件版本低。稳定性好、管理方便。性能稍差。
源码手动:麻烦,软件版本新。稳定性稍差、管理稍差。性能好。
5. 安装src.rpm包
之所以有src.rpm是因为rpm包只能在redhat系列安装,因此提供src.rpm由用户根据自己需要安装即可。
rpmbuild --rebuild lrzszXXX.src.rpm
/root/rpmbuild/RPMS/x86_64/下生成对应的rpm文件,用上述方法安装即可。