Loading... <p>=======rpm命令的使用总结======</p> <p>安装: </p> <p>rpm {-i|–install} [install-options] PACKAGE_FILE …</p> <p><span class="Apple-tab-span"> </span> -v: verbose</p> <p><span class="Apple-tab-span"> </span> -vv: more verbose</p> <p><span class="Apple-tab-span"> </span> -h: 以#显示程序包管理执行进度; 每个#表示2%的进度</p> <p><span class="Apple-tab-span"> </span> eg:rpm -ivh package</p> <p><span class="Apple-tab-span"> </span> [install-option]</p> <p><span class="Apple-tab-span"> </span> –test 测试安装, 但不真正执行安装, dry run模式</p> <p><span class="Apple-tab-span"> </span> –nodeps 忽略安装关系</p> <p><span class="Apple-tab-span"> </span> –replacepkgs 重新替换安装</p> <p><span class="Apple-tab-span"> </span> –nosignature 不检查来源合法性</p> <p><span class="Apple-tab-span"> </span> –nodigest<span class="Apple-tab-span"> </span>不检查包完整性</p> <p><span class="Apple-tab-span"> </span> –noscript 不执行程序包脚本片段</p> <p><span class="Apple-tab-span"> </span> %pre 安装前 –nopre</p> <p><span class="Apple-tab-span"> </span> %post 安装后 –nopost</p> <p><span class="Apple-tab-span"> </span> %preun<span class="Apple-tab-span"> </span>卸载前 –nopreun</p> <p><span class="Apple-tab-span"> </span> %postun<span class="Apple-tab-span"> </span>卸载后 –nopostun</p> <p></p> <p>升级:</p> <p>rpm {-U|–upgrade} [install-options] PACKAGE_FILE …</p> <p>rpm {-F|–freshen} [install-options] PACKAGE_FILE …</p> <p><span class="Apple-tab-span"> </span> upgrade: 安装有旧版, 则升级, 如果不存在旧版, 则安装</p> <p><span class="Apple-tab-span"> </span> freshen: 安装有旧版, 则升级, 如果不存在旧版, 不执行操作</p> <p><span class="Apple-tab-span"> </span> eg: rpm -Uvh PACKAGE</p> <p><span class="Apple-tab-span"> </span> eg: rpm -Fvh PACKAGE</p> <p><span class="Apple-tab-span"> </span> –oldpackage 降级</p> <p><span class="Apple-tab-span"> </span> –force </p> <p><span class="Apple-tab-span"> </span> 注意: 1. 不要对内核进行升级操作; Linux支持多内核版本并存, 因此, 对</p> <p><span class="Apple-tab-span"> </span> 直接安装新版内核</p> <p><span class="Apple-tab-span"> </span> 2. 如果源程序包的配置文件安装后曾被修改, 升级时, 新版本提供的同一个</p> <p><span class="Apple-tab-span"> </span> 配置文件不会直接覆盖老版本的配置文件, 而把新版本的文件重命名(FILENAME.rpmnew)后保留</p> <p></p> <p>查询:</p> <p>rpm {-q|–query} [select-options] [query-options]</p> <p><span class="Apple-tab-span"> </span> [select-options]</p> <p><span class="Apple-tab-span"> </span> -a: 所有包</p> <p><span class="Apple-tab-span"> </span> -f: 查询指定的文件由哪个程序包生成</p> <p><span class="Apple-tab-span"> </span> -g: 查询指定包组的程序包</p> <p><span class="Apple-tab-span"> </span> -whatprovides CAPABILITY</p> <p><span class="Apple-tab-span"> </span> 查询指定的CAPABILITY由哪个PACKAGE提供</p> <p><span class="Apple-tab-span"> </span> Query all packages that provide the CAPABILITY capability</p> <p><span class="Apple-tab-span"> </span> –whatrequires CAPABILITY</p> <p><span class="Apple-tab-span"> </span> 查询指定的CAPABILITY别谁所依赖</p> <p><span class="Apple-tab-span"> </span> Query all packages that require CAPABILITY for proper functioning.</p> <p><span class="Apple-tab-span"> </span> -p, –package PACKAGE_FILE</p> <p><span class="Apple-tab-span"> </span> 查询未安装的程序包</p> <p><span class="Apple-tab-span"> </span> [query-options]</p> <p><span class="Apple-tab-span"> </span> –changelog</p> <p><span class="Apple-tab-span"> </span> 查询更新日志</p> <p><span class="Apple-tab-span"> </span> -c, –configfiles</p> <p><span class="Apple-tab-span"> </span> 查询配置文件</p> <p><span class="Apple-tab-span"> </span> –conflicts</p> <p><span class="Apple-tab-span"> </span> 与谁冲突</p> <p><span class="Apple-tab-span"> </span> -d, –docfiles</p> <p><span class="Apple-tab-span"> </span> 查询程序的文档, 包括帮助文档</p> <p><span class="Apple-tab-span"> </span> -i, –info</p> <p><span class="Apple-tab-span"> </span> 输出程序信息</p> <p><span class="Apple-tab-span"> </span> -l, –list</p> <p><span class="Apple-tab-span"> </span> 列出程序安装完成后生成的所有文件</p> <p><span class="Apple-tab-span"> </span> –scripts</p> <p><span class="Apple-tab-span"> </span> 列出程序包所有脚本</p> <p><span class="Apple-tab-span"> </span> –triggers, –triggerscripts</p> <p><span class="Apple-tab-span"> </span> 触发器脚本</p> <p><span class="Apple-tab-span"> </span> -R, –requires</p> <p><span class="Apple-tab-span"> </span> 查询指定的程序包所依赖的CAPABILITY</p> <p><span class="Apple-tab-span"> </span> –provides</p> <p><span class="Apple-tab-span"> </span> 列出指定程序包所提供的CAPABILITY</p> <p></p> <p><span class="Apple-tab-span"> </span></p> <p>==========yum常用命令的总结===========</p> <p>yum [options] [command] [package …]</p> <p><span class="Apple-tab-span"> </span> yum repolist:显示仓库列表</p> <p><span class="Apple-tab-span"> </span> all 显示所有仓库列表</p> <p><span class="Apple-tab-span"> </span> list显示程序包</p> <p><span class="Apple-tab-span"> </span> all</p> <p><span class="Apple-tab-span"> </span> glob_exp1</p> <p><span class="Apple-tab-span"> </span> avaiable</p> <p><span class="Apple-tab-span"> </span> updates</p> <p><span class="Apple-tab-span"> </span> installed</p> <p> install PACKAGE1 PACKAGE2 …</p> <p><span class="Apple-tab-span"> </span> check-update 检查升级</p> <p><span class="Apple-tab-span"> </span> remove|erase PACKAGE 卸载</p> <p><span class="Apple-tab-span"> </span> 会吧依赖于PACKAGE的包全部卸载</p> <p><span class="Apple-tab-span"> </span> info PACKAGE 查看包信息</p> <p><span class="Apple-tab-span"> </span> provides|whatprovides PACKAGE 查看指定的文件或文件时由哪个程序包提供</p> <p><span class="Apple-tab-span"> </span> clean 清理本地缓存</p> <p><span class="Apple-tab-span"> </span> makecache 构建缓存</p> <p><span class="Apple-tab-span"> </span> search STRING 模糊搜索程序包</p> <p><span class="Apple-tab-span"> </span> reinstall PACKAGE重新安装</p> <p><span class="Apple-tab-span"> </span> downgrade PACKAGE 降级安装</p> <p><span class="Apple-tab-span"> </span> deplist显示包的依赖关系</p> <p><span class="Apple-tab-span"> </span> version 自行man</p> <p><span class="Apple-tab-span"> </span> history 查看yum进行过的事务</p> <p><span class="Apple-tab-span"> </span> history summary查看历史事务摘要</p> <p><span class="Apple-tab-span"> </span> history list 列出事务</p> <p><span class="Apple-tab-span"> </span> history stats 统计</p> <p><span class="Apple-tab-span"> </span> loacalinstall 可以解决依赖关系的本地程序包安装, 建议直接使用install</p> <p><span class="Apple-tab-span"> </span> 包组相关命令:</p> <p><span class="Apple-tab-span"> </span> * groupinstall group1 [group2] […]</p> <p><span class="Apple-tab-span"> </span> 安装</p> <p><span class="Apple-tab-span"> </span> * groupupdate group1 [group2] […]</p> <p><span class="Apple-tab-span"> </span> 更新</p> <p><span class="Apple-tab-span"> </span> * grouplist [hidden] [groupwildcard] […]</p> <p><span class="Apple-tab-span"> </span> 列出</p> <p><span class="Apple-tab-span"> </span> * groupremove group1 [group2] […]</p> <p><span class="Apple-tab-span"> </span> 移除</p> <p><span class="Apple-tab-span"> </span> * groupinfo group1 […]</p> <p><span class="Apple-tab-span"> </span> 查询信息</p> <p></p> <p>=============yum仓库的创建及repo文件的制作===============</p> <p>yum仓库的创建:</p> <p> 1. 准备材料: N个rpm包,比如我把CENTOS7安装镜像中的Packages目录复制到了/root/mydata/yum.sr/中;</p> <pre class="brush:bash;toolbar:false">[root@localhost ~]# ls ./mydata.d/yum.sr/Packages/ | wc -l 3577 <--有3577个package</pre> <p> 2. 使用createrepo命令创建yum仓库:</p> <pre class="brush:bash;toolbar:false">[root@localhost ~]# createrepo -o /root/mydata.d/yum.sr/ /root/mydata.d/yum.sr/Packages/ # -o选项用于指定repodata生成的位置,最后一个参数是rpm包们所在的位置。 Spawning worker 0 with 894 pkgs Spawning worker 1 with 894 pkgs Spawning worker 2 with 894 pkgs Spawning worker 3 with 894 pkgs Workers Finished Saving Primary metadata Saving file lists metadata Saving other metadata Generating sqlite DBs Sqlite DBs complete [root@localhost ~]# ls /root/mydata.d/yum.sr/ Packages repodata # repodata为新生成的目录</pre> <p> 注:若电脑上没有createrepo命令,请使用yum install createrepo自行安装。</p> <p> 3. 创建yum repo文件,并使用vim编辑:</p> <pre class="brush:bash;toolbar:false">[local] <--指定yum源名; name=my rpm base from local <--可以理解为yum源描述; baseurl=file:///root/mydata.d/yum.sr/ <--指定URL或使用“file://”指定本地路径,注意“/”的数量; gpgcheck=0 <--不验证来源及package的完整性(因为是本地自己的文件); enabled=1 <--启用此yum源; --------------以上是vim编辑的内容---------------</pre> <pre class="brush:bash;toolbar:false">[root@localhost yum.repos.d]# vim CentOS-My.repo [root@localhost yum.repos.d]# yum clean all # 清除yum缓存 Loaded plugins: fastestmirror, langpacks Cleaning repos: base cdrom extras local updates Cleaning up everything Cleaning up list of fastest mirrors [root@localhost yum.repos.d]# yum repolist # 重建yum缓存 Loaded plugins: fastestmirror, langpacks base | 3.6 kB 00:00:00 cdrom | 3.6 kB 00:00:00 extras | 3.4 kB 00:00:00 local | 2.9 kB 00:00:00 updates | 3.4 kB 00:00:00 (1/7): cdrom/group_gz | 154 kB 00:00:00 (2/7): local/primary_db | 2.7 MB 00:00:00 (3/7): cdrom/primary_db | 2.7 MB 00:00:00 (4/7): base/7/x86_64/primary_db | 5.1 MB 00:00:00 (5/7): extras/7/x86_64/primary_db | 120 kB 00:00:01 (6/7): base/7/x86_64/group_gz | 154 kB 00:00:01 (7/7): updates/7/x86_64/primary_db | 4.7 MB 00:00:03 Determining fastest mirrors * base: mirrors.btte.net * extras: mirrors.aliyun.com * updates: mirrors.sina.cn repo id repo name status base/7/x86_64 CentOS-7 - Base 8,652 cdrom my rpm base from cdrom 3,576 extras/7/x86_64 CentOS-7 - Extras 285 local my rpm base from local 3,576 updates/7/x86_64 CentOS-7 - Updates 1,726 repolist: 17,815 # “local” yum源创建成功,且其与cdrom一致,因为local的pakages源于cdrom。 [root@localhost yum.repos.d]#</pre> <p></p> <p>===========编译安装=========</p> <p>前提要有开发环境,最起码gcc应该装上;</p> <p>安装方法见下面;</p> <p>以编译安装Apache为例:</p> <pre class="brush:bash;toolbar:false">[root@localhost ~]# wget http://mirror.bit.edu.cn/apache/httpd/httpd-2.4.17.tar.bz2 ...下载过程省略...</pre> <p>文件会下载到你的当前目录。</p> <p>解压缩下载到的文件:</p> <pre class="brush:bash;toolbar:false">[root@localhost ~]# ls anaconda-ks.cfg httpd-2.4.17.tar.bz2 mydata.d pingpc.sh rc2.d.sh # httpd-2.4.17.tar.bz2为下载到的文件; [root@localhost ~]# tar -jxf httpd-2.4.17.tar.bz2 # 解压缩文件 [root@localhost ~]# ls anaconda-ks.cfg httpd-2.4.17 httpd-2.4.17.tar.bz2 mydata.d pingpc.sh rc2.d.sh # httpd-2.4.17 为解压后的目录</pre> <p>然后运行解压目录下的configure文件,但是configure文件可能会提示错误,大多是因为缺少某个程序,根据命令查找,安装即可,比如:</p> <pre class="brush:bash;toolbar:false">[root@localhost httpd-2.4.17]# yum search pcre Loaded plugins: fastestmirror, langpacks Loading mirror speeds from cached hostfile * base: mirrors.btte.net * extras: mirrors.aliyun.com * updates: mirrors.sina.cn ======================================= N/S matched: pcre ======================================== pcre-devel.i686 : Development files for pcre pcre-devel.x86_64 : Development files for pcre pcre-static.i686 : Static library for pcre pcre-static.x86_64 : Static library for pcre pcre-tools.x86_64 : Auxiliary utilities for pcre pcre.i686 : Perl-compatible regular expression library pcre.x86_64 : Perl-compatible regular expression library Name and summary matches only, use "search all" for everything. [root@localhost httpd-2.4.17]# yum install pcre</pre> <p>然后再执行configure文件;</p> <p>执行make命令;</p> <p>执行make install命令;</p> <p>正常情况下到此即为安装完成。</p> <p></p> <p></p> <p></p> <p></p> <p></p> <p></p> <p></p> <p></p> <p></p> <p></p> <p></p> <p></p> <p></p> 最后修改:2021 年 12 月 10 日 10 : 53 AM © 允许规范转载 赞赏 如果觉得我的文章对你有用,请随意赞赏 赞赏作者 支付宝微信