IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> 软件包的封装类型 -> 正文阅读

[系统运维]软件包的封装类型

使用RPM软件包管理工具

RPM概述

RPM软件包管理机制最早由Red Hat公司提出,后来随着版本的升级逐渐融入更多的优秀特性,成为众多linux发行版本中公认的软件包管理标准,其官方站点http://www.rpm.org,可以了解到关于RPM包管理机制的详细资料。
使用RPM机制封装的软件包文件拥有约定俗成的命名格式,一般使用“软件名-软件版本-发布次数.操作系统类型.硬件架构类型.rpm”的文件形式。如
在这里插入图片描述

2.4.6 ,是软件的版本号。版本号的格式通常为“主版本号.次版本号.修正号”。
80,是发布版本号(发布次数),表示这个RPM包是第几次编译生成的。
硬件平台通常为“i386”或“i686”、x86_64、noarch等,表示适用的硬件平台,x86_64表示适用于64位的系统,如果是noarch表示不区分硬件架构
Centos的DVD安装光盘携带的软件包都在Packages目录中。一般情况下(指的是启动到桌面环境),Centos启动后安装光盘会自动挂载到系统的/run/media/root/CentOS 7 x86_64/目录下
在这里插入图片描述

若是启动到字符终端,需要手动挂载光驱设备,先将centos的光盘镜像放入光驱设备中,执行df命令或mount命令查看光驱设备是否挂载:
在这里插入图片描述

上图显示光驱设备未挂载。下面开始执行mount命令挂载挂光盘设备
mount命令功能是挂载一个文件系统
mount命令语法格式:mount [选项] device dir
其中device是要挂载的文件系统或设备,dir是挂载点目录
在这里插入图片描述

其中光驱设备名是/dev/sr0或/dev/cdrom(/dev/cdrom是/dev/sr0的链接文件),/mnt就是挂载点目录。
卸除已挂载的文件系统:
umount命令用于卸载已经加载的文件系统。利用设备名或挂载点都能umount文件系统,不过最好还是通过挂载点卸载,以免使用绑定挂载(一个设备,多个挂载点)时产生混乱。
umount [选项] device或挂载点
[root@localhost ~]# umount /dev/sr0 #卸载设备

[root@localhost ~]# umount /mnt/cdrom/ #卸载挂载点(推荐)

rpm命令

# rpm -qa   #查看系统中已经安装的rpm软件包列表
# rpm -qa | wc -l  #统计已经安装的rpm软件包的个数

查询已经安装的软件包

查看软件包的详细信息

查看指定软件包的详细信息可以使用如下命令

[root@l ~]# rpm -qi vim-common-7.4.160-4.el7.x86_64
Name        : vim-common
Epoch       : 2
Version     : 7.4.160
Release     : 4.el7
Architecture: x86_64
Install Date: Fri 06 Aug 2021 07:44:14 PM CST
Group       : Applications/Editors
Size        : 22145972
License     : Vim
Signature   : RSA/SHA256, Wed 25 Apr 2018 07:50:33 PM CST, Key ID 24c6a8a7f4a80eb5
Source RPM  : vim-7.4.160-4.el7.src.rpm
Build Date  : Wed 11 Apr 2018 07:55:09 AM CST
Build Host  : x86-01.bsys.centos.org
Relocations : (not relocatable)
Packager    : CentOS BuildSystem <http://bugs.centos.org>
Vendor      : CentOS
URL         : http://www.vim.org/
Summary     : The common files needed by any version of the VIM editor
Description :
VIM (VIsual editor iMproved) is an updated and improved version of the
vi editor.  Vi was the first real screen-based editor for UNIX, and is
still very popular.  VIM improves on vi by adding new features:
multiple windows, multi-level undo, block highlighting and more.  The
vim-common package contains files which every VIM binary will need in
order to run.

If you are installing vim-enhanced or vim-X11, you'll also need
to install the vim-common package.

查询指定软件包所安装的目录、文件列表

[root@l ~]# rpm -ql vim-common-7.4.160-4.el7.x86_64

使用这条命令可以查看指定软件包的安装目录及文件列表

仅显示指定软件包安装的配置文件

[root@l ~]# rpm -qc vim-common-7.4.160-4.el7.x86_64
/etc/vimrc

使用如上命令表示仅查看指定软件包安装的配置文件

仅显示指定软件包安装的文档文件

[root@l ~]# rpm -qd vim-common-7.4.160-4.el7.x86_64

查询文件或目录属于哪个RPM软件

[root@l ~]# rpm -qf `which vim`
vim-enhanced-7.4.160-4.el7.x86_64

查询未安装的RPM包文件

首先查询时需要进入到存放软件包的目录中

[root@l ~]# cd /mnt/cdrom/Packages/

在使用rpm -qp[子选项] RPM软件包

通过.rpm包文件查看该软件的详细信息

[root@l Packages]# rpm -qpi amanda-server-3.3.3-20.el7.x86_64.rpm 
warning: amanda-server-3.3.3-20.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEY
Name        : amanda-server
Version     : 3.3.3
Release     : 20.el7
Architecture: x86_64
Install Date: (not installed)
Group       : Applications/System
Size        : 686275
License     : BSD and GPLv3+ and GPLv2+ and GPLv2
Signature   : RSA/SHA256, Wed 25 Apr 2018 06:52:46 PM CST, Key ID 24c6a8a7f4a80eb5
Source RPM  : amanda-3.3.3-20.el7.src.rpm
Build Date  : Wed 11 Apr 2018 01:56:24 PM CST
Build Host  : x86-01.bsys.centos.org
Relocations : (not relocatable)
Packager    : CentOS BuildSystem <http://bugs.centos.org>
Vendor      : CentOS
URL         : http://www.amanda.org
Summary     : The server side of the AMANDA tape backup system
Description :
The amanda-server package should be installed on the AMANDA server,
the machine attached to the device(s) (such as a tape drive) where backups
will be written. You will also need to install the amanda package on
the AMANDA server machine.  And, if the server is also to be backed up, the
server also needs to have the amanda-client package installed.

查看.rpm安装包内所包含的目录、文件列表

[root@l Packages]# rpm -qpl amanda-server-3.3.3-20.el7.x86_64.rpm

查看.rpm安装包内包含的配置文件列表

[root@l Packages]# rpm -qpc amanda-server-3.3.3-20.el7.x86_64.rpm 
warning: amanda-server-3.3.3-20.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEY
/etc/amanda/DailySet1/amanda.conf
/etc/amanda/DailySet1/chg-multi.conf
/etc/amanda/DailySet1/chg-scsi.conf
/etc/amanda/DailySet1/disklist
/etc/amanda/DailySet1/label-templates/3hole.ps
/etc/amanda/DailySet1/label-templates/8.5x11.ps
/etc/amanda/DailySet1/label-templates/DIN-A4.ps
/etc/amanda/DailySet1/label-templates/DLT-A4.ps
/etc/amanda/DailySet1/label-templates/DLT.ps
/etc/amanda/DailySet1/label-templates/EXB-8500.ps
/etc/amanda/DailySet1/label-templates/HP-DAT.ps
/etc/amanda/crontab.sample
/var/lib/amanda/template.d/README
/var/lib/amanda/template.d/advanced.conf
/var/lib/amanda/template.d/amanda-S3.conf
/var/lib/amanda/template.d/amanda-harddisk.conf
/var/lib/amanda/template.d/amanda-single-tape.conf
/var/lib/amanda/template.d/amanda-tape-changer.conf
/var/lib/amanda/template.d/chg-manual.conf
/var/lib/amanda/template.d/dumptypes
/var/lib/amanda/template.d/tapetypes

查看.rpm安装包内包含的文档文件列表

[root@l Packages]# rpm -qpd amanda-server-3.3.3-20.el7.x86_64.rpm

安装或升级RPM软件

格式:
rpm [选项] RPM包文件
用法:
不同选项适用于不同情况
-i:安装一个新的rpm软件包
-U:升级某个rpm软件,若原本未装,则进行安装
-F:更新某个rpm软件,若原本未装,则放弃安装
-v:显示软件安装过程中的详细信息
-h:在安装或升级软件包的过程中,以“#”号显示安装进度
-e:卸载指定的RPM软件,格式:rpm -e 软件名
–force:强制安装所指定的rpm软件包
–nodeps:安装、升级或卸载软件时,忽略依赖关系(一般不建议使用)

卸载命令

[root@l Packages]# yum -y remove vim 

使用remove卸载软件的时候加入-y表示采用取消人机交互适的卸载

使用rpm命令进行安装

[root@l Packages]# rpm -ivh vim-common-7.4.160-4.el7.x86_64.rpm
warning: vim-common-7.4.160-4.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEY
Preparing...                          ################################# [100%]
	package vim-common-2:7.4.160-4.el7.x86_64 is already installed

维护RPM数据库

RPM数据库(/var/lib/rpm目录下)用于记录在Linux系统中安装、卸载、升级应用程序的相关信息,由RPM包管理系统自动完成维护,一般不需要用户干预。当RPM数据库发生损坏(误删文件、非法关机、病毒破坏等导致),且Linux系统无法自动完成修复时,将导致无法使用rpm命令正常地安装、卸载及查询软件包,这时可以使用–rebuilddb或–initdb重建RPM数据库。
可以通过下面简单几个步骤
来恢复

首先模拟RPM数据库损坏

首先进入数据库

[root@l ~]# cd /var/lib/rpm

修改数据库内容

[root@l rpm]# echo "123" > __db.001

此时数库已经损坏,在用rpm命令时会报错。

[root@l rpm]# rpm -qa | grep vim
error: db5 error(11) from dbenv->open: Resource temporarily unavailable
error: cannot open Packages index using db5 - Resource temporarily unavailable (11)
error: cannot open Packages database in /var/lib/rpm
error: db5 error(11) from dbenv->open: Resource temporarily unavailable
error: cannot open Packages database in /var/lib/rpm

修复RPM数据库

此时需要用–rebuilddb或–initdb重建RPM数据库。

[root@l rpm]# rpm --rebuilddb

或者

[root@l rpm]# rpm --initdb

导入验证公钥

使用rpm命令进行安装软件包时需要验证公钥。
(前提是要先进入到/mnt/cdrom/Packages目录中)

[root@l rpm]# cd /mnt/cdrom/Packages/
[root@l Packages]# rpm -ivh lynx-2.8.8-0.3.dev15.el7.x86_64.rpm 
warning: lynx-2.8.8-0.3.dev15.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEY
error: Failed dependencies:
	redhat-indexhtml is needed by lynx-2.8.8-0.3.dev15.el7.x86_64

此时显示需要验证公钥。

解决方法

可以使用光盘中的验证公钥,将公钥导入即可。

[root@l Packages]# rpm --import /mnt/cdrom/RPM-GPG-KEY-CentOS-7

此时使用rpm安装命令时就不会产生需要密钥

[root@l Packages]# rpm -ivh vim-common-7.4.160-4.el7.x86_64.rpm 
Preparing...                          ################################# [100%]
	package vim-common-2:7.4.160-4.el7.x86_64 is already installed

解决依赖关系

RPM包依赖关系:
树形依赖:A-B-C-D
安装时要从后往前安装先从D包开始、然后是C包…最后到A包。
环形依赖:A-B-C-D-A
安装时要可以一条命令直接装完如:rpm -ivh A B C D
总结:安装有依赖关系的多个软件时,被依赖的软件包需要先安装,同时指定多个.rpm包文件进行安装
使用yum命令安装的时候是直接自动解决依赖关系
使用rpm命令安装时需要解决依赖关系。

配置yum源仓库

首先进入目录

[root@l ~]# cd /etc/yum.repos.d/

在当前目录下创建一个目录,并把当前目录下的文件移动到新创建的目录里,且创建一个后缀是.repo的文件,以便后续的麻烦

[root@l yum.repos.d]# ls
backup  centos7.repo

打开后缀是.repo的文件并写入内容。

[centos7]
name=centos7
baseurl=file:///mnt/cdrom
enabled=1
gpgcheck=0

创建目录

[root@l ~]# mkdir -p /mnt/cdrom

注意:这里创建的目录需要和之前后缀为.repo文件内的目录相同

挂载

打开/etc/fstab文件进行挂载


#
# /etc/fstab
# Created by anaconda on Fri Aug  6 19:19:20 2021
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/centos-root /                       xfs     defaults        0 0
UUID=d403b099-664e-470d-9618-4552885cc391 /boot                   xfs     defaults        0 0
/dev/mapper/centos-swap swap                    swap    defaults        0 0
/dev/sr0                /mnt/cdrom              iso9660 defaults        0 0

添加最后一行内容。

之后保存并执行生效命令

[root@l ~]# mount -a

此时yum源仓库配置完成。
使用命令查看是否挂载成功。

[root@l ~]# df -hT
Filesystem              Type      Size  Used Avail Use% Mounted on
/dev/mapper/centos-root xfs        98G  1.1G   97G   2% /
devtmpfs                devtmpfs  476M     0  476M   0% /dev
tmpfs                   tmpfs     488M     0  488M   0% /dev/shm
tmpfs                   tmpfs     488M  7.7M  480M   2% /run
tmpfs                   tmpfs     488M     0  488M   0% /sys/fs/cgroup
/dev/sr0                iso9660   4.2G  4.2G     0 100% /mnt/cdrom
/dev/sda1               xfs       497M  123M  375M  25% /boot
tmpfs                   tmpfs      98M     0   98M   0% /run/user/0

此时显示已经挂载成功。及表示yum源仓库就可以使用了。

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2021-09-08 11:09:04  更:2021-09-08 11:11:43 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/30 3:41:42-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码