(1)rpm工具
(2)yum工具
(3)源码包
RPM是 “Redhat Package Manager” 的缩写,是以一种数据库记录的方式来将你所需要的套件安装到你的Linux 主机的一套管理程序。也就是说,你的linux系统中存在着一个关于RPM的数据库,它记录了安装的包以及包与包之间依赖相关性。
RPM包是预先在linux机器上编译好并打包好的文件,安装起来非常快捷。但是也有一些缺点,比如安装的环境必须与编译时的环境一致或者相当;包与包之间存在着相互依赖的情况;卸载包时需要先把依赖的包卸载掉,如果依赖的包是系统所必须的,那就不能卸载这个包,否则会造成系统崩溃。
如果你的光驱中还有系统安装盘的话,我们可以通过 mount /dev/cdrom /mnt 命令把光驱挂载到/mnt目录下,那么你会在/mnt/Packages目录下看到很多.rpm的文件,这就是RPM包了。
mount /dev/cdrom /mnt #挂载光驱
rpm包格式:
包名,版本号,发布版本号,平台,例如:
python-2.7.5-58.el7.x86_64.rpm
rpm -ivh rpm包文件 //安装
rpm -Uvh rpm包文件 //升级
rpm -e 包名 //卸载
rpm -qa //查询安装的包
rpm -q 包名 //查询指定的包是否安装
rpm -qi 包名 //查询指定包信息
rpm -ql 包名 //列出包安装的文件
rpm -qf 文件绝对路径 //查看一个文件是由哪个包安装的
<------------------------------------------------------------------------------------->
[root@localhost mnt]# rpm -ivh Packages/zsh-5.0.2-28.el7.x86_64.rpm
准备中... ################################# [100%]
正在升级/安装...
1:zsh-5.0.2-28.el7 ################################# [100%]
[root@localhost mnt]# rpm -e zsh
[root@localhost mnt]# rpm -qa | grep zip
zip-3.0-11.el7.x86_64
gzip-1.5-9.el7.x86_64
bzip2-libs-1.0.6-13.el7.x86_64
bzip2-1.0.6-13.el7.x86_64
unzip-6.0-16.el7.x86_64
[root@localhost mnt]# rpm -q zip
zip-3.0-11.el7.x86_64
[root@localhost mnt]# rpm -qi zip
Name : zip
Version : 3.0
Release : 11.el7
Architecture: x86_64
Install Date: 2018年01月06日 星期六 21时24分51秒
Group : Applications/Archiving
Size : 815173
License : BSD
Signature : RSA/SHA256, 2016年11月21日 星期一 05时04分58秒, Key ID 24c6a8a7f4a80eb5
Source RPM : zip-3.0-11.el7.src.rpm
Build Date : 2016年11月06日 星期日 00时49分55秒
Build Host : worker1.bsys.centos.org
Relocations : (not relocatable)
Packager : CentOS BuildSystem <http://bugs.centos.org>
Vendor : CentOS
URL : http://www.info-zip.org/Zip.html
Summary : A file compression and packaging utility compatible with PKZIP
Description :
The zip program is a compression and file packaging utility. Zip is
analogous to a combination of the UNIX tar and compress commands and
is compatible with PKZIP (a compression and file packaging utility for
MS-DOS systems).
Install the zip package if you need to compress files using the zip
program.
[root@localhost mnt]# rpm -ql zip
/usr/bin/zip
/usr/bin/zipcloak
/usr/bin/zipnote
/usr/bin/zipsplit
/usr/share/doc/zip-3.0
/usr/share/doc/zip-3.0/CHANGES
/usr/share/doc/zip-3.0/LICENSE
/usr/share/doc/zip-3.0/README
/usr/share/doc/zip-3.0/README.CR
/usr/share/doc/zip-3.0/TODO
/usr/share/doc/zip-3.0/WHATSNEW
/usr/share/doc/zip-3.0/WHERE
/usr/share/doc/zip-3.0/algorith.txt
/usr/share/man/man1/zip.1.gz
/usr/share/man/man1/zipcloak.1.gz
/usr/share/man/man1/zipnote.1.gz
/usr/share/man/man1/zipsplit.1.gz
[root@localhost mnt]# rpm -qf /usr/bin/ls
coreutils-8.22-18.el7.x86_64
[root@localhost mnt]#
[root@localhost mnt]# rpm -qf which cd
#先查询cd的绝对路径然后将查询到的结果传给rpm去查询,此处`是反引号
bash-4.2.46-28.el7.x86_64
[root@localhost mnt]#
<------------------------------------------------------------------------------------->
yum与rpm工具不同之处在于yum能自动解决包依赖关系,不像rpm需要手动去安装依赖的包.
yum list //列出系统中可用的rpm包
yum list | grep ‘vim‘ //搜索含有vim的包名
ls /etc/yum.repos.d/ //查看yum相关的配置文件,比较重要的有/etc/yum.repos.d/CentOS-Base.repo
yum search 包名 //搜索一个包
yum install [-y] //安装一个包
yum remove [-y] //卸载一个包(比较危险,谨慎使用!)
yum grouplist //列出系统中可用的组
yum groupinstall [-y] #安装组(里的所有包)
yum update [-y] #升级一个包
yum provides "/*/vim" #搜索包喊该命令的所有的包
<------------------------------------------------------------------------------------>
[root@localhost yum.repos.d]# yum grouplist
已加载插件:fastestmirror
没有安装组信息文件
Maybe run: yum groups mark convert (see man yum)
Loading mirror speeds from cached hostfile
我们通过yum安装一个包时,yum默认会连接到远程的仓库去下载并安装,这是在/etc/yum.repos.d/CentOS-Base.repo中配
置的.如果访问不了网络又想使用yum,则可搭建本地的yum仓库,方法如下:
(1)首先,要有光盘镜像可供使用(提供这些包啊)
(2)挂载镜像到/mnt目录
(3)先备份yum配置目录/etc/yum.repos.d/
cp -r /etc/yum.repos.d /etc/yum.repos.d.bak
(4)删除yum配置目录/etc/yum.repos.d下所有配置文件
rm -f /etc/yum.repos.d/*
(5)vim /etc/yum.repos.d/dvd.repo //内容如下:
[dvd]
name=install dvd
baseurl=file:///mnt
enable=1
gpgcheck=0
(6)yum clean all #清除yum历史信息
(7)yum list #查看新的可用的包
原文:http://blog.51cto.com/13517946/2058833