7.1 安装软件包的三种方法
- 在Linux下安装软件包,主要有3种办法
(1)rpm工具(手动安装,难点在于包的依赖关系)
(2)yum工具(python开发出来的工具,操作对象rpm包,能自动解决软件包的依赖关系)
(3)源码包(源码包需要同过编译器把该源码包编译成可执行的文件)【安装难度大】
7.2 rpm包介绍
- 要想使用rpm工具,得先有rpm包。先将光盘连接到系统中,再使用mount命令挂载,就能查看里面的内容了
(1)在VMware中将光盘放入系统,点击连接
(2)挂载光盘到/mnt/目录下,切换到/mnt/目录下,查看Packages中就是rpm包
mount /dev/cdrom /mnt/
pykickstart-1.99.66.12-1.el7.noarch.rpm
pykickstart :包名
1.99.66.12:版本信息
1.el7.noarch:发布版本号,并且没有硬件平台限制。(x86_64为64位平台)(i386.i586.i686都是为32位平台)
rpm ;后缀名
7.3 rpm工具用法
- 安装rmp包
rpm -ivh zip-3.0-11.el7.x86_64.rpm //初次安装需要写上包全名
-v :表示可视化
-i :表示安装
-h :表示显示安装进度
该包已经安装过了,所以会显示为这样。
- 升级RPM包
rpm -Uvh zip-3.1-11.el7.x86_64.rpm //如果安装的软件出现了更新的版本,可以使用-U选项来升级它。升级软件包也需要写入包全名。
- 卸载RPM包
rpm -e zip //卸载时只需要写入包名即可,没有任何提示,则说明已经卸载。提示错误的话,说明要解决它的依赖性。
- 查询已安装的包
rpm -qa
以上均是已经安装的包。
- 查询一个包是否已经安装
rpm -q zip //这里的包是需要写入包名即可。
- 查看一个已安装的RPM包的相关信息
rpm -qi kbd //写包名即可
- 列出一个RPM包的安装文件
rpm -ql zip //查看安装zip包后都安装了哪些文件
- 通过某个文件属于哪个RPM包来安装的
rpm -qf /usr/bin/zip //文件的绝对路径
当某个命令忘记了绝对路径,又不想分2步来查询。那么可以后面跟which cd
(这里的符号时反引号)
rpm -qf `which cd` /这里写入的命令不能是带有alias的
7.4 yum工具用法
- 因为RPM工具在安装包时,需要安装它所依赖的包,当依赖的包太多时,那么安装起来是一件很痛苦的事情,yum工具得出现就可以很好的解决包的依赖性,它会自动的安装所依赖的包。还有一个好处是使用yum安装时,仅仅是写入包名即可,而rpm安装时,是需要写入包全名的
- 列出所有可用的RPM包
yum list
关于这里的仓库名是怎么来的,可以查看yum的配置文件/etc/yum.repos.d/
仓库是从下面的网址来查找的
- 搜索RPM包
yum search network //搜索的比较模糊
yum list |grep "network //只查找出包名中出现network的包"
- 安装rpm包
yum install vim //安装中会出现交互提示,如果只想直接安装可以使用-y选项
- 列出可用组
yum grouplist
安装可用组时,需要切换到英文显示。这样才可以安装,包名中出现空格时,需要用单引号括起来yum groupinstall 可用组包名
- 卸载RPM包
yum remove vim //卸载时不要加-y选项,因为如果要卸载的依赖包又是系统所需要的,那么继续卸载有可能会导致系统异常,不加-y也可以查看到它所依赖的包都有哪些
- 升级包
yum update 包名 //使用在刚安装完系统可以使用。如果系统中有已经运行了一段时间的服务,那么这时去升级可能会出现问题
- 查询一个命令是由哪个包来安装的
yum provides "/*/vim" //在系统中查询该命令对应的安装包
7.5 yum搭建本地仓库
- 有时候,yum不能使用,是因为系统不能连网,这时就需要自己在系统中使用光盘制作yum源,让它来本地中寻找RPM包。
(1)挂载光盘
```
(2)删除/etc/yum.repos.d/目录下的所有repos文件(在删除之前,应该做备份)
cp /etc/yum.repos.d /etc/yum.repos.d_bak
“`
(3)创建新文件dvd.repo,并加入以下内容
(4)清理之前的缓存 yum clean all
(5)再使用yum list 来查看是否成功
使用yum保留下载的rpm包
可以设置使yum保留已经下载的rpm包,供以后升级或者重新安装时使用
修改/etc/yum.conf即可(这是个新文件)
[main]
cachedir=/home/soft1/yumcache
keepcache=1
debuglevel=2
——cachedir是防止下载的包的地方,可以自定义
keepcache=1表示保存已经下载的rpm包