宜收藏:5款常用的数据分析工具,简单便捷!数据分析工具常见的有哪些?
622
2022-05-30
CentOS系统上使用RPM命令管理程序包
功能:安装、卸载、升级、查询、校验、数据库维护
安装NPM包
如果CentOS7默认没有安装NPM,首先进行安装
#新建node文件夹在/usr/local/ mkdir node #获取node压缩包 wget https://registry.npmmirror.com/-/binary/node/latest-v4.x/node-v4.9.1-linux-x64.tar.gz #解压包 tar -zxvf node-v4.9.1-linux-x64.tar.gz #进入文件夹 cd node-v4.9.1-linux-x64.tar.gz #创建软连接 [root@localhost node-v4.9.1-linux-x64]# ln -s /usr/local/node/node-v4.9.1-linux-x64/bin/npm /usr/local/bin/npm [root@localhost node-v4.9.1-linux-x64]# ln -s /usr/local/node/node-v4.9.1-linux-x64/bin/node /usr/local/bin/node #检验版本 [root@localhost /]# npm -v 2.15.11
安装
格式:
rpm {-i|--install} [install-options] PACKAGE_FILE
选项:
-v:verbose -vv: -h:以#显示程序包管理执行进度
常用组合:
rpm -ivh PACKAGE_FILE
RPM包安装[install-optinos]
--test:测试安装,但不真正执行安装,即dry run模式 --nodeps:忽略依赖关系 --replacepkgs | replacefiles --nodigest:不检查包完整性 --noscripts:不执行程序包脚本 %pre:安装前脚本 --nopre %post:安装后脚本 --nopost %preun:卸载前脚本 --nopreun %postun:卸载后脚本 --nopostun
升级和降级
RPM包升级
RPM {-U|--upgrade} [install-options] PACKAGE_FILE RPM {-F|--freshen} [install-options] PACKAGE_FILE
对应选项:
upgrade:安装有旧版程序包,则升级,如果不存在旧版程序包,则安装 freshen:安装有旧版程序包,则升级,如果不存在旧版程序包,则不执行操作 --oldpackage:降级 --force:强制安装
常用组合
rpm -Uvh PACKAGE_FILE rpm -Fvh PACKAGE_FILE
升级注意项:
不要对内核做升级操作;Linux支持多内核版本并存,因此直接安装新版本内核
如果原程序包的配置文件安装后曾被修改,升级时,新版本提供的同一个配置文件不会直接覆盖老版本的配置文件,而把新版本文件重命名(FILENAME.rpmnew)后保留
包查询
rpm {-q|--query} [select-options] [query-options] [select-options] -a:所有包 -f:查看指定的文件由哪个程序包安装组成 -p rpmfile:针对尚未安装的程序包文件做查询操作 [query-options] --changelog:查询rpm包的changelog -c:查询程序的配置文件 -d:查询程序的文档 -i:information -l:查看指定的程序包安装后生成的所有文件 --scripts:程序包自带的版本 #和CAPABILITY相关 --whatprovides CAPABILITY:查询指定的CAPABILITY由哪个包所提供 --whatrequires CAPABILITY:查询指定的CAPABILITY被哪个包所依赖 --provides:列出指定程序包所提供的CAPABILITY -R:查询指定的程序包所依赖的CAPABILITY
常用查询用法
-qa -q PACKAGE -qi PACKAGE -qc PACKAGE -ql PACKAGE -qd PACKAGE -q --scripts PACKAGE -qf FILE -qpi PACKAGE_FILE -qpl PACKAGE_FILE
包卸载
格式:
rpm {-e|--erase} [--allmatches] [--nodeps] [--noscripts] [--notriggers] [--test] PACKAGE_NAME
注意:当包卸载时,对应的配置文件不会删除,以FILENAME.rpmsave形式保留
例子:强行删除rpm包,并恢复
rpm -e rpm --nodeps #重启进入rescue模式 #mkdir /mnt/cdrom #mount /dev/sr0 /mnt/cdrom #rpm -ivh /mnt/cdrom/Packages/rpm-4.11.3-40.el7.x86_64.rpm --root=/mnt/sysimage #reboot
包校验
在安装包时,系统也会检查包的来源是否是合法的
检查包的完整性和签名
rpm -K | --checksig | rpmfile
在检查包的来源和完整性前,必须导入所需要的公钥
例子:
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 rpm -qa "gpg-pubkey"
例子:CentOS7
[root@localhost /]# rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 [root@localhost /]# rpm -K /run/media/hello/CentOS\ 7\ x86_64/Packages/httpd-2.4.6-95.el7.centos.x86_64.rpm
例子:校验包文件
[root@localhost ~]$ rpm -K /run/media/hello/CentOS\ 7\ x86_64/Packages/tree-1.6.0-10.el7.x86_64.rpm /run/media/hello/CentOS 7 x86_64/Packages/tree-1.6.0-10.el7.x86_64.rpm: rsa sha1 (md5) pgp md5 OK [root@localhost ~]$ cp /run/media/hello/CentOS\ 7\ x86_64/Packages/tree-1.6.0-10.el7.x86_64.rpm /home/hello/Downloads/ [root@localhost Downloads]# ll total 48 -rw-rw-r--. 1 hello hello 47508 Mar 28 07:08 tree-1.6.0-10.el7.x86_64.rpm [root@localhost Downloads]# rpm -K tree-1.6.0-10.el7.x86_64.rpm tree-1.6.0-10.el7.x86_64.rpm: rsa sha1 (MD5) PGP MD5 NOT OK
软件在安装时,会将包里的每个文件的元数据,如:大小、权限、所有者、时间等记录至rpm相关的数据库中,可以用来检查包中的文件是否和当初安装时所有变化
rpm {-V|--verify} [select-options] [verify-options] #示例 [root@localhost ~]# rpm -V centos-release S file Size differs M Mode differs(includes permissions and file type) 5 digest(formerly MD5 sum) differs D Device major/minor number mismatch L readLink(2) path mismatch U User ownership differs G Group ownership differs T mTime differs P capabilities differ .(点) 表示当前位置代表的字符含义一致 c 所在的位置表示文件类型 C 配置文件 d 文件数据文件 g 该文件不属于某个文件(少数情况) l 许可证文件(license file) r 自述文件(README)
例子:
[root@localhost ~]# rpm -qf /etc/issue centos-release-7-9.2009.0.el7.centos.x86_64 [root@localhost rpm]# vim /etc/issue #修改内容 hello world \S Kernel \r on an \m [root@localhost rpm]# rpm -V centos-release S.5....T. c /etc/issue [root@localhost rpm]# rpm -ql centos-release /etc/centos-release /etc/centos-release-upstream /etc/issue /etc/issue.net /etc/os-release /etc/pki/rpm-gpg /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-Debug-7 /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-Testing-7 /etc/redhat-release /etc/rpm/macros.dist /etc/system-release /etc/system-release-cpe /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-CR.repo /etc/yum.repos.d/CentOS-Debuginfo.repo /etc/yum.repos.d/CentOS-Media.repo /etc/yum.repos.d/CentOS-Sources.repo /etc/yum.repos.d/CentOS-Vault.repo /etc/yum.repos.d/CentOS-fasttrack.repo /etc/yum.repos.d/CentOS-x86_64-kernel.repo /etc/yum/vars/contentdir /etc/yum/vars/infra /usr/lib/os-release /usr/lib/systemd/system-preset/85-display-manager.preset /usr/lib/systemd/system-preset/90-default.preset /usr/share/centos-release/EULA /usr/share/doc/centos-release/Contributors /usr/share/doc/centos-release/GPL /usr/share/doc/redhat-release /usr/share/redhat-release
数据库维护
rpm包安装时生成的信息,都放在rpm数据库中,路径如下:
[root@localhost /]# ls /var/lib/rpm Basenames __db.002 Group Obsoletename Requirename Triggername Conflictname __db.003 Installtid Packages Sha1header __db.001 Dirnames Name Providename Sigmd5
可以重建数据库
rpm {--initdb | --rebuilddb} initdb:初始化,如果事先不存在数据库,则新建,否则不执行任何操作 rebuilddb:重建已安装的包头的数据库索引目录
Linux
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。