标签:而且 httpd安装 import EDA ada 重做 dia adl str
1.采用rpm安装软件采用rpm安装时,主要有三个选项,分别是-i选项,-q选项,-V选项,这三个选项都有着若干个子选项,我们将会分条介绍这些选项。
1.-e选项
在介绍安装之前我们要先介绍卸载命令,这样我们就可以拿一个包进行反复试验,其命令如下:
rpm -e ftp
2.-i选项
-i 选项
单此一个选项,后面跟上安装包的路径,就是安装软件,我们ftp为例,将光盘挂载在/media下:
mount /dev/cdrom /media
安装命令如下:
rpm -i /media/Package/ftp-0.17-54.el6.x86_64.rpm
用-i选项不会显示任何安装信息,你甚至不知道有没有安装成功。
-v选项
-v选项的作用就是显示安装的详细信息,他是-i的子选项,只能配合-i使用,单独使用将没有任何意义,例如:
rpm -iv /media/Package/ftp-0.17-54.el6.x86_64.rpm
如果嫌弃这样显示的信息还不够详细,可以再加一个-v选项。
-h选项
-h选项的作用就是显示安装百分比,例如
rpm -ih /media/Package/ftp-0.17-54.el6.x86_64.rpm
所以最经典的安装选项搭配就是-ivh,这是我们安装软件过程中最常用的选项
--test选项
-test选项的用途是测试安装,并不真正的安装软件,我们可以测试当前环境能不能安装,例如:
rpm -i --test /media/Package/ftp-0.17-54.el6.x86_64.rpm
--nodeps选项
--nodeps选项是在安装软件时忽略依赖性关系,某些软件在安装时需要安装其他的软件,否则不能安装成功,这时如果使用--nodeps就可以忽略这些依赖性关系进行安装,例如:
rpm -i --test /media/Packages/samba4-4.2.10-9.el6.x86_64.rpm
rpm -i --nodeps --test /media/Packages/samba4-4.2.10-9.el6.x86_64.rpm
--replacepkgs选项
重复安装已经安装过的包,文件覆盖。例如:
rpm -i --replacepkgs /media/Packages/tree-1.5.3-3.el6.x86_64.rpm
--replacefiles选项
将要安装包的部分文件与其他已安装的包文件冲突,可继续安装,文件不覆盖。例如
--oldpackages选项
已安装过新版本,现在安装旧版本
--force选项
等同于 --replacepkgs, --replacefiles, and --oldpackage.例如
rpm -i --force /media/Packages/tree-1.5.3-3.el6.x86_64.rpm
--noscripts选项
安装时不执行rpm包中的脚本。在有些软件包中,存在一些脚本,当安装软件包时,会自行执行这些脚本,使用该选项就可以在安装过程中不执行这些软件包所携带的脚本。例如:
首先查看apache用户是否存在:
id apache
安装httpd,可能因为某些依赖关系而使得安装不成功,所以我们加上--nodeps选项命令如下:
rpm -ih --nodeps /media/Packages/httpd-2.4.6-80.el7.centos.x86_64.rpm
现在再查看用户apache是否存在;
id apache
我们可以发现安装httpd后,多出了一个名为apache的用户,我们并没有手工去创建他,为什么会出现呢?因为在httpd安装过程中,执行了创建apache用户的脚本,如果我们使用--noscripts选项,就不会有脚本执行。
3.-q选项
-q选项是查看当前安装软件包的信息,和-i选项相似,他也有着众多的子选项。
单-q一个选项是查看已安装包的描述信息,如果这个包没有安装,则提示没有安装,例如:
-a 选项
列出所有已安装的软件包,我们采用管道计算一下安装了多少软件包。
rpm -qa |wc -l
-f选项
查看指定文件来源自哪一个安装包,-f后跟的应该是文件的绝对路径。例如:
rpm -qf /etc/rc.d/init.d/function
-i选项
这个选项可以显示包的详细信息,不在演示。
-p选项
查询未安装的rpm包的信息,查询信息的数据来自于rpm包,-p后面应该加上rpm路径,例如
rpm -qi -p /media/Packages/ftp-0.17-54.el6.x86_64.rpm
--provides选项
查询某个包提供了哪些能力
rpm -q --provides httpd
--whatprovides选项
查询某个能力由哪一个rpm包提供,例如
rpm -q --whatprovides webserver
--whatrequires选项
查询某个能力被哪个rpm包所依赖,例如:
rpm -q --whatrequires webserver
--changelog选项
查询更新日志,这个选项用处不大,不做过多介绍。
-l
列出软件包提供的所有文件
-c
列出软件包提供的配置文件
-d
列出软件包提供的文档文件
这三个选项都是列出软件包提供的文件,但是只能列出已安装的软件提供的文件。例如
rpm -q -l httpd
rpm -q -c httpd
rpm -q -d httpd
这样可以列出httpd提供的所有文件,配置文件,文档文件。
3. -V选项
-V选项是用来进行包校验的,如果结果有下面的结果,说明,有内容被修改。
S file Size differs
M Mode differs (includes permissions and file type)
5 digest (formerly MD5 sum) differs
D Device major/minor number mismatch
L readLink(2) path mismatch
U User ownership differs
G Group ownership differs
T mTimediffers
P capabilities differ
例如:
rpm -V httpd
这时是什么都不会显示的,因为没有修改过httpd的任何文件,现在我往httpd.conf中第一行加入123.
再次执行上面命令,结果如下:
说明软件包被修改过了,具体修改了什么东西,可以参考上面。
当我们使用rpm安装软件时,我们会发现我们安装的包可能会依赖于其他文件,这些文件属于那些我们没有安装的包,当我们先行安装其他包时,这些软件包也有可能依赖于其他文件,如此层层递归下去,会使我们的安装过程中变得无比的繁琐,而且有些文件名和包名是相关的,有些则不是,此时我们根本不知道这些软件包来源于哪里,此时将会进退维谷,而yum是rpm的前端程序,可以解决软件包相关依赖性。可在多个库之间定位软件包。
想要使用yum,首先需要做的就是配置yum仓库,yum仓库文件在/etc/yum.repos
.d文件夹下,然后命名为.repo ,可以是任何内容,但一定要以repo结尾,内容格式如下:
[candvd]
name=Can
baseurl=file:///media
enabled=1
gpgcheck=0
gpgkey=file:///media/RPM-GPG-KEY-CentOS-6
其中[candvd]是仓库id,可以是任何内容,name即是仓库名,也可以是任何内容,baseurl是仓库指向的路径,如果是一个文件就是file:// 后面跟上文件的路径,如果是一个链接,即是跟上链接如:http://172.18.0.1/centos/$releasever ,路径或者链接一定要到包含repodata的目录,如上,路径是挂载的光盘的路径/media,而在/media下有着目录repodata,那么路径就到此处。enable是代表是否启用该仓库,1代表启用,0代表不启用,gpgcheck代表是否启用gpg验证,1代表启用,0代表不启用。gpgkey代表的是公钥,gpg是一种数据加密和数字签名的方法,能够保证数据传输的可靠性,centos光盘中有着gpgkey,我们可以使用下面的命令导入公钥:
rpm --import /media/RPM-GPG-KEY-CentOS-6
然后可以通过下面的命令查看是否导入成功:
rpm -qa "gpg-pubkey*"
结果如下:
当我们配置好一个仓库后,需要用两条命令使仓库生效,命令如下:
清空仓库缓存
yum clean all
重建仓库缓存
yum makecache
其实我们不需要重建yum仓库,当我们执行任意一条yum命令时,当没有仓库缓存时,系统会为我们自行重建仓库。
我们可以用下面的命令来查看我们的仓库:
yum repolist
可以看到现在有着三个仓库,id分别为base,candvd,epel,两个是我先行配置的网络仓库,使用的是教室服务器所提供的yum源,还有一个是本地的光盘源,这三个yum源一共提供25767个软件包。
repolist 还有三个选项,第一个是enabled也是系统默认的,显示激活的仓库,我们将base禁用掉,再查看,可以发现不在显示base仓库。
第二个选项是disabled,显示禁用的仓库:
第三个是all,显示所有仓库:
使用yum安装的方法是yum install +包名,也可以同时安装多个包,加上-y是非交互式安装。命令如下:
yum install -y 包1 包2 ...包n
yum list 可以列出仓库以及系统所提供的所有包,相当于yum list all,可以接仓库的id,如果最后一列显示是仓库id,那么表示该软件包时属于该仓库未安装的包;如果显示的是@加仓库id,那么该软件包是已安装的包,并且属于该仓库;如果是@anaconda 该包已安装,且是从操作系统的安装程序anaconda安装的。
yum list 可以跟选项,接all 就是列出所有包,默认是all,接updates就是列出所有可更新的包,接installed就是列出所有已安装的包,如果最后一列是@repoid 表示该包安装自指定的仓库,如果是installed 表示该包由rpm命令手工安装,例如:
reinstall选项,能够重新安装指定的包名,命令如下:
yum reinstall -y +包名
update选项,能够更新指定的包,如:
yum update tree
remove选项,能够卸载指定的包,如:
yum remove tree -y
info选项,能够查看指定包的详细信息,如:
yum info tree
provides选项,能够搜索某一个文件来自哪个软件包,可以是未安装的软件包,如:
yum provides "*/rz"
search选项,能够模糊搜索,搜索的是软件包和软件包的描述信息,例如:
yum search ftp
deplist选项,能够列出指定包所依赖的所有包,例如:
yum deplist tree
history选项,能够列出所有的yum历史,例如:
info加上history编号,能够查看某条历史的详细信息,例如:
yum history info 12
history redo 重做某条历史,history undo 撤销某条历史。
yum [local]install /path/*.rpm 可以安装本地包。
yum包组:
yum grouplist 列出所有的包组名
yum groupinfo ‘包组名‘ 查看指定包组中包含哪个包
yum groupinstall ‘包组名‘
yum groupupdate ‘包组名‘
yum groupremove ‘包组名‘
dnf是一个较新的安装命令,centos6不支持dnf,可以在centos7上安装dnf,dnf安装速度比yum要快的多,但是几乎所有的yum选项dnf都支持,并且dnf与yum共享数据库,具体安装命令如下:
yum install -y dnf
安装dnf首先是要有dnf的源,可以从网路途径获取,当安装dnf后,会发现,dnf使用的仓库即是yum的仓库。
安装dnf后,我们可以像使用yum那样使用dnf进行安装软件,例如:
dnf install -y tree
标签:而且 httpd安装 import EDA ada 重做 dia adl str
原文地址:http://blog.51cto.com/13412442/2154315