文档章节

[Linux学习笔记] Linux软件包管理

LSantorini
 LSantorini
发布于 2015/11/28 21:59
字数 1482
阅读 76
收藏 9

Linux软件包管理:

在讲解如何使用rpm,yum来管理软件包前,我们先来看一个很重要的知识点,如何挂在光盘。

实验环境下,首先要将CentOS安装镜像光盘载入,如下截图:

注意: 此时CentOS系统处于已启动状态.

挂载光盘:

[root@localhost ~]# mkdir /mnt/cdrom
[root@localhost ~]# mount /dev/cdrom /mnt/cdrom/
mount: /dev/sr0 is write-protected, mounting read-only

另外接下来讲解软件包的管理,我们将以 sudo-1.8.6p7-13.el7.x86_64.rpm(sudo命令用来获取临时的root权限,为系统缺省装) 为例讲解。

RPM包管理:

RPM是RedHat Package Manager(RedHat软件包管理工具)类似Windows里面的"添加/删除程序". 

(1) 卸载

命令: rpm -e [rpm软件包名称简写]
举例:
[root@localhost ~]# rpm -e sudo
[root@localhost ~]# rpm -evh sudo     #显示卸载进度

注意: 如果与其他软件包有依赖关系,卸载时会产生提示信息,可使用 --nodeps 强行卸载.

(2) 安装

命令: rpm -ivh [rpm软件包名称全写]
说明: ivh: 安装显示安装进度 --install --verbose --hash

我们将从CentOS系统关盘安装sudo-1.8.6p7-13.el7.x86_64.rpm软件包,首先要完成上述挂载光盘

[root@localhost home]# cd /mnt/cdrom/
[root@localhost cdrom]# ls
CentOS_BuildTag  EULA  images    LiveOS    repodata              RPM-GPG-KEY-CentOS-Testing-7
EFI              GPL   isolinux  Packages  RPM-GPG-KEY-CentOS-7  TRANS.TBL
[root@localhost cdrom]# cd Packages/
[root@localhost Packages]# ls | grep sudo    #找到sudo的rpm软件包
sudo-1.8.6p7-13.el7.x86_64.rpm
[root@localhost Packages]# rpm -ivh sudo-1.8.6p7-13.el7.x86_64.rpm    #安装sudo的rpm软件包
Preparing...                          ################################# [100%]
Updating / installing...
   1:sudo-1.8.6p7-13.el7              ################################# [100%]

注意: CentOS-7系统将系统安装时缺省的软件包放到了/Packages目录,而CentOS-7之前的版本将自带的软件包放置于/CentOS目录,本节中我们以CentOS-7为例

(3) 查询

命令: rpm -q [rpm软件包名称简写]
选项:
-a    查询所有已安装的软件包
-f    查询文件所属软件包
-p    查询软件包  
-i    显示软件包信息
-l    显示软件包中的文件列表
-d    显示被标注为文档的文件列表
-c    显示被标注为配置文件的文件列表
查询案例:
1.查询文件隶属的软件包: rpm -qf
2.查询软件包信息: rpm -qi、rpm -qip(i表示information, p表示package)
3.查询软件包安装文件: rpm -ql、rpm -qlp(l表示list, list files in package)
4.查询软件包帮助文档: rpm -qd(d表示document files)
5.查询软件包配置文件: rpm -qc(c表示config files)
举例:
[root@localhost Packages]# rpm -q sudo
sudo-1.8.6p7-13.el7.x86_64

rpm其他安装选项:

--excludedocs    不安装软件包的文档文件
--prifix PTAH    将软件包安装到由PATH指定的路径下
--test           只对安装进行测试,并不实际安装
--replacepkgs    覆盖安装软件包
--replacefiles   出现文件冲突,忽略冲突信息覆盖安装
--nodeps         RPM软件包可能依赖于其他软件包,在安装了特定的软件包之后才能安装该软件包.使用--nodeps强制安装

(4) 升级

命令: rpm -Uvh [软件包名称全写]
举例:
[root@localhost Packages]# rpm -Uvh sudo-1.8.6p7-13.el7.x86_64.rpm

(5) 校验

命令: rpm -V 软件名称
校验结果说明:
S    文件大小
M    文件的权限
5    文件的md5校验值
L    链接文件
T    文件的创建时间
D    设备文件
U    文件的用户
G    文件的用户组

(6) 软件包文件提取

解压所有文件到当前目录:
#rpm2cpio /mnt/cdrom/Packages/initscripts-9.49.24-1.el7.x86_64.rpm | cpio -idv
解压指定文件到当前目录:
#rpm2cpio /mnt/cdrom/Packages/initscripts-9.49.24-1.el7.x86_64.rpm | cpio -idv ./etc/inittab

注意: 为扩展,有了软件包文件的提取,如此我们就可以恢复系统中或软件中被修改、篡改或删除的文件了. 步骤如下:

1.rpm -V命令校验,查看软件包文件的状态;
2.使用rpm2cpio提取指定文件
3.替换或覆盖需要恢复的文件

YUM包管理:

[百度百科] Yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装. 

安装: yum install
检测升级: yum check-update
升级: yum update
软件包查询: yum list
软件包信息: yum info
卸载: yum remove
帮助: yum --help, man yum

源代码包安装与卸载:

以proftpd为例来说明源代码包的安装与卸载。

(1)源代码包的安装:
[root@localhost proftpd]# ls
proftpd-1.3.4b.tar.gz
[root@localhost proftpd]# tar -zxvf proftpd-1.3.4b.tar.gz 
[root@localhost proftpd]# ls
proftpd-1.3.4b  proftpd-1.3.4b.tar.gz
[root@localhost proftpd]# cd proftpd-1.3.4b/
[root@localhost proftpd-1.3.4b]# ls
acconfig.h    configure     include     m4             README               README.DSO      README.PAM             src
aclocal.m4    configure.in  INSTALL     Makefile.in    README.AIX           README.facl     README.ports           stamp-h.in
ChangeLog     contrib       install-sh  Make.rules.in  README.capabilities  README.FreeBSD  README.Solaris2.5x     tests
config.guess  COPYING       lib         modules        README.classes       README.IPv6     README.Unixware        utils
config.h.in   CREDITS       locale      NEWS           README.controls      README.LDAP     RELEASE_NOTES
config.sub    doc           ltmain.sh   proftpd.spec   README.cygwin        README.modules  sample-configurations
[root@localhost proftpd-1.3.4b]# ./configure --prefix=/usr/local/proftpd    #配置
[root@localhost proftpd-1.3.4b]# make
[root@localhost proftpd-1.3.4b]# make install

(2)源代码包的卸载:
[root@localhost local]# ls -l | grep proftpd
drwxr-xr-x. 10 root root 97 Nov 28 09:56 proftpd
[root@localhost local]# rm -rf proftpd/

脚本安装与卸载:

以webmin为例来说明脚本安装与卸载。

[root@localhost webmin]# ls
webmin-1.740.tar.gz
[root@localhost webmin]# tar -zxvf webmin-1.740.tar.gz
[root@localhost webmin]# ls
webmin-1.740  webmin-1.740.tar.gz
[root@localhost webmin]# cd webmin-1.740/
[root@localhost webmin-1.740]# ./setup.sh
安装中...
安装过程中会显示:
Creating uninstall script /etc/webmin/uninstall.sh ..
..done
如此我们可以使用/etc/webmin/uninstall.sh来卸载webmin

注意: CentOS在webmin安装后外部主机不能访问,原因是CentOS中的防火墙规则较严密,需要将10000端口加入信任端口,

[root@localhost webmin]# cd /etc/sysconfig/
[root@localhost sysconfig]# iptables -I INPUT -p TCP --dport 10000 -j ACCEPT











© 著作权归作者所有

共有 人打赏支持
LSantorini
粉丝 12
博文 34
码字总数 38213
作品 0
呼和浩特
程序员
Yoda:您的 Linux 系统命令行个人助理

不久前,我们介绍了一个名为 “Betty” 的命令行虚拟助手。今天,我偶然发现了一个类似的实用程序,叫做 “Yoda”。Yoda 是一个命令行个人助理,可以帮助您在 Linux 中完成一些琐碎的任务。它...

作者: Sk
04/29
0
0
linux 系统常用的C语言函数库

pkg-config --list-all 查看系统己安装库(yum install pkgconfig sudo apt-get install pkgconfig) Linux From Scratch http://man.chinaunix.net/linux/lfs/htmlbook/index.html LINUX 文档......

慎道
2011/07/12
0
0
Linux命令行是什么?Linux云计算运维学习

Linux是—个主要通过命令行来进行管理的操作系统,即通过键盘输入指令来管理系统的相关操作,这和Windows系统使用鼠标命击的可视化管理大不相同。 使用鼠标可视化管理的优势是简单、容易上手...

老男孩Linux培训
06/22
0
0
KVM虚拟化学习笔记系列文章列表

kvm虚拟化学习笔记(一)之kvm虚拟化环境安装 http://koumm.blog.51cto.com/703525/1288795 kvm虚拟化学习笔记(二)之linux kvm虚拟机安装 http://koumm.blog.51cto.com/703525/1289627 kvm虚拟...

蓝狐乐队
2015/03/19
0
0
深入讲解RPM包安装/升级/查询/卸载

新的一年到来,学习Linux的人逐渐增多,学习Linux,你可能会遇到RPM包安装/升级/查询/卸载问题,这里将介绍RPM包安装/升级/查询/卸载的解决方法,在这里拿出来和大家分享一下。 安装,升级和...

张超
2014/03/12
0
0

没有更多内容

加载失败,请刷新页面

加载更多

使用xtrabackup完成远程备份

转载收藏,以防丢失 需求 Can I backup remote databases from my local server02-27-2013, 06:17 AMHi, I am using mysqldump so far for taking daily backups of my Production datab......

阿dai
18分钟前
1
0
OSChina 周五乱弹 —— 心情超级好开始乱删库

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @莱布妮子:分享Charli XCX的单曲《Boom Clap》 《Boom Clap》—— Charli XCX 手机党少年们想听歌,请使劲儿戳(这里) 把生命除去上班时间,...

小小编辑
19分钟前
5
7
为什么你的python版本一团糟?因为少了这个操作

坑人的版本 Python 的版本问题一直是个广被吐槽的黑点。以至于有人调侃说: Python 是世界上最好的两种语言! 在这里我要说明下,对于初学者来说,版本间的语法差异其实并不大。现在刚开始学...

crossin
昨天
2
0
Cannot forward after response has been committed

声名:转载自CSDN 通过toncat启动服务器,可以正常登陆访问,登陆进去选择子系统的时候点击登陆的时候,可是去又回到了登陆界面,如此反复就是不能够进入子系统,查看后台报的错误: java.la...

小橙子的曼曼
昨天
2
0
shell编程(告警系统邮件引擎、运行告警系统)

告警系统邮件引擎 1.如果要使用邮件引擎功能,需要调用mail.py文件,放到/usr/local/sbin/mon/mail/目录下即可,具体内容如下: #!/usr/bin/env python#-*- coding: UTF-8 -*-import os,s...

蛋黄_Yolks
昨天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部