|NO.Z.00025|——————————|LinuxBasicEnd|——|Linux&软件包安装.V04|

Posted yanqi_vip

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了|NO.Z.00025|——————————|LinuxBasicEnd|——|Linux&软件包安装.V04|相关的知识,希望对你有一定的参考价值。

一、RPM包升级
### --- RPM 包升级 
~~~     选项:
~~~     -U(大写) 升级安装,如果没有安装过,系统直接安装。
~~~     如果安装过的版本较旧,则升级到新版本(upgrade)

[root@localhost ~]# rpm –Uvh 包全名
~~~     选项:
~~~     -F(大写)      升级安装,如果没有安装过,则不会安装。
~~~     必须安装有较旧版本,才能升级(freshen)

[root@localhost ~]#     rpm –Fvh 包全名
### --- 卸载
~~~     选项:
~~~     --nodeps            不检查依赖性
~~~     e                   卸载
 
[root@localhost ~]# rpm -e 包名
### --- 查询
~~~     查询软件包是否安装
~~~     可以查询软件包是否安装,命令格式如下:
~~~     选项:
~~~     -q: 查询(query)
~~~     查询系统中的所有安装软件包
~~~     可以查询 Linux 系统中所有已经安装的软件包,命令格式如下:

[root@localhost ~]# rpm –q 包名
~~~     选项:
~~~     -a:所有(all)
~~~     当然,可以用管道符来查看所需的内容,比如:

[root@localhost ~]# rpm -qa
~~~     你会发现,使用“rpm -q 包名”只能查看这个包是否安装,
~~~     但是使用“rpm -qa | grep 包名”会把包含包名称的所有包都列出来。

[root@localhost ~]# rpm -qa | grep httpd
### --- 查询软件包的详细信息
~~~     可以查询已经安装的某个软件包的详细信息,命令格式如下:
~~~     选项:
~~~     -i: 查询软件信息(information)
~~~     也可以查询还没有安装的软件包的详细信息,命令格式如下:
 
[root@localhost ~]# rpm –qi 包名
~~~     选项:
~~~     -p: 查询没有安装的软件包(package)

[root@localhost ~]# rpm –qip 包全名
### --- 查询软件包中的文件列表
~~~     可以查询已经安装的软件包中的文件列表和安装的完整目录,命令格式如下:
~~~     选项:
~~~     -l: 列出软件包中所有的文件列表和软件所安装的目录(list)
~~~     那么,可以查询还没有安装的软件包中的文件列表和打算安装的位置吗?
~~~     答案是可以,命令格式
~~~     如下:

[root@localhost ~]# rpm –ql 包名
~~~     选项:
~~~     -p: 查询没有安装的软件包信息(package)
 
[root@localhost ~]# rpm –qlp 包全名
### --- 查询系统文件属于哪个 RPM 包
~~~     既然可以知道每个 RPM 包中的文件的安装位置,那么可以查询系统文件属于哪个 RPM 包吗?
~~~     当然可以,不过需要注意的是,手工建立的文件是不能查询的,
~~~     因为这些文件不是通过 RPM 包安装的,当然不能反向查询它属于哪个 RPM 包。
~~~     命令格式如下:
~~~     选项:
~~~     -f: 查询系统文件属于哪个软件包(file)

[root@localhost ~]# rpm –qf 系统文件名
### --- 查询软件包所依赖的软件包
~~~     查询系统中和已经安装的软件包有依赖关系的软件包,命令格式如下:
~~~     选项:
~~~     -R: 查询软件包的依赖性(requires)
~~~     可以查询没有安装的软件包的依赖性吗?加“-p”选项即可。
~~~     例如,查看一下还没有安装的 bind软件包的依赖包,可以执行如下命令:

[root@localhost ~]# rpm –qR 包名
[root@localhost ~]# rpm -qRp /mnt/cdrom/Packages/bind-9.8.2-0.10.rc1.el6.i686.rpm

二、RPM包升级:实验专题
### --- rpm不指定位置会安装在默认路径下;若是指定会安装在指定在位置;
### --- rpm包安装建议不指定位置,
~~~     原因一、默认的安装位置是系统的习惯位置,
~~~     原因二、rpm包管理系统是有卸载命令的(数据库记录安装位置的);

### --- 源码包是没有卸载命令的,若是想要卸载;只能删除安装目录;所以源码包是需要指定安装目录的。
### --- yum查询:
~~~     yum是服务器去连接Redhat的官方服务器,需要什么样的依赖包,下载后安装;
~~~     也就说明本地电脑是客户端,而Redhat端电脑是服务端;
~~~      yum查询的是对方官方服务器上的信息,也就是Redhat官方服务器上的包信息。

[root@server21 Packages]# rpm -ivh --prefix=/usr/local/httpd httpd-2.2.15-53.el6.centos.x86_64.rpm 
### --- rpm查询:
~~~     rpm查询的客户端上的包信息,也就是说查询的是本地电脑上的包信息;
~~~     查询服务器已安装的所有软件包

[root@server11 ~]# rpm -qa | wc -l
1363
### --- 查询对应安装的软件包

[root@server11 ~]# rpm -qa |grep httpd
### --- 查询已经安装包的信息

[root@server11 ~]# rpm -qi httpd
Name        : httpd
Version     : 2.4.6
Release     : 97.el7.centos
Architecture: x86_64
Install Date: Sat 06 Mar 2021 04:37:40 PM CST
Group       : System Environment/Daemons
Size        : 9821064
License     : ASL 2.0
Signature   : RSA/SHA256, Wed 18 Nov 2020 10:17:43 PM CST, Key ID 24c6a8a7f4a80eb5
Source RPM  : httpd-2.4.6-97.el7.centos.src.rpm
Build Date  : Tue 17 Nov 2020 12:21:17 AM CST
Build Host  : x86-02.bsys.centos.org
Relocations : (not relocatable)
Packager    : CentOS BuildSystem <http://bugs.centos.org>
Vendor      : CentOS
URL         : http://httpd.apache.org/
Summary     : Apache HTTP Server
Description :
The Apache HTTP Server is a powerful, efficient, and extensible
web server.
### --- (查询已经安装的软件包安装位置)列出软件包中所有的文件列表和软件所安装的目录(list)
~~~     etc目录下,相关配置文件
~~~     /usr/lib64  函数库
~~~     /usr/sbin   启动脚本
~~~     /usr/share  帮助文档
~~~     /var/cache /var/lib 临时文件;可变文件,日志等
~~~     /etc/rc.d/init.d    启动脚本调用的还是/usr/sbin下

[root@server11 ~]# rpm -ql httpd                                    // rpm -ql 包名
### --- 查询没有安装的软件包准备安装位置信息(package)
[root@server11 Packages]# rpm -qlp zenity-3.22.0-1.el7.x86_64.rpm   // rpm –qlp 包全名 

### --- 查询系统文件属于哪个RPM包
[root@server11 ~]# rpm -qf /etc/httpd/conf/httpd.conf               // rpm -qf 系统文件名
httpd-2.4.6-97.el7.centos.x86_64                

### --- 查询包的依赖包 (没有办法区分这个包有没有装,会把所有依赖的包列出来)
[root@server11 ~]# rpm -qR httpd                                    // 建议rpm安装时报错安装,缺失什么安装那个; 
三、RPM升级:验证
### --- 验证
### --- 基本命令
~~~     选项:
~~~     -Va 校验本机已经安装的所有软件包

[root@server11 ~]# rpm  -Va                                         // 不建议使用,消耗资源
.M.......  g /etc/pki/ca-trust/extracted/java/cacerts
~~~     选项:
~~~     -V 校验指定 RPM 包中的文件(verify)

[root@localhost ~]# rpm –V 已安装的包名
~~~     选项:
~~~     -Vf 校验某个系统文件是否被修改
~~~     验证内容        文件类型            文件名
~~~     出现了提示信息,我们来解释下最前面共有 8 个信息内容,是表示验证内容的。文件名前面的 c是表示这是个配置文件(configuration)。最后是文件名。那么验证内容中的 8 个信息的具体内容
~~~     如下:
~~~     S       文件大小是否改变
~~~     M       文件的类型或文件的权限(rwx)是否被改变
~~~     5       文件 MD5 校验和是否改变(可以看成文件内容是否改变)
~~~     D       设备的主从代码是否改变
~~~     L       文件路径是否改变
~~~     U       文件的属主(所有者)是否改变
~~~     G       文件的属组是否改变
~~~     T       文件的修改时间是否改变
~~~     apache  配置文件的文件类型是 c,那么还有哪些文件类型呢?
~~~     c       配置文件(config file)
~~~     d       普通文档(documentation)
~~~     g       “鬼”文件(ghost file),很少见,就是该文件不应该被这个 RPM 包包含
~~~     l       授权文件(license file)
~~~     r       描述文件(read me)

[root@localhost ~]# rpm –Vf 系统文件名
### --- 验证举例

[root@localhost ~]# rpm -V httpd
S.5....T.       c           /etc/httpd/conf/httpd.conf
四、RPM安装验证:基本验证实验专题
### --- 基本验证

[root@server11 ~]# rpm  -Va                                         // 不建议使用,消耗资源
.M.......  g /etc/pki/ca-trust/extracted/java/cacerts
### --- 校验指定 RPM 包中的文件(verify)

[root@server11 ~]# rpm -V httpd                                     // 初次验证,没有什么效果
[root@server11 ~]# vim /etc/httpd/conf/httpd.conf                   // 编辑httpd配置文件,加入空白行
[root@server11 ~]# rpm -V httpd                                     // 验证会有报错提示信息
S.5....T.  c /etc/httpd/conf/httpd.conf                             // T        文件的修改时间是否改变

                 
Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warmd both hands before the fire of life.It sinks, and I am ready to depart                                                                                                                                                    ——W.S.Landor
 

 

以上是关于|NO.Z.00025|——————————|LinuxBasicEnd|——|Linux&软件包安装.V04|的主要内容,如果未能解决你的问题,请参考以下文章

js 点击列表li,获得当前li的id

CSS样式中 li + li表示啥意思?

jquery点击li标签之后在该li标签上添加一个class,点击下一个li时删除上一个li的class

li点击弹出序号

事件委托性能优化

遍历ul下的li,点击弹出li的索引