linux基础—课堂随笔06_软件包管理
软件包管理
rpm
包和包管理器
- 包的组成:
二进制文件、库文件、配置文件、帮助文件 - 程序包管理器:
debian: deb文件,dpkg包管理器
redhat:rpm文件,rpm包管理器
rpm:Redhat Package Manager
RPM Package Manager
rpm包管理
- CentOS系统上使用rpm命令管理程序包: 安装、卸载、升级、查询、校验、数据库维护
安装:
rpm {-i|--install} [install-options] PACKAGE_FILE…
-v: 显示安装过程信息
-vv:显示更详细的安装信息
-h: 以#显示程序包管理执行进度
rpm包安装
[安装选项]
--test: 测试安装,但不真正执行安装,即dry run模式
--nodeps:忽略依赖关系
--replacepkgs | replacefiles
(覆盖安装 | 只覆盖有冲突的文件)
--nosignature: 不检查来源合法性
--nodigest:不检查包完整性
--noscripts:不执行程序包脚本
rpm包升级
rpm {-U|--upgrade} [install-options] PACKAGE_FILE...
rpm {-F|--freshen} [install-options] PACKAGE_FILE...
upgrade:安装有旧版程序包,则“升级”
如果不存在旧版程序包,则“安装”
freshen:安装有旧版程序包,则“升级”
如果不存在旧版程序包,则不执行升级操作
rpm -Uvh PACKAGE_FILE ...
rpm -Fvh PACKAGE_FILE ...
--oldpackage:降级
--force: 强制安装
包查询
- rpm {-q|--查询} [选择-选项] [查询-选项]
- [选择-选项]
-a:列出所有包
rpm -qa |grep dst 模糊搜索已安装的带有dst的包的包名
-f:查看指定的文件由哪个程序包安装生成
rpm -qf /usr/bin/tree 查看tree文件来自于哪个rpm包
-p rpmfile:针对尚未安装的程序包文件做查询操作(后面跟文件名,而不是包名)
--whatprovides CAPABILITY:查询指定的CAPABILITY由哪个包所提供
--whatrequires CAPABILITY:查询指定的CAPABILITY被哪个包所依赖
(例子:rpm -q --whatrequires bash 查看依赖bash能力的rpm包,卸载bash之后依赖bash的rpm包无法使用) - [选择-选项] --changelog:查询rpm包的更新日志
-c:查询程序的配置文件
-d:查询程序的文档
-i:信息 -l:查看指定的程序包安装后生成的所有文件
--脚本:程序包自带的脚本
--provides:列出指定程序包所提供的 CAPABILITY
-R:查询指定的程序包所依赖的CAPABILITY - 常用查询方法
-qi
-qpi
-qa - 包卸载
rpm {-e|--erase} [--allmatches] [--nodeps] [--noscripts] [--notriggers] [--test] PACKAGE_NAME
rpm数据库:记录安装的所有rpm包,以及包中包括的所有文件列表的源数据
- 数据库重建
/var/lib/rpm - rpm {--initdb|--rebuilddb}
initdb: 初始化
如果事先不存在数据库,则新建之
否则,不执行任何操作
rebuilddb:重建已安装的包头的数据库索引目录
yum
基本用法:
1、安装rpm包:
yum install RPM包2、删除rpm包,包括与该包有依赖性的包:
yum remove 包名3、检查可更新的rpm包:
yum check-update4、更新所有的rpm包:
yum update5、更新指定的rpm包:
yum update 包名6、大规模的升级版本:
yum upgrade7、列出资源库中所有可以安装或更新的rpm包的信息: yum info
8、列出资源库中特定的可以安装或更新以及已经安装的rpm包的信息:
yum info 包名9、列出资源库中所有可以更新的rpm包的信息:
yum info updates10、列出已经安装的所有的rpm包的信息:
yum info installed11、列出已经安装的但是不包含在资源库中的rpm包信息:
yum info 包名
12、列出资源库中所有可以更新的rpm包:
yum list updates13、列出已经安装的所有rpm包:
yum list installed14、列出已经安装的但不包含在资源库中的rpm包:
yum list extras15、列出资源库中所有可以安装或更新的rpm包:
yum list16、列出资源库中特定的可以安装或更新以及已经安装的rpm包:
yum list 包名17、搜索匹配特定字符的rpm包的详细信息:
yum search 包名18、搜索包含特定文件名的rpm包:
yum provides 包名19、清除暂存的rpm包文件:
yum clean packages20、清除暂存的rpm头文件:
yum clean headers21、清除暂存中旧的rpm旧文件:
yum clean oldheaders22、清除暂存中旧的rpm头文件和包文件:
yum clean或yum clean all
linux基础—课堂随笔06_软件包管理的更多相关文章
- linux基础—课堂随笔010_系统启动和内核管理
系统启动和内核管理 Linux: kernel+rootfs kernel: 进程管理.内存管理.网络管理.驱动程序.文件系统.安全功能 rootfs:程序和glibc 库:函数集合, functio ...
- linux基础—课堂随笔08_进程(转)
进程优先级 命令 pstree -p 显示各个子线程 ps 进程状态(process state) UNIX风格:ps -ef BSD风格:ps aux 还有用到o参数,选项显示定制的信息: pid. ...
- linux基础—课堂随笔07_磁盘存储和文件系统
磁盘管理 管理分区 列出块设备 lsblk parted命令 高级分区操作 用法: parted [选项]... [设备 [命令 [参数]...]...] parted /dev/sdb mkl ...
- linux基础—课堂随笔05_文本三剑客之SED
1.简介 sed是非交互式的编辑器,它不会修改文件,除非使用shell重定向来保存结果.默认情况下,所有的输出行都被打印到屏幕上. sed编辑器逐行处理文件(或输入),并将结果发送到屏幕.具体过程如下 ...
- linux基础—课堂随笔_03 SHELL脚本编程基础
shell脚本编程基础 条件选择:if语句 选择执行: 注意:if语句可嵌套 单分支 if(开头)判断条件:then条件为真的分支代码 fi(结尾) 双分支 if(开头)判断条件:then条件为真的分 ...
- linux基础—课堂随笔09_数组
数组:(6.14 第一节) 取分区利用率,大于百分之八十则发出警报 取分区第一列 取分区使用率: 脚本: 检查脚本语法: ——end 数组切片: 1.跳过前两个取后面 2.跳过前两个取三个 生成10个 ...
- linux基础—课堂随笔04_文件查找和压缩
文件查找和压缩 文件查找 1.locate 这个命令是对其生成的数据库进行遍历(生成数据库的命令:updatedb),这一特性决定了用locate查找文件速度很快,但是locate命令只能对文件进 ...
- Linux 基础教程 35-软件包管理-YUM
YUM基础 使用RPM在Linux中安装.卸载软件或服务进会经常碰到RPM包的依赖,而我们在安装软件A时,提示依赖于软件B,安装软件B时又会出现提示依赖于软件C等一系列的依赖关系.这时大家会提 ...
- Linux 基础教程 34-软件包管理-RPM
对于Linux而言管理各类软件,如安装.卸载和升级等是常有的事情和必备的技能.以CentOS为例,常用的安装包命令有rpm和yum. RPM基础 RPM(RedHat Package ...
随机推荐
- avast关闭DeepScreen
在“设置”-“防病毒”-去掉“启用 DeepScreen”.
- maven 依赖原则
maven 依赖原则 ###间接依赖路径最短优先 a->b->c1.0 a->e->f->c1.1 ====>c1.0 申明顺序优先 <!-- test1 - ...
- 【VS开发】VS2010中导入ActiveX控件
方法1: 1.首先在在项目上面右击添加类,如下图所示: 2.点击添加ActiveX控件中的MFC类 3.找到需要添加的ActiveX类. 4.点击完成即可. 5.此时转到资源视图,打开如下视图.可能工 ...
- python 下安装pymysql数据库
两种方法来安装pymysql 方法一.利用命令来安装 安装:python37 -m pip install pymysql 升级:python37 -m pip install pymysql --u ...
- Linux 防火墙设置常用指令
查看防火墙状态命令: service firewalld status systemctl status firewalld 结果: 其中: enabled:开机启动(开机不启动是disabled ...
- 【LOJ】#3044. 「ZJOI2019」Minimax 搜索
LOJ#3044. 「ZJOI2019」Minimax 搜索 一个菜鸡的50pts暴力 设\(dp[u][j]\)表示\(u\)用\(j\)次操作能使得\(u\)的大小改变的方案数 设每个点的初始答案 ...
- (五)Java秒杀项目之页面优化
一.页面缓存+URL缓存+对象缓存 1.通过加缓存来减少对数据库的访问 2.步骤: 取缓存 手动渲染模版 结果输出 3.页面缓存和URL缓存的过期时间比较短,比较适合变化不大的场景,比如商品列表页.而 ...
- Linux就该这么学——新手必须掌握的命令之打包压缩与搜索命令组
tar命令 用途 : 对文件进行打包或者解压 格式 : tar [选项] [文件] 表 tar命令的参数及作用 参数 作用 -c 创建压缩文件 -x 解开压缩文件 -t 查看压缩包内有哪些文件 -z ...
- 刨根究底字符编码之十——Unicode字符集的编码方式以及码点、码元
Unicode字符集的编码方式以及码点.码元 一.字符编码方式CEF的选择 1. 由于Unicode字符集非常大,有些字符的编号(码点值)需要两个或两个以上字节来表示,而要对这样的编号进行编码,也必须 ...
- 数值优化(Numerical Optimization)学习系列-无梯度优化(Derivative-Free Optimization)
数值优化(Numerical Optimization)学习系列-无梯度优化(Derivative-Free Optimization) 2015年12月27日 18:51:19 下一步 阅读数 43 ...