文档章节

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

LSantorini
 LSantorini
发布于 2015/11/28 21:59
字数 1482
阅读 75
收藏 9
点赞 0
评论 0

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

在 Arch Linux 中给软件包降级

导读 正如你了解的,Arch Linux 是一个滚动版本和 DIY(自己动手)发行版。因此,在经常更新时必须小心,特别是从 AUR 等第三方存储库安装或更新软件包。如果你不知道自己在做什么,那么最终...

问题终结者 ⋅ 06/11 ⋅ 0

一个失业三年后,又重新找回自信的小伙靠的是什么?

身高160cm,体重仅仅50kg,这样一个人,你认为能干什么工作。搬砖工,当矿工吗?,想想这样的生活,每天累死累活就干着一件事。是不是觉得很累?三年前的我就是这样的情况。 当时的我,刚从大...

linux-tao ⋅ 05/20 ⋅ 0

查看 Linux 发行版名称和版本号的 8 种方法

如果你加入了一家新公司,要为开发团队安装所需的软件并重启服务,这个时候首先要弄清楚它们运行在什么发行版以及哪个版本的系统上,你才能正确完成后续的工作。作为系统管理员,充分了解系统...

作者: Magesh Maruthamuthu ⋅ 04/28 ⋅ 0

Linux程序培训课程,带你养成良好的Linux使用习惯

开始Linux的学习之后,请不要用Windows的工作方式来思考问题,因为它们之间确实有很大的不同,比如它们之间的内存管理机制、进程运行机制等都有很大不同,因此抛开Windows的那种思维,用全新...

长沙千锋 ⋅ 05/11 ⋅ 0

ChromeOS终端应用程序暗示其即将支持Linux应用

Chromebook也可以运行Linux程序。这种可能性在去年2月已经暗示,但随着终端应用程序在Chrome操作系统的开发通道中出现,这种情况可能会很快到来。目前讽刺的是,这种基于Linux的Chrome操作系...

稿源:cnBeta.COM ⋅ 04/23 ⋅ 0

在Linux上部署PXE远程安装服务

在Linux上部署PXE远程安装服务 实验介绍:在Linux虚拟机环境下,部署PXE远程安装服务,最终实现在另外一台虚拟机中远程安装Linux系统(前提是Linux虚拟机已经部署好yum仓库)。 1、安装TFTP(...

xiaoyaokeyx ⋅ 05/15 ⋅ 0

【安全牛学习笔记】Arachni

Arachni root@kali:~# apt-get install kali kali kali-desktop-lxde kali-linux-pwtools kali-archive-keyring kali-desktop-xfce kali-linux-rfid kalibrate-rtl kalign kali-linux-sdr ka......

安全牛课堂 ⋅ 2017/12/04 ⋅ 0

写博客的好处--摘自大棚Linux

你觉得自己懂了未必真的懂了。写作是自我反省,自我提升的一个过程。 2. 让别人懂才是真的懂。写作是强迫你给别人讲懂知识。 3. 看似浪费时间,实则节省时间。知识总会遗忘,实验证实阅读自己...

aust_niuroutan ⋅ 04/20 ⋅ 0

如何在Linux上禁止任何人使用su命令成为root

如何在Linux上禁止任何人使用su命令成为root Ronny 2018年5月2日暂无评论 阅读 4 次 导读 Linux以它的高效性和灵活性著称,Linux模块化的设计结构,使得它既能在价格昂贵的工作站上运行,也能...

Ronny ⋅ 05/02 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Centos7重置Mysql 8.0.1 root 密码

问题产生背景: 安装完 最新版的 mysql8.0.1后忘记了密码,向重置root密码;找了网上好多资料都不尽相同,根据自己的问题总结如下: 第一步:修改配置文件免密码登录mysql vim /etc/my.cnf 1...

豆花饭烧土豆 ⋅ 今天 ⋅ 0

熊掌号收录比例对于网站原创数据排名的影响[图]

从去年下半年开始,我在写博客了,因为我觉得业余写写博客也还是很不错的,但是从2017年下半年开始,百度已经推出了原创保护功能和熊掌号平台,为此,我也提交了不少以前的老数据,而这些历史...

原创小博客 ⋅ 今天 ⋅ 0

LVM讲解、磁盘故障小案例

LVM LVM就是动态卷管理,可以将多个硬盘和硬盘分区做成一个逻辑卷,并把这个逻辑卷作为一个整体来统一管理,动态对分区进行扩缩空间大小,安全快捷方便管理。 1.新建分区,更改类型为8e 即L...

蛋黄Yolks ⋅ 今天 ⋅ 0

Hadoop Yarn调度器的选择和使用

一、引言 Yarn在Hadoop的生态系统中担任了资源管理和任务调度的角色。在讨论其构造器之前先简单了解一下Yarn的架构。 上图是Yarn的基本架构,其中ResourceManager是整个架构的核心组件,它负...

p柯西 ⋅ 今天 ⋅ 0

uWSGI + Django @ Ubuntu

创建 Django App Project 创建后, 可以看到路径下有一个wsgi.py的问题 uWSGI运行 直接命令行运行 利用如下命令, 可直接访问 uwsgi --http :8080 --wsgi-file dj/wsgi.py 配置文件 & 运行 [u...

袁祾 ⋅ 今天 ⋅ 0

JVM堆的理解

在JVM中,我们经常提到的就是堆了,堆确实很重要,其实,除了堆之外,还有几个重要的模块,看下图: 大 多数情况下,我们并不需要关心JVM的底层,但是如果了解它的话,对于我们系统调优是非常...

不羁之后 ⋅ 昨天 ⋅ 0

推荐:并发情况下:Java HashMap 形成死循环的原因

在淘宝内网里看到同事发了贴说了一个CPU被100%的线上故障,并且这个事发生了很多次,原因是在Java语言在并发情况下使用HashMap造成Race Condition,从而导致死循环。这个事情我4、5年前也经历...

码代码的小司机 ⋅ 昨天 ⋅ 2

聊聊spring cloud gateway的RetryGatewayFilter

序 本文主要研究一下spring cloud gateway的RetryGatewayFilter GatewayAutoConfiguration spring-cloud-gateway-core-2.0.0.RC2-sources.jar!/org/springframework/cloud/gateway/config/G......

go4it ⋅ 昨天 ⋅ 0

创建新用户和授予MySQL中的权限教程

导读 MySQL是一个开源数据库管理软件,可帮助用户存储,组织和以后检索数据。 它有多种选项来授予特定用户在表和数据库中的细微的权限 - 本教程将简要介绍一些选项。 如何创建新用户 在MySQL...

问题终结者 ⋅ 昨天 ⋅ 0

android -------- 颜色的半透明效果配置

最近有朋友问我 Android 背景颜色的半透明效果配置,我网上看资料,总结了一下, 开发中也是常常遇到的,所以来写篇博客 常用的颜色值格式有: RGB ARGB RRGGBB AARRGGBB 这4种 透明度 透明度...

切切歆语 ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部