Linux学习笔记——软件包管理
1.RPM包的管理
RPM软件包的一个例子:
sudo-1.7.2p1-5.el5.i386.rpm
这个rpm包名包括软件名sudo,版本号1.7.2p1,发行号5.el5,和硬件平台i386
(1)安装
挂载光盘:
mkdir /mnt/cdrom
mount /dev/cdrom /mnt/cdrom
# rpm -ivh sudo-1.7.2p1-5.el5.i386.rpm
-ivh是可选的,一般来说i是必选的,v表示显示安装信息,h表示用#表示安装进度
在CentOs光盘中,包含了所有核心rpm的二进制包,可以使用 ls | grep sudo命令来查找sudo安装包
几个相关的命令:
rpm -q sudo 查询sudo工具是否已经安装
rpm -qa | grep sudo 查询与sudo相关的所有软件包
其它安装选项:
--excludedocs 不安装软件包中的文档文件
--prefix PATH 将软件包安转到有PATH指定的路径下
--test 只对安装进行测试,并不实际安装
rpm -ivh --excludedocs sudo 这里的--excludedocs有两个--
对于 --prefix PATH没有多少意义,因为大多数rpm安装包不允许指定安装路径
A.覆盖安装
当使用rpm -ivh安装软件提示如下信息时:
package sudo-1.7.2p1-5.el5.i386 is already installed
如果想覆盖安装该软件包,可以在命令行中使用 --replacekgs 选项
B.文件冲突
如果要安装的软件包有一个文件已经在安装其他软件包时安装,会出现以下错误信息:
#rpm -ivh sudo-1.7.2p1-5.el5.i386.rpm
conflicts with file from bark-3.2-11
sudo-1.7.2p1-5.el5.i386.rpm cannot be installed
如果想要RPM忽略该错误信息,可以使用 --replacefiles 命令行选项
C.未解决依赖关系
RPM软件包可能依赖于其它软件包,在安装了特定软件包之后才能安装该软件包。
#rpm -ivh sudo-1.7.2p1-5.el5.i386.rpm
failed dependencies:
sudo is needed by bark-3.2-11
你必须安装完所依赖的软件包,才能解决这个问题,强制安装可以使用 --nodeps 选项
(2)卸载
# rpm -e sudo
注:a.如果其它软件包有依赖关系,卸载时会产生提示信息,可使用-nodeps强行卸载
b.rpm -e sudo 这里写的是软件名sudo,而不是软件包名称
(3)升级
#rpm -Uvh sudo-1.7.2p1-5.el5.i386.rpm
注:U是大写的
下面给出几个RPM包管理的常用命令:
| 命令 | 功能 |
| rpm -qf | 查询文件隶属的软件包 |
| rpm -qi、rpm -qip | 查询软件包信息 |
| rpm -ql、rpm -qlp | 查询软件包安装文件 |
| rpm -qd | 查询软件包帮助文档 |
| rpm -qc | 查询软件包配置文件 |
a. rpm -qi是查看已经安装的软件的信息,而-qip是查询没有安装的软件包的信息;
b. rpm -qi 软件名 rpm -qip 软件包名
c. rpm -ql sudo 查看一个软件在系统安装了哪些文件
d. rpm -qlp 包名 查看一个将要安装的软件需要在哪些目录安装文件
e. rpm -qa | grep vim 查询已安装的软件包
2.YUM包管理
使用yum的好处在于,它不仅能自动解决软件包之间的依赖关系,还能很方便的进行软件升级。
下面是常见的yum管理命令:
| 命令 | 功能 |
| yum install | 安装 |
| yum check-update | 检测升级 |
| yum update | 升级 |
| yum list | 软件包查询 |
| yum info | 软件包信息 |
| yum remove | 卸载 |
| yum -help、man yum | 帮助 |
Linux学习笔记——软件包管理的更多相关文章
- linux 学习笔记 软件包管理
>查询文件所属软件包 #rpm -qf /usr/share/pixmaps/xplns.png 查询某个文件所属软件包 >查询软件包所包含文件列表 #rpm -ql xplus-3.3. ...
- linux 学习6 软件包管理 资料链接
软件包管理 这一章看得比较随意 先大概记点东西. RPM安装很繁琐,因为依赖性,手动安装太麻烦. ______我觉得直接yum在线安装就好了,很直接方便. 但是要特别注意的地方 在用yum升级或者卸载 ...
- linux学习笔记-软件包的相关知识
我的邮箱地址:zytrenren@163.com欢迎大家交流学习纠错! 一.软件包种类 1.源码包 源码包即提供源代码的发行包 2.二进制包 二进制包即提供二进制文件的发行包 安装方法查找二进制包官网 ...
- Linux学习笔记---用户管理---帐号管理
root管理 (1)新增用户:useradd -u 指定UID -g 指定GID -G 作为组员添加到某个组 -M 不创建主用户目录 -m 创建主用户目录 -c 用户信息说明列 -d 指定某个目录为主 ...
- Linux学习笔记---用户管理---组group
组管理: (1)/etc/group 格式: 组名:密码:GID:组员
- [转帖]Linux学习笔记之rpm包管理功能全解
Linux学习笔记之rpm包管理功能全解 https://www.cnblogs.com/JetpropelledSnake/p/11177277.html rpm 的管理命令 之前学习过 yum 的 ...
- Linux学习笔记(五) 账号管理
1.用户与组账号 用户账号:包括实际人员和逻辑性对象(例如应用程序执行特定工作的账号) 每一个用户账号包含一个唯一的用户 ID 和组 ID 标准用户是系统安装过程中自动创建的用户账号,其中除 root ...
- Linux学习笔记(六) 进程管理
1.进程基础 当输入一个命令时,shell 会同时启动一个进程,这种任务与进程分离的方式是 Linux 系统上重要的概念 每个执行的任务都称为进程,在每个进程启动时,系统都会给它指定一个唯一的 ID, ...
- Linux 学习笔记
Linux学习笔记 请切换web视图查看,表格比较大,方法:视图>>web板式视图 博客园不能粘贴图片吗 http://wenku.baidu.com/view/bda1c3067fd53 ...
随机推荐
- TOKEN+签名验证
TOKEN+签名验证 首先问大家一个问题,你在写开放的API接口时是如何保证数据的安全性的?先来看看有哪些安全性问题在开放的api接口中,我们通过http Post或者Get方式请求服务器的时候,会面 ...
- android apk 反编译
Apk文件结构 apk文件实际是一个zip压缩包,可以通过解压缩工具解开.以下是我们用zip解开helloworld.apk文件后看到的内容.可以看到其结构跟新建立的工程结构有些类似. java代码: ...
- apache+tomcat 负载均衡
说明:本篇不面向无开发基础的人员,所以不会有软件下载,jdk安装等步骤.比较久远的东西了...... 1.系统环境 win7-64.jdk 2.软件列表: apache_2.2.24-x64-no-s ...
- MD5算法步骤详解
转自MD5算法步骤详解 之前要写一个MD5程序,但是从网络上看到的资料基本上一样,只是讲了一个大概.经过我自己的实践,我决定写一个心得,给需要实现MD5,但又不要求很高深的编程知识的童鞋参考.不多说了 ...
- linux相关办公软件汇总
ubuntu pdf阅读器 FoxitReader_1.1.0_i386.deb ubuntu 下的PDF阅读器(超级好使) Ubuntu下的chm和PDF阅读器 ubuntu便签软件xpad sud ...
- USB Type-C接口完美无瑕?小心这五点
今年下半年发布的新手机中,采用USB Type-C接口与传统micro USB接口的手机,所占比例大概是一半对一半.采用Type-C接口的手机大多数都是国产手机,而像三星.摩托罗拉以及索尼等老牌的手机 ...
- Altium自定义的快捷键设置
我想要在AD09里面设置自定义的快捷键,例如将布线设置成键盘上的字母E键,如何设置求大神指点!感激不尽!!! 为什么快捷键都要发一篇文章呢?主要是AD换层的快捷键是*号,与其他快捷键离的很远,一个AD ...
- OpenCV学习笔记:如何扫描图像、利用查找表和计时
目的 我们将探索以下问题的答案: 如何遍历图像中的每一个像素? OpenCV的矩阵值是如何存储的? 如何测试我们所实现算法的性能? 查找表是什么?为什么要用它? 测试用例 这里我们测试的,是一种简单的 ...
- Web Service学习笔记(webservice、soap、wsdl、jws详细分析)
Web Service概述 Web Service的定义 W3C组织对其的定义如下,它是一个软件系统,为了支持跨网络的机器间相互操作交互而设计.Web Service服务通常被定义为一组模块化的API ...
- 【HDOJ】3909 Sudoku
DLX的应用,基本题,注意maxnode开大点儿. /* 3909 */ #include <iostream> #include <string> #include < ...