程序的安装及管理
了解应用程序(软件),rpm管理命令,源码安装
1.了解应用程序
应用程序(app):安装在os上完成特定功能的软件。
应用程序的类型:*.rpm(redhat分支默认软件格式),*.deb(debian分支默认软件格式),源代码(通用的软件格式,也是生成rpm和deb的基础),其他自带安装程序及免安装的软件。
用户程序常用的目录:/etc,/var/log(日志文件),/usr/share/doc/(说明文档),/usr/bin(存放可运行的命令)
2.rpm管理命令:
1)了解rpm
a.rpm是redhat推出的包管理机制,作用是用数据记录软件的增删改查等信息方便维护,能自动分析软件间依赖关系,方便安装软件。
b.rpm软件的格式:
软件的名称-版本-发布次数-os的平台-硬件平台(32、64).rpm
i386/i586/i686=32位
x86_64=64位
zlib-devel-1.2.3-29.el6.x86_64.rpm zlib-static-1.2.3-29.el6.x86_64.rpm zsh-4.3.10-7.el6.x86_64.rpm zsh-html-4.3.10-7.el6.x86_64.rpm
2)rpm查询功能:
语法:rpm -q[子选项] [软件包]
案例:
rpm -qa |grep man ##查看man软件是否安装,-a列出所有安装软件
[root@leslie ~]# rpm -qa |grep man pixman-0.26.2-5.el6_4.x86_64 man-1.6f-32.el6.x86_64 libsemanage-2.0.43-4.2.el6.x86_64
rpm -qi tar ##查看软件信息
[root@leslie ~]# rpm -qi tar Name : tar Relocations: (not relocatable) Version : 1.23 Vendor: CentOS Release : 11.el6 Build Date: 2013年02月22日 星期五 10时26分10秒 Install Date: 2016年03月12日 星期六 04时33分49秒 Build Host: c6b9.bsys.dev.centos.org Group : Applications/Archiving Source RPM: tar-1.23-11.el6.src.rpm Size : 2616001 License: GPLv3+ Signature : RSA/SHA1, 2013年02月24日 星期日 01时40分39秒, Key ID 0946fca2c105b9de Packager : CentOS BuildSystem <http://bugs.centos.org> URL : http://www.gnu.org/software/tar/ Summary : A GNU file archiving program Description : The GNU tar program saves many files together in one archive and can restore individual files (or all of the files) from that archive. Tar can also be used to add supplemental files to an archive and to update or list files in the archive. Tar includes multivolume support, automatic archive compression/decompression, the ability to perform remote archives, and the ability to perform incremental and full backups. If you want to use tar for remote backups, you also need to install the rmt package.
rpm -ql tar ##列出tar软件安装的所有的文件及目录-l列出软件的文件目录
[root@leslie ~]# rpm -ql tar /bin/gtar /bin/tar /usr/share/doc/tar-1.23 /usr/share/doc/tar-1.23/AUTHORS /usr/share/doc/tar-1.23/ChangeLog
rpm -qc vsftpd ##只列出vsftpd软件的配置文件
[root@leslie ~]# rpm -qc vsftpd /etc/logrotate.d/vsftpd /etc/pam.d/vsftpd /etc/vsftpd/ftpusers /etc/vsftpd/user_list /etc/vsftpd/vsftpd.conf
rpm -qd vsftpd ##只列出vsftpd软件的document(文档)
[root@leslie ~]# rpm -qd vsftpd /usr/share/doc/vsftpd-2.2.2/AUDIT /usr/share/doc/vsftpd-2.2.2/BENCHMARKS /usr/share/doc/vsftpd-2.2.2/BUGS /usr/share/doc/vsftpd-2.2.2/COPYING /usr/share/doc/vsftpd-2.2.2/Changelog /usr/share/doc/vsftpd-2.2.2/EXAMPLE/INTERNET_SITE/README /usr/share/doc/vsftpd-2.2.2/EXAMPLE/INTERNET_SITE/README.configuration /usr/share/doc/vsftpd-2.2.2/EXAMPLE/INTERNET_SITE/vsftpd.conf /usr/share/doc/vsftpd-2.2.2/EXAMPLE/INTERNET_SITE/vsftpd.xinetd /usr/share/doc/vsftpd-2.2.2/EXAMPLE/INTERNET_SITE_NOINETD/README /usr/share/doc/vsftpd-2.2.2/EXAMPLE/INTERNET_SITE_NOINETD/README.configuration
which useradd ##查找命令的位置
[root@leslie ~]# which tar /bin/tar [root@leslie ~]# which useradd /usr/sbin/useradd
rpm -qf $(which useradd) ##查看命令由那个软件包安装,命令可替换为任意外部命令,然结合rpm -ql,和man扩展学习
[root@leslie ~]# rpm -qf $(which useradd) shadow-utils-4.1.4.2-13.el6.x86_64 [root@leslie ~]# rpm -qf $(which passwd) passwd-0.77-4.el6_2.2.x86_64
3)rpm安装升级卸载:
语法:rpm [选项] 软件包
案例:
mount /dev/cdrom /mnt ##先放系统ISO,链接后在执行挂载系统光盘
ls /mnt ##验证,Packages软件包存放位置,repodata软件仓库文件,p_w_picpath等引导文件
rpm -ivh /mnt/Packages/vsftpd-tab补齐 ##安装vsftpd软件,-i表示安装,vh显示详细信息
[root@leslie ~]# ls anaconda-ks.cfg install.log install.log.syslog vsftpd-2.2.2-11.el6_4.1.x86_64.rpm [root@leslie ~]# rpm -ivh vsftpd-2.2.2-11.el6_4.1.x86_64.rpm warning: vsftpd-2.2.2-11.el6_4.1.x86_64.rpm: Header V3 RSA/SHA1 Signature, key ID c105b9de: NOKEY Preparing... ########################################### [100%] 1:vsftpd ########################################### [100%]
rpm -e vsftpd ##卸载vsftpd软件,-e表示卸载
rpm -F /mnt/Packages/vsftpd-tab补齐 ##更新软件,没安装放弃
rpm -qa vsftpd ##验证
[root@leslie ~]# rpm -qa |grep vsftpd vsftpd-2.2.2-11.el6_4.1.x86_64 [root@leslie ~]# rpm -e vsftpd [root@leslie ~]# rpm -qa |grep vsftpd
rpm -U /mnt/Packages/vsftpd-tab补齐 ##升级软件,没安装则安装
rpm -qa vsftpd ##验证
[root@leslie ~]# rpm -U vsftpd-2.2.2-11.el6_4.1.x86_64.rpm warning: vsftpd-2.2.2-11.el6_4.1.x86_64.rpm: Header V3 RSA/SHA1 Signature, key ID c105b9de: NOKEY [root@leslie ~]# rpm -qa |grep vsftpd vsftpd-2.2.2-11.el6_4.1.x86_64
4)rpm的特殊用法
--force:强制安装,当软件已经安装但文件丢失重装时,旧覆盖新版本时使用。
--nodeps:忽略依赖关系,卸载时使用。
--import:导入系统iso公钥的。
--initdb/--rebuilddb:重建rpm数据库,当系统中病毒破坏了rpm数据时使用。
案例:
rpm -ivh /mnt/Packages/vsftpd-tab补齐
rm -rf /etc/vsftpd ##模拟文件丢失
rpm -ivh /mnt/Packages/vsftpd-tab补齐 --force ##强制安装恢复文件
[root@leslie ~]# rpm -qa |grep vsftpd
vsftpd-2.2.2-11.el6_4.1.x86_64
[root@leslie ~]# rm -rf /etc/vsftpd [root@leslie ~]# rpm -ivh vsftpd-2.2.2-11.el6_4.1.x86_64.rpm warning: vsftpd-2.2.2-11.el6_4.1.x86_64.rpm: Header V3 RSA/SHA1 Signature, key ID c105b9de: NOKEY Preparing... ########################################### [100%] package vsftpd-2.2.2-11.el6_4.1.x86_64 is already installed [root@leslie ~]# rpm -ivh vsftpd-2.2.2-11.el6_4.1.x86_64.rpm --force warning: vsftpd-2.2.2-11.el6_4.1.x86_64.rpm: Header V3 RSA/SHA1 Signature, key ID c105b9de: NOKEY Preparing... ########################################### [100%] 1:vsftpd ########################################### [100%] [root@leslie ~]#
rpm -e vim-common --nodeps ##忽略依赖关系卸载
[root@leslie ~]# rpm -e vim-common error: Failed dependencies: vim-common = 2:7.2.411-1.8.el6 is needed by (installed) vim-enhanced-2:7.2.411-1.8.el6.x86_64 [root@leslie ~]# rpm -e vim-common --nodeps
rpm --import /etc/pki/rpm-gpg/* ##导入系统公钥,保证安装软件的安全
rpm --initdb ##重建rpm数据库
[root@leslie ~]# rpm -import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS- RPM-GPG-KEY-CentOS-6 RPM-GPG-KEY-CentOS-Security-6 RPM-GPG-KEY-CentOS-Debug-6 RPM-GPG-KEY-CentOS-Testing-6 [root@leslie ~]# rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 [root@leslie ~]# rpm --initdb [root@leslie ~]#
转载于:https://blog.51cto.com/lesliecheung/1954474