14-2常见软件包管理任务
三、常见软件包管理任务
命令行软件包管理工具可以完成许多操作,下面介绍一些较常见的。 有一点要说明,低级工具也支持软件包文件的创建(但不在本书的讨论范围)。 在下面的讨论中,单词 package_name 指软件包的实际名称,而 package_file 则是指包含该软件包的文件名。
1.在库里面查找软件包
通过使用高级工具(进行元数据搜索及提供依赖性解决的高级工具)来搜索库元数据时,可以根据 包文件 或 其描述 来查找该包。
(1)包搜索命令
系统类型 |
命令 |
---|---|
Debian 类(如:Ubuntu) |
apt-get update ; apt-cache search [search_string](两个命令是一起使用的) |
Red-Hat 系统 |
yum search [search_string] |
注:search_string就是文件名或其描述。
① yum search-包搜索命令
Ⅰ.在Red-Hat系统的yum库中搜索emac文本编辑器
yum search emac
2.安装库中的软件包
高级工具允许从库中下载、安装软件包,同时安装所有的依赖包。
(1)软件包安装命令
系统类型 |
命令 |
---|---|
Debian 类(如:Ubuntu) |
apt-get update ; apt-get install [package_name] |
Red-Hat 系统 |
yum install [package_name] |
① 示例
Ⅰ.
在 Debian 系统上安装 apt 元数据库中的 emac 文本编辑器。
apt-get update;apt-get install emacs
# 通过冒号分隔两条命令使得可共存在1行中。
3.安装软件包文件中的软件包
如果软件包文件并不是从库源中下载的,那么就可以用低级工具直接安装(但并不安装依赖性关系)。
(1)软件包安装命令
系统类型 |
命令 |
---|---|
Debian 类(如:Ubuntu) |
dpkg --install package_file |
Red-Hat 系统 |
rpm -i package_file |
注:package_file 则是指包含该软件包的文件名。
① 示例
Ⅰ.
当 emacs-22.17-7.fc7-i386.rpm 软件包文件从非库资源网站下载时,可采用以下方式安装到 Red Hat 系统中。
rpm -i emacs-22.17-7.fc7-i386.rpm
Ⅱ.注意
由于该方法采用低级 rpm 工具,所以并不会解决依赖性关系。 一旦 rpm 在安装过程中发现缺少依赖包,rpm 就会跳出错误后退出。
4.删除软件包
卸载软件包可利用高级工具和低级工具。
(1)高级工具软件包移除命令
系统类型 |
命令 |
---|---|
Debian 类(如:Ubuntu) |
apt-get remove package_name |
Red-Hat 系统 |
yum erase package_name |
注:
package_name 指软件包的实际名称。
① 示例
从 Debian 系统中卸载 emacs 软件包。
apt-get remove emacs
# apt-get 是 Debian 类的高级工具。
5.更新库中的软件包
最常见的软件包管理任务是 保持系统安装最新的软件包。高级工具仅需要一步便可完成此重要任务。(注意:这是更新库中的。)
(1)软件包更新命令
系统类型 |
命令 |
---|---|
Debian 类 |
apt-get update ; apt-get upgrade |
Red Hat 系统系列 |
yum update |
① 示例
Ⅰ.
更新所有已安装在 Debian 系统中的可更新软件包。代码如下:
apt-get update;apt-get upgrade
# 通过冒号分隔两条命令使得可共存在1行中。
6.更新软件包文件中的软件包
如果软件包的更新版本已从非库源中下载,那么我们就可以用下表所列的命令进行安装更新从而取代原版本。
(1)低级工具的软件包更新命令
系统类型 |
命令 |
---|---|
Debian 类 |
dpkg --install package_file |
Red Hat 系统系列 |
rpm -U package_file |
注:package_file 则是指包含该软件包的文件名。
① 示例
Ⅰ.
将 Red Hat 系统上已安装好的 emac 程序更新为 emacs-22.1-7.fc7-i386.rpm 软件包文件中的版本。代码如下:
rpm -U emacs-22.1-7.fc7-i386.rpm
② 注意
与 rpm 命令不同,dpkg 命令在更新软件包时并没有指定的参数选项,只有在安装软件包时才有。
7.列出已安装的软件包列表(准)
下表中所列出的命令用于显示系统上所有已安装的软件包列表。
(1)低级工具-软件包列表命令
系统类型 |
命令 |
---|---|
Debian 类 |
dpkg --list |
Red Hat 系统系列 |
rpm -qa |
8.判断软件包是否安装(准)
下表中所列的为低级工具用于判断系统是否已安装某个软件的命令。
(1)低级工具-软件包状态命令
系统类型 |
命令 |
---|---|
Debian 类 |
dpkg --status package_name |
Red Hat 系统系列 |
rpm -q package_name |
注:package_name 指软件包的实际名称。
① 示例
Ⅰ.
判断 emac 程序包在 Debian 系统中是否已安装。
dpkg --status emacs
9.显示已安装软件包的相关信息(准)
在已知已安装的软件包的名称 的情况下,便可用下表中的命令显示该软件包的描述信息。
(1)软件包信息查看命令
系统类型 |
命令 |
---|---|
Debian 类 |
apt-cache show package_name |
Red Hat 系统系列 |
**yum info package_name ** |
注:package_name 指软件包的实际名称。
① 示例
Ⅰ.
查看 Debian 系统上 emac 软件包的描述信息。
apt-cache show emacs
10.查看某具体文件由哪个软件包安装得到(准)
下表中的命令用来判断某个特定的文件是由哪个软件包负责安装的。
(1)低级工具-查询文件所属命令
系统类型 |
命令 |
---|---|
Debian 类 |
dpkg --search file_name |
Red Hat 系统系列 |
rpm -qf file_name |
① 示例
Ⅰ.
查看 Red Hat 系统中哪个软件包安装了 /usr/bin/vim 目录下的文件。
rpm -qf /usr/bin/vim
- orabbix结合python发送图形报表(二) (r6笔记第38天)
- 14(01)正则表达式,Pattern,Mactcher,Math,BigInteger,BigDeximal,System等
- oracle的TAF浅析 (r6笔记第37天)
- R语言高级绘图命令(标题-颜色等)
- 14(02)正则表达式,Pattern,Mactcher,Math,BigInteger,BigDeximal,System等
- R语言 判别分析
- Apache、struts1、struts2文件上传下载的3种方式
- 解析实时的DB time过程分析(r6笔记第35天)
- sql嵌入html格式显示报表(r6笔记第34天)
- hive计算日期差函数datediff,hive修改日期连接符
- 深度学习界的 “吃鸡挂”——目标检测 SSD 实验
- Hadoop查看所有JOB以及如何Kill指定用户的所有Job
- Java基础-23(01)总结多线程,线程实现Runnable接口,线程名字获取和设置,线程控制,线程安全,同步线程
- ORA-01427问题的分析和解决(r6笔记第51天)
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Java Stream函数式编程第三篇:管道流结果处理
- MySQL慢查询日志
- Pandas处理时间序列数据的20个关键知识点
- CentOS7下的LNMP环境搭建Dedecms网站
- 持久层框架JPA与Mybatis该如何选型
- 技术分享 | Online DDL 工具 pt-osc
- 基于hexo框架搭建个人博客【技术创作训练营】
- 对比讲解lambda表达式与传统接口函数实现方式
- 如何使用Java8 Stream API对Map按键或值进行排序
- TencentOS tiny RTOS快速入门
- Nginx用户认证与域名重定向
- LNMP架构介绍与搭建
- Mac 最新版Python3.7.4安装配置,设置默认python版本
- 15个应该掌握的Jupyter Notebook 使用技巧
- python 环境重启方法,系统环境变量配置后python生效设置方法