linux软件管理(yum,rpm)

(一)yum

Yellow dog Update Modify 的简写形式。YUM是改进版的RPM软件管理器,很好的解决了RPM所面临的软件包依赖问题,它可以从很多源中搜索软件以及它们的依赖包。使用YUM安装软件至少需要一个YUM源,YUM源就是存放有很多RPM软件的文件夹,用户可以使用HTTP,FTP或本地文件夹的方式访问YUM源。
1.虚拟机配置本地YUM源
1.1先下载一个与本机系统版本一致的镜像
本次实验所用的虚拟机系统版本为RHEL7.0
可通过 hostnamectl 命令查看

先将iso镜像刻入一个光驱内
virt-manager选择要导入镜像的虚拟机(关闭状态)
linux软件管理(yum,rpm)
点击上方的灯泡选择窗口下AddHardware
选Storge下CDROM device并选择iso 镜像路径
linux软件管理(yum,rpm)
光驱设置完毕
进入虚拟机挂载光驱
首先建立挂载点
mkdir /rhel7.0
mount /dev/sr0 /rhel7.0
linux软件管理(yum,rpm)
linux软件管理(yum,rpm)
切换到/etc/yum.repos.d/下
新建rhel7.0.repo并输入
[rhel7.0]
name=rhel7.0 ##名字
baseurl=file:///rhel7.0 ##本地镜像文件路径
gpgcheck=0 ##检查GPG-KEY,0代表允许安装非官方应用
退出
linux软件管理(yum,rpm)
linux软件管理(yum,rpm)
yum clean all ##清楚缓存
yum repolist ##显示可用的YUM仓库
linux软件管理(yum,rpm)
2.配置网络YUM源
同样在/etc/yum.repos.d/下建立一个以 .repo 结尾的文件
[rhel7.0]
name=rhel7.0 ##名字
baseurl=http://172.25.254.31 ##网络镜像文件路径
gpgcheck=0 ##检查GPG-KEY,0代表允许安装非官方应用
3.YUM源共享
yum install httpd -y ##安装httpd服务
systemctl stop firewalld ##关闭防火墙
systemctl disable firewalld ##开机不启动防火墙
systemctl start httpd ##开启httpd服务
systemctl enable httpd ##开机自启动httpd服务
linux软件管理(yum,rpm)
linux软件管理(yum,rpm)
mkdir /var/www/html/rhel7.0 ##创建挂载点
mount /dev/sr0 /var/www/html/rhel7.0
linux软件管理(yum,rpm)

这种挂载是暂时的,要想永久挂载就要修改系统文件
vim /etc/rc.d/rc.local
在文件中输入:
touch /var/lock/subsys/local
mount /dev/sr0 /var/www/html/rhel7.0
退出来给一个权限
chmod +x /etc/rc.d/rc.local

这个时候在浏览器中输入
http://172.25.254.31/rhel7.0即可看到上传的YUM源
linux软件管理(yum,rpm)

4.真机上设置YUM源并共享
仍然是hostnamectl先查看系统版本
linux软件管理(yum,rpm)
在真机中有两个iso 镜像,一个7.0,一个7.2
我们把这两个镜像都放到一个文件下
linux软件管理(yum,rpm)

建立挂载点
mkdir /rhel7.2
挂载
mount /iso/rhel-server-7.2-x86_64-dvd.iso /rhel7.2
linux软件管理(yum,rpm)

/etc/yum.repos.d下有.repo结尾的文件,为了避免影响,把他们都移到新文件夹Backup3里

新建rhel7.2.repo
[rhel7.2]
name=rhel7.2
baseurl=file:///rhel7.2
gpgcheck=0

yum clean all
yum repolist
linux软件管理(yum,rpm)
真机的本地本地YUM源就配置好了

共享YUM源
linux软件管理(yum,rpm)
mount /iso/rhel-server-7.2-x86_64-dvd.iso /var/www/html/rhel7.2
linux软件管理(yum,rpm)
永久更改
vim /etc/rc.d/rc.local
输入
linux软件管理(yum,rpm)
5.YUM的用法
yum clean all   ##清除原有YUM缓存
  repolist  ##列出仓库信息
  install software ##安装
  update   ##更新
  list software  ##查看软件
  list all   ##查看所有软件
  list installed  ##列出已安装的软件
  list available  ##列出可安装的软件
  reinstall software ##重新安装软件
  remove software ##卸载
  info software  ##查看软件信息
  search software  ##根据软件信息查找软件
  whatprovides file   ##根据文件找出包含此文件的软件
  groups list  ##列出软件组
  groups info  ##查看软件组信息
  groups install sfgroup  ##安装软件组

(二)rpm
rpm  -i   ##安装
  -v  ##显示过程
  -h  ##hash加密
  -e  ##卸载
  -q  ##查看
  -a  ##所有
  -p  ##软件包
  -ql  ##查看软件在系统中的安装文件路径
  -qlp  ##查看未安装的软件包在系统中如果安装后产生文件的路径
  -qf  ##根据某文件找出此文件属于哪个安装包
  -qc  ##查看软件的配置文件
  -qd  ##查看软件的帮助文件
  --scritps  ##查看脚本
  --nodeps  ##安装软件忽略软件依赖
  --force  ##强行安装软件
  -kv  ##检测软件包是否被篡改

以安装linuxqq-v1.0.2-beta1.i386.rpm 为例
rpm -i linuxqq-v1.0.2-beta1.i386.rpm
此时会报错,因为缺少很多依赖性文件
error: Failed dependencies:
libX11.so.6 is needed by linuxqq-v1.0.2-beta1.i386
libatk-1.0.so.0 is needed by linuxqq-v1.0.2-beta1.i386
libc.so.6 is needed by linuxqq-v1.0.2-beta1.i386
libc.so.6(GLIBC_2.0) is needed by linuxqq-v1.0.2-beta1.i386
libc.so.6(GLIBC_2.1) is needed by linuxqq-v1.0.2-beta1.i386
。。。。。。太多省略
可以通过yum whatprovides libX11.so.6找到依赖文件并安装