Linux安装软件

看鸟哥私房菜服务器架设篇第三版

Linux安装软件

1.常见安装方式RPM和DPKG
RPM
使用指令:rpm,rpmbuild
在线升级指令:YUM(yum)
DPKG
使用指令:dpkg
在线升级指令:APT(apt-get)


2.RPM与SRPM
RPM:文件格式xxx.rpm,可直接安装,内含已编译的程序,不可修改参数并编译
SRPM:文件格式xxx.src.rpm,不可直接安装,内含未编译的原始码,可以修改参数并编译后安装


3.相关目录说明
/var/lib/rpm/:RPM保存安装信息的数据库文件目录
/etc/:配置文件放置的目录
/usr/bin/:可执行文件目录
/usr/lib/:程序使用的动态函数库
/usr/share/doc/:基本的软件使用手册与说明文件
/usr/share/man/:man page文件

4.使用RPM安装软件

4.1 安装软件
rpm -i xxx.rpm
rpm -ivh xxx.rpm
-i:安装
-v:查看详细的安装信息
-h:以安装信息列显示安装进度

4.2 安装两个以上的软件
rpm -ivh a.rpm b.rpm

4.3 以网址安装软件
rpm -ivh http://xxx.com/path/xxx.rpm

4.4 RPM安装时常用选项
--nodeps:发生软件属性依赖问题无法安装时,强制安装
--replacefiles:如果软件以安装或版本冲突时,直接覆盖文件
--replacepkgs:软件已经安装过,重复安装
--force:--replacefiles和--replacepkgs综合
--test:测试软件是否可以安装,可找出属性依赖的问题
--justdb:由于RPM数据库损坏或者某些原因产生错误时,更新软件在数据库内的相关信息
--nosignature:略过数字签名的检查
--prefix 新路径:安装软件到其他目录,而非/bin、/etc等正规目录
--noscripts:不让软件在安装过程中执行某些系统指令

4.5软件升级
-Uvh:如果软件没有安装过则直接安装,安装过则更新到新版
-Fvh:如果软件没有安装过则不安装

5.RPM查询参数
如 rpm -qa 软件名称
-q:仅查询软件是否有安装
-qa:列出所有的已经安装在系统上的该软件
-qi:列出该软件的详细信息,包含开发商、版本和说明等
-ql:列出该软件所有的文件与目录
-qc:列出该软件的所有配置文件
-qd:列出该软件的所有说明文件
-qR:列出该软件有关的依赖软件
-qf:根据文件名找出属于哪一个已安装的软件
如 rpm -qf /etc/httpd/conf/httpd.conf,要目录或文件的完整路径
-qp[icdlR]:-qp后接的参数与上面说明一致,仅用于找出某个RPM文件内的信息,
非安装的软件信息,后面跟的是RPM文件

如查找以c开头的软件有哪些
rpm -qa | grep ^c
查询有几个
rpm -qa | grep ^c|wc -l

6.验证参数
-V:后面跟软件名称,若该软件所含的文件被修改过才会列出来
-Va:后面可以跟软件名称或无参数,列出目前系统上所有可能被修改过的文件
无参数时列出全部
-Vp:后面加RPM文件,列出该软件内可能被修改过的文件
-Vf:后面跟文件或目录的完整路径,列出其所属软件被修改过的文件

例如运行rpm -Va vsftpd,显示:
S.5....T.  c /etc/pam.d/vsftpd
.......T.  c /etc/vsftpd/ftpusers
.......T.  c /etc/vsftpd/user_list
S.5....T.  c /etc/vsftpd/vsftpd.conf
S代表文件大小被改变,无改变不显示,详细说明如下:
S:文件大小是否改变
M:文件类型或文件属性是否改变
5:MD5内容已经不同
D:装置的主次代码已经改变
L:Link路径已经改变
U:文件的所属人已经改变
G:文件的所属群组已经改变
T:文件的建立时间被改变

c代表配置文件,属于文件类型,详细说明如下:
c:配置文件
d:文件数据文件
g:该文件不被某个软件所包含
l:许可证文件
r:自述文件

7.软件卸载
rpm -e 软件名称
如果有依赖问题要强制卸载
rpm -e 软件名称 --nodeps

8.重建RPM数据库
rpm --rebuilddb

9.SRPM:rpmbuild
--rebuild:编译并打包成RPM,但不会安装
--recompile:编译打包并安装


编译并同时产生RPM与SRPM文件
rpmbuild -ba xxx.spec
编译成RPM文件
rpmbuild -bb xxx.spec


 

猜你喜欢

转载自xujava.iteye.com/blog/2102405