7.1 安装软件包的三种方法
7.2 rpm包介绍
7.3 rpm工具用法
7.4 yum工具用法
7.5 yum搭建本地仓库
安装软件包的三种方法
安装软件包的三种方法
-
rpm工具
-
yum工具
-
源码包
- rpm安装和卸载
先挂载光驱设备
mount /dev/cdrom /mnt/
-
安装一个rpm包
rpm -ivh +包全名
“-i” : 安装的意思
“-v” : 可视化
“-h” : 显示安装进度
rpm -ivh --force +包全名
rpm -ivh --nodeps +包全名
-nodeps : 当要安装的rpm包依赖其他包时,即使其他包没有安装,也要安装这个包
--force : 强制安装,即使覆盖属于其他包的文件也要安装
-
升级一个rpm包
rpm -Uvh 包名
“-U” : 即升级的意思
-
卸载一个rpm包
rpm -e 包名
“-e”:卸载的意思rpm查询
rpm查询
-
查询一个包是否安装
rpm -q rpm包名
-
查询当前系统所有安装过的rpm包
rpm -qa包名
-
得到一个已安装rpm包的相关信息
rpm -qi 包名
-
列出一个rpm包安装的文件
rpm -ql 包名
-
列出某一个文件属于哪个rpm包
rpm -qf 文件的绝对路径
#yum工具详解
-
列出所有可用的rpm包
yum list
-
列出所有可用的yum资源套件
yum grouplist
LANG=en 将语言切换成英文 LANG=zh_CN.UTF-8 将语言切换成中文
-
搜索一个rpm包
yum 包名(含有关键字的)
-
安装一个rpm包
yum install -y 包名.rpm
-y 不询问安装关联包
-
卸载一个rpm包
yum remove -y 包名.rpm
-
升级一个rpm包
yum update -y 包名.rpm
-
根据yum资源套件安装
-
yum groupinstall “资源套件名称”
-
根据yum资源套件卸载
-
yum groupremove “资源套件名称”
搭建本地yum仓库 -
挂载光盘
-
mount /dev/cdrom /mnt
-
删除/etc/yum.repos.d目录所有的repo文件
-
[root@ruirui etc]# cd /etc/ [root@ruirui etc]# cp -r yum.repos.d/ yum.repos.d.back [root@ruirui etc]# cd yum.repos.d [root@ruirui yum.repos.d]# lsCentOS-Base.repo CentOS-Media.repo epel.repoCentOS-Debuginfo.repo CentOS-Vault.repo epel-testing.repo [root@ruirui yum.repos.d]# rm -rf CentOS-Base.repo [root@ruirui yum.repos.d]# vim CentOS-Media.repo#修改为[local_carom] name=CDbaseurl=file:///mnt/ gpgcheck=1 enabled=0 #gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
-
yum clean all
-
yum更换国内源
-
cd /etc/yum.repos.d
-
rm -f dvd.repo
-
wet http://mirrors.163.com/.help/CentOS7-Base-163.repo
-
或者
-
curl -O http://mirrors.163.com/.help/CentOS7-Base-163.repo
-
yum list
-
#yum下载rpm包
- 安装扩展源epel
-
yum install -y epel-release
-
yum list |grep epel
- yum下载rpm包
-
yum install -y 包名 --downloadonly
-
--downloadonly 尽下载不安装
-
下载在 /var/cache/yum/x86_64/7/文件中
-
yum install -y 包名 --downloadonly --downloaddir=路径
-
yum reinstall -y 包名 --downloadonly --downloaddir=路径
- 源码包安装
-
cd /usr/local/src/
-
wget http://mirrors.cnnic/apache/httpd/httpd-2.2.32.tar.gz
-
tsr zxvf httpd-2.2.32.tar.gz
-
cd httpd-2.2.32
-
./configure --prefix=/usr/loacal/apache2
-
make
-
make install
-
卸载就是删除安装的文件
rpm包介绍
RPM 全名是“RedHat Package Manager ”。RPM 是以一种数据库记录的方式来将你所需要的软件安装到你的 Linux 系统的一套管理机制
-
安装的软件先编译通过, 打包成为 RPM 机制的包装档案[安装环境已定制化]。
-
记录并检查软件安装的依赖包,满足则安装,不满足不安装(也可在线下载依赖包安装)。
-
安装的时候就将该软件的信息整个写入 RPM 的数据库中,供后续查询、升级和卸载。
-
SRPM(source rpm):rpm没有经过编译的原始码。可在具体的安装环境下编译成rpm包再进行安装。
-
RPM的命名规则
例子:xxx-1.3.1-2.x86_64.rpm[软件名-版本号-编译次数.硬件平台.扩展名]
硬件方面都可以向下兼容的, 因此最低等级的 i386 软件可以安装在所有的 x86 硬件平台上面,不论是 32 位还是 64 位。
RPM默认路径
-
RPM的数据库:软件相关的信息就会被写入 /var/lib/rpm/目录下的数据库档案中,该数据库用来软件查询,软件升级的版本比较,数字签名等。
-
安装软件的存储路径:
-
二、如何使用RPM(how)
RPM包的使用主要用rpm命令来实现,该命令需要root权限。
(一)rpm安装[增]
rpm -ivh package_name,可以同时安装多个软件,也可以直接以网址来安装。
-
-i:install
-
-v:显示指令的执行过程
-
-h:显示安装进度
(二)rpm卸载[删]
-
rpm -e:使用命令rpm -e包名,包名可以包含版本号等信息,但是不可以有后缀.rpm。
-
rpm -e --nodeps强制卸载
(三)rpm升级/更新[改]
-
-Uvh:无论软件有没有安装过旧版本,都会安装到更新版本。
-
-Fvh:若已经安装过旧版软件才会更新到新版本,否则不安装新版本软件。
(四)rpm查询[查]
查询本机上的软件包相关信息,不必要加上完整的版本名称,只需要加软件名即可。[rpm -qa 软件名]
查询某个具体的rpm文件,则需要加完整的文件名称。[rpm -qf 文件名]
-
查询已安装软件的信息:
-
-q :仅查询,后面接的软件名称是否有安装
-
-qa :列出所有的,已经安装在本机 Linux 系统上面的所有软件名,用grep +软件名筛选所需软件是否安装
-
-qi :列出该软件的详绅信息 (information),包括开发商、版本和说明
-
-ql :列出该软件所有的文件和目录所在完整文件名 (list)
-
-qc :列出该软件的所有配置文件 (找出在 /etc/ 底下的文件名而已)
-
-qd :列出该软件的所有说明文件 (找出不 man 有关的文件而已)
-
-qR :列出与该软件有关的相依软件所含的文件 (Required 的意思)
-
-qf :由后面接的文件名,找出该文件属于哪一个已安装的软件
-
查询某个 RPM 文件内含有的信息:
-
-qp[icdlR]:注意 -qp 后面接的所有参数以上面的说明一致。但用途仅在于找出某个 RPM 档案内的信息,而非已安装的软件信息
-
查询软件更新文件记录[软件包文件验证]
-
-V :后面加的是软件名称,若该软件所含的文件被更改过,才会列出来[没有任何显示表示没更改过,有显示则列出修改信息]
-
-Va :列出目前系统上面所有可能被更改过的文件
-
-Vp :后面加的是文件名,列出该软件内可能被更改过的文件
-
-Vf :后面加文件名,列出某个文件是否被更改过
-
-
命令语法
yum (选项) (参数) -
命令描述
yum命令是在Fedora和RedHat以及SUSE中基于rpm的软件包管理器,它可以使系统管理人员交互和自动化地更细与管理RPM软件包,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。 -
命令选项
list 列出可用的PRM包
search 搜索一个包
install:安装rpm软件包;
update:升级rpm软件包;
remove:删除指定的rpm软件包;
grouplist 列出所有可用的组;
provides 通过命令名称来搜索其rpm包名
/etc/yum.repos.d/ yum的配置文件 -
首先需要创建一个目录
mkdir /1 #在根目录下创建一个名字为1的目录
将光盘挂载到创建的这个目录
mount /dev/cdrom /1
yum命令配置文件在/etc/yum.repos.d目录,只要以.repo结尾的都是配置文件。
我们需要修改CentOS-Media.repo
-
由于/etc/yum.repos.d目录下有多个配置文件,我们只需要CentOS-Media.repo。
所以我们创建一个目录来放置其余的配置文件
-
修改配置文件
vi CentOS-Media.repo
-
baseurl=file:///1 光盘挂载的目录
搭建完成。