目 录CONTENT

文章目录

应用程序安装及管理

简中仙
2020-01-12 / 0 评论 / 0 点赞 / 107 阅读 / 0 字 / 正在检测是否收录...
温馨提示:
本文最后更新于2024-01-22,若内容或图片失效,请留言反馈。 本文如有错误或者侵权的地方,欢迎您批评指正!

一、Linux应用程序基础

Linux应用程序的组成

  • 普通的可执行程序文件:一般保存在/usr/bin目录中,普通用户即可执行。
  • 服务器程序、管理程序文件:一般保存在/usr/sbin目录中,只有管理员能执行。
  • 配置文件:一般保存在/etc目录中,配置文件较多时会建立相应的子目录。
  • 日志文件:一般保存在/var/log目录中。
  • 关于应用程序的参考文档等数据:一般保存在/usr/share/doc/目录中。
  • 执行文件及配置文件的man手册页:一般保存在/usr/share/man/目录中。

二、使用RPM软件包管理工具

1、使用RPM软件包管理命令:rpm

1、查询已安装的RPM软件包信息

参数说明
-qa显示当前系统中以RPM方式安装的所有软件列表
-qi查看指定软件包的名称、版本、许可协议、用途描述等详细信息(--info)
-ql显示指定的软件包在当前系统中安装的所有目录、文件列表(--list)
-qf查看指定的文件或目录是由哪个软件包所安装的(--file)

列出当前操作系统中以RPM方式安装的所有软件包清单

# rpm -qa
gcc-c++-4.8.5-44.el7.x86_64
postfix-2.10.1-9.el7.x86_64
setup-2.8.71-11.el7.noarch
jq-1.6-2.el7.x86_64
ncurses-base-5.9-14.20130511.el7_4.noarch
libseccomp-2.3.1-4.el7.x86_64
dracut-config-rescue-033-572.el7.x86_64
htop-2.2.0-3.el7.x86_64
man-db-2.6.3-11.el7.x86_64

查询是否已安装elinks和lynx软件包

# rpm -q elinks lynx
package elinks is not installed
package lynx is not installed

查询系统中是否安装了名称中包含"samba"的软件包,查询时不区分大小写

# rpm -qa | grep -i samba
samba-client-libs-4.10.16-18.el7_9.x86_64
samba-common-4.10.16-18.el7_9.noarch
samba-libs-4.10.16-18.el7_9.x86_64
samba-4.10.16-18.el7_9.x86_64
samba-common-libs-4.10.16-18.el7_9.x86_64
samba-common-tools-4.10.16-18.el7_9.x86_64

查询samba-client-libs 软件包的摘要信息

# rpm -qi samba-client-libs
Name        : samba-client-libs
Epoch       : 0
Version     : 4.10.16
Release     : 18.el7_9
Architecture: x86_64
Install Date: Tue 10 May 2022 10:02:29 AM CST
Group       : Unspecified
Size        : 20068728
License     : GPLv3+ and LGPLv3+
Signature   : RSA/SHA256, Wed 02 Feb 2022 12:21:19 AM CST, Key ID 24c6a8a7f4a80eb5
Source RPM  : samba-4.10.16-18.el7_9.src.rpm
Build Date  : Tue 01 Feb 2022 12:33:23 AM CST
Build Host  : x86-01.bsys.centos.org
Relocations : (not relocatable)
Packager    : CentOS BuildSystem <http://bugs.centos.org>
Vendor      : CentOS
URL         : http://www.samba.org/
Summary     : Samba client libraries
Description :
The samba-client-libs package contains internal libraries needed by the
SMB/CIFS clients.

列出wget软件包安装的目录和文件清单

# rpm -ql wget
/etc/wgetrc
/usr/bin/wget
/usr/share/doc/wget-1.14
/usr/share/doc/wget-1.14/AUTHORS
/usr/share/doc/wget-1.14/COPYING
/usr/share/doc/wget-1.14/MAILING-LIST
/usr/share/doc/wget-1.14/NEWS
/usr/share/doc/wget-1.14/README
/usr/share/doc/wget-1.14/sample.wgetrc
/usr/share/info/wget.info.gz
/usr/share/locale/be/LC_MESSAGES/wget.mo
/usr/share/locale/bg/LC_MESSAGES/wget.mo
/usr/share/locale/ca/LC_MESSAGES/wget.mo
/usr/share/locale/cs/LC_MESSAGES/wget.mo
/usr/share/locale/da/LC_MESSAGES/wget.mo
/usr/share/locale/de/LC_MESSAGES/wget.mo
/usr/share/locale/el/LC_MESSAGES/wget.mo
/usr/share/locale/en_GB/LC_MESSAGES/wget.mo
/usr/share/locale/eo/LC_MESSAGES/wget.mo
/usr/share/locale/es/LC_MESSAGES/wget.mo
/usr/share/locale/et/LC_MESSAGES/wget.mo
/usr/share/locale/eu/LC_MESSAGES/wget.mo
/usr/share/locale/fi/LC_MESSAGES/wget.mo
/usr/share/locale/fr/LC_MESSAGES/wget.mo
/usr/share/locale/ga/LC_MESSAGES/wget.mo
/usr/share/locale/gl/LC_MESSAGES/wget.mo
/usr/share/locale/he/LC_MESSAGES/wget.mo
/usr/share/locale/hr/LC_MESSAGES/wget.mo
/usr/share/locale/hu/LC_MESSAGES/wget.mo
/usr/share/locale/id/LC_MESSAGES/wget.mo
/usr/share/locale/it/LC_MESSAGES/wget.mo
/usr/share/locale/ja/LC_MESSAGES/wget.mo
/usr/share/locale/lt/LC_MESSAGES/wget.mo
/usr/share/locale/nb/LC_MESSAGES/wget.mo
/usr/share/locale/nl/LC_MESSAGES/wget.mo
/usr/share/locale/pl/LC_MESSAGES/wget.mo
/usr/share/locale/pt/LC_MESSAGES/wget.mo
/usr/share/locale/pt_BR/LC_MESSAGES/wget.mo
/usr/share/locale/ro/LC_MESSAGES/wget.mo
/usr/share/locale/ru/LC_MESSAGES/wget.mo
/usr/share/locale/sk/LC_MESSAGES/wget.mo
/usr/share/locale/sl/LC_MESSAGES/wget.mo
/usr/share/locale/sr/LC_MESSAGES/wget.mo
/usr/share/locale/sv/LC_MESSAGES/wget.mo
/usr/share/locale/tr/LC_MESSAGES/wget.mo
/usr/share/locale/uk/LC_MESSAGES/wget.mo
/usr/share/locale/vi/LC_MESSAGES/wget.mo
/usr/share/locale/zh_CN/LC_MESSAGES/wget.mo
/usr/share/locale/zh_TW/LC_MESSAGES/wget.mo
/usr/share/man/man1/wget.1.gz

查询vim编辑器程序是在安装什么软件包时生成

# which vim
/usr/bin/vim
# rpm -qf /usr/bin/vim
vim-enhanced-7.4.629-8.el7_9.x86_64

2、查询RPM软件包文件中的相关信息

参数说明
-qpi查看指定软件包的名称、版本、许可协议、用途描述等详细信息
-qpl查看该软件包准备要安装的所有目标目录、文件列表

查询光盘中RPM软件包文件ethtool-4.5-3. el7. x86_64. rpm的用途

# mount /dev/cdrom /media/
mount: /dev/sr0 is write-protected, mounting read-only
# cd /media/Packages/
# rpm -qpi ethtool-4.8-10.el7.x86_64.rpm
Name        : ethtool
Epoch       : 2
Version     : 4.8
Release     : 10.el7
Architecture: x86_64
Install Date: (not installed)
Group       : Applications/System
Size        : 354299
License     : GPLv2
Signature   : RSA/SHA256, Fri 23 Aug 2019 05:22:57 AM CST, Key ID 24c6a8a7f4a80eb5
Source RPM  : ethtool-4.8-10.el7.src.rpm
Build Date  : Fri 09 Aug 2019 07:16:59 AM CST
Build Host  : x86-02.bsys.centos.org
Relocations : (not relocatable)
Packager    : CentOS BuildSystem <http://bugs.centos.org>
Vendor      : CentOS
URL         : https://www.kernel.org/pub/software/network/ethtool/
Summary     : Settings tool for Ethernet NICs
Description :
This utility allows querying and changing settings such as speed,
port, auto-negotiation, PCI locations and checksum offload on many
network devices, especially of Ethernet devices.

了解该软件包中包含哪些文件

# rpm -qpl ethtool-4.8-10.el7.x86_64.rpm
/usr/sbin/ethtool
/usr/share/doc/ethtool-4.8
/usr/share/doc/ethtool-4.8/AUTHORS
/usr/share/doc/ethtool-4.8/COPYING
/usr/share/doc/ethtool-4.8/ChangeLog
/usr/share/doc/ethtool-4.8/LICENSE
/usr/share/doc/ethtool-4.8/NEWS
/usr/share/doc/ethtool-4.8/README
/usr/share/man/man8/ethtool.8.gz

2、安装、升级、卸载RPM软件包

参数说明
-i在当前系统中安装(Install)一个新的RPM软件包
-e卸载指定名称的软件包
-U检查并升级系统中的某个软件包,若该软件包原来并未安装,则等同于“-i”选项
-F检查并更新系统中的某个软件包,若该软件包原来并未安装,则放弃安装
-h在安装或升级软件包的过程中,以“#”号显示安装进度
-v显示软件安装过程中的详细信息
--force强制安装某个软件包,当需要替换已安装的软件包及文件,或者安装一个比当前使用的软件版本更旧的软件时,可以使用此选项
--nodeps在安装或升级、卸载一个软件包时,不检查与其他软件包的依赖关系

1、安装、升级软件包

全新安装lynx软件包

# rpm -ivh /media/Packages/lynx-2.8.8-0.3.dev15.el7.x86_64.rpm
Preparing...                          ################################# [100%]
Updating / installing...
   1:lynx-2.8.8-0.3.dev15.el7         ################################# [100%]
# rpm -q lynx
lynx-2.8.8-0.3.dev15.el7.x86_64
# which lynx
/usr/bin/lynx

2、卸载软件包

卸载已安装的 lynx软件

# rpm -e lynx
# rpm -q lynx
package lynx is not installed

3、维护RPM数据库

重建RPM数据库

# rpm --rebuilddb

或者

# rpm --initdb

导入验证公钥

# rpm --import /media/RPM-GPG-KEY-CentOS-7
0

评论区