一、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
评论区