安装软件包的三种方法
rpm工具
与Windows下的exe比较类似,安装路径和文件名基本上是固定好的。
yum工具
属于Python开发的工具,操作对象是rpm包;yum工具最大的优势在于可以联网下载所需要的rpm包,然后自动安装。
源码包
需要用编译器把源码包编译成可执行的文件;优点是配置灵活,缺点难度较大。
rpm包介绍
挂载系统安装镜像,先检查VMware右下角的小光驱图标是否点亮,如果没有,点击连接就可以点亮,将光盘连接到Linux系统上。
然后挂载光驱,挂载到/mnt/目录下,然后进入/mnt/目录下,查看一些文件和目录
其中,有一个packages的目录中有很多.rpm文件,就是rpm包
从左到右可以划分为几个部分:包名、版本号、发布版本号、平台。
rpm工具的用法
安装rpm包,# rpm -ivh zsh-5.0.2-25.el7.x86_64.rpm
-i表示安装
-v表示可视化
-h表示显示安装进度
--force表示强制安装
--nodeps表示当要安装的rpm包依赖于其他包时,即使其他包没有安装,也要安装这个包
升级rpm包,# rpm -Uvh zsh-5.0.2-25.el7.x86_64.rpm
卸载rpm,#rpm -e zsh,不显示直接卸载属于正常
查询安装的包#rpm -qa,则出现很多安装过的包,可以卸载的
查询指定包是否安装,rpm -q [包名]
查询指定包信息,rpm -[qi] [包名]
列出包安装的文件,rpm [-ql] [包名]
根据绝对路径查询是由哪个包安装的,rpm [-qf] [绝对路径]
特殊命令反引号``
反引号的作用是先执行反引号内的命令,然后输出给当前命令行上执行
yum工具的用法
列出所有可用的rpm包,# yum list
yum配置文件
配置文件base的信息
搜索rpm包,yum search [相关关键词]
当然,这样搜索的不精确,要想更精确的搜索,可用这样的方法
安装包的命令,yum install [-y] [包名],-y表示不再询问是否安装
列出可用组,yum grouplist
输入LANG=en,可以英文显示
安装rpm包组,yum groupinstall [-y] [包的组名],可以用yum grouplist查看组名,用英文显示。
卸载rpm包,yum remove [-y] [包名],在卸载时会将目标文件所依赖的所有包同时卸载。
升级rpm包,yum update [-y] [包名],如果不加包名,则会升级系统内所有包和系统本身(一般在刚安装完系统是使用)
yum provides命令,通过已知的命令来搜索rpm包名,/*/通配符,命令路径不确定时,可使用代表路径
yum搭建本地仓库
步骤:
- 挂载镜像到/mnt/目录
- cp -r /etc/yum.repos.d /etc/yum.repos.d.bak 将文件和目录一同拷贝到另一个位置
- vim /etc/yum/repos.d/dvd.repo //内容如下 [dvd] name=install dvd baseurl=file:///mnt enable=1 gpgcheck=0
- yum clean all
- yum list
扩展
1、yum保留已经安装过的包
设置yum保留已经下载的rpm包,供以后升级或重新安装时使用
修改/etc/yum.conf文件
[main]
cachedir=/home/soft1/yumcache
keepcache=1
debuglevel=2
cachedir是设置下载包的地方,可以修改为自己想存放的位置
keepcashe为1 时,表示已经保存下载的rpm包
2、搭建局域网yum源
- 搭建Apache服务器或ftp服务器 yum安装或二进制包安装
- 准备RPM包把CentOS的DVD1和DVD2.iso都下载下来,把DVD1.iso里的所有内容解压出来,放到/var/www/html/centos-6目录下,然后把DVD2.iso解压出来的Packages目录下的rpm包复制到/var/html/centos-6/Packages目录下,这样/var/html/centos-6/Packages里面就有了6000多个rpm包。
- 创建yum仓库
准备createrepo:yum -y install createrepo
创建repository:createrepo /var/www/html/centos-6/
创建完成之后,会在/var/www/html/centos-6/repodata下生成一些文件。
- 使用软件源
在其他centos机器上试试软件源能不能用。
首先修改机器上软件源配置文件:
# cd /etc/yum.repos.d/
# mkdir bk
# mv *.repo bk/
# cp bk/CentOS-Base.repo ./
# vi CentOS-Base.repo
CentOS-Base.repo文件修改之后如下:
[base]
name=CentOS-$releasever - Base
baseurl=http://*.*.*.*/centos-6/
gpgcheck=1(改成0下面那行就不用设置了)
gpgkey=http:///*.*.*.*/centos-6/RPM-GPG-KEY-CentOS-6
enabled=1
#released updates
#[updates]
#name=CentOS-$releasever - Updates
#baseurl=http:///*.*.*.*/centos-6/
#gpgcheck=1
#gpgkey=http:///*.*.*.*/centos-6/RPM-GPG-KEY-CentOS-6
#enabled = 1
保存之后,就可以使用局域网的软件源了:
# yum update