文档章节

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

LSantorini
 LSantorini
发布于 2015/11/28 21:59
字数 1482
阅读 79
收藏 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
粉丝 13
博文 34
码字总数 38213
作品 0
呼和浩特
程序员
私信 提问
(九)Linux学习笔记-常用软件包管理

(九)Linux学习笔记-常用软件包管理 常用的软件包管理 以下为Red Hat系列Linux的命令集,我使用的Centos7.5版本。 常用的软件包管理 在CentOS中常用的软件管理有三种: 1、RPM,Redhat公司开...

Super_RD
2018/12/27
0
0
Yoda:您的 Linux 系统命令行个人助理

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

作者: Sk
2018/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视频教程,这是我听过最有调理,最精致性感的一个了,用的是CentOS 5.5,推荐想...

张沫
2011/10/28
1K
10
Linux命令行是什么?Linux云计算运维学习

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

老男孩Linux培训
2018/06/22
0
0

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周一乱弹 —— 白掌柜说了卖货不卖身

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @爱漫爱 :这是一场修行分享羽肿的单曲《Moony》 手机党少年们想听歌,请使劲儿戳(这里) @clouddyy :开不开心? 开心呀, 我又不爱睡懒觉…...

小小编辑
今天
8
0
大数据教程(11.7)hadoop2.9.1平台上仓库工具hive1.2.2搭建

上一篇文章介绍了hive2.3.4的搭建,然而这个版本已经不能稳定的支持mapreduce程序。本篇博主将分享hive1.2.2工具搭建全过程。先说明:本节就直接在上一节的hadoop环境中搭建了! 一、下载apa...

em_aaron
今天
3
0
开始看《JSP&Servlet学习笔记》

1:WEB应用简介。其中1.2.1对Web容器的工作流程写得不错 2:编写Servlet。搞清楚了Java的Web目录结构,以及Web.xml的一些配置作用。特别是讲了@WebServlet标签 3:请求与响应。更细致的讲了从...

max佩恩
今天
4
0
mysql分区功能详细介绍,以及实例

一,什么是数据库分区 前段时间写过一篇关于mysql分表的的文章,下面来说一下什么是数据库分区,以mysql为例。mysql数据库中的数据是以文件的形势存在磁盘上的,默认放在/mysql/data下面(可...

吴伟祥
今天
3
0
SQL语句查询

1.1 排序 通过order by语句,可以将查询出的结果进行排序。放置在select语句的最后。 格式: SELECT * FROM 表名 ORDER BY 排序字段ASC|DESC; ASC 升序 (默认) DESC 降序 1.查询所有商品信息,...

stars永恒
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部