7.1 安装软件包的三种方法
7.2 rpm包介绍
7.3 rpm工具用法
7.4 yum工具用法
7.5 yum搭建本地仓库
7.1 安装软件包的三种方法:
1.rpm工具:
跟Windows下的ext安装包差不多,可直接安装,不需要太多的设置。安装路径与文件名基本是固定好的
2.yum工具:
yum是另外一种工具去安装rpm包,centos下这种包统一叫rpm包
yum是python开发的一种工具,实际操作的对象也是rpm包。yum的优势是支持自动的去安装依赖的包
3.源码包
可以看到这个源码的当时作者,用编程语言开发的各个文件都可以看到,需要通过编译器把源码包编译成可执行的文件。
这三种方法,源码包是最难的,yum是最简单的
---------------------------------------------------------------------------------------------------------------------------------------
7.2 rpm包介绍:
1.~设置光驱并挂载
2.~rpm包格式,包名、版本号、发布版本号、平台
1.虚拟机中右下角,右击光耦按图标,点连接。把光盘连接到linux里来,然后进行挂载
挂载光驱,方法:
mount /dev/cdrom /mnt/
[root@aminglinux-01 ~]# mount /dev/cdrom /mnt/
mount: /dev/sr0 写保护,将以只读方式挂载 因为光盘是只读的,所以会提示
我们进入mnt看一下,这里面就是光驱里面的内容
[root@aminglinux-01 ~]# cd /mnt/
[root@aminglinux-01 mnt]# ls
CentOS_BuildTag EFI EULA GPL images isolinux LiveOS Packages repodata RPM-GPG-KEY-CentOS-7 RPM-GPG-KEY-CentOS-Testing-7 TRANS.TBL
2.其中packages这个目录里,就是rpm包,例如:
xz-devel-5.2.2-1.el7.x86_64.rpm
数字前面的是包名
数字为版本号,依次为,主版本、次版本、修正版本
1.el7为发布版本号
x86_64为平台
---------------------------------------------------------------------------------------------------------------------------------------
7.3 rpm工具用法:
3.~rpm -ivh rpm包文件 //安装
4.~rpm -Uvh rpm包文件 //升级
5.~rpm -e 包名 //卸载
6.~rpm -qa //查询安装的包
7.~rpm -q 包名 //查询指定包是否安装
8.~rpm -qi 包名 //查询指定包信息
9.~rpm -ql 包名 //列出包安装的文件
10.~rpm -qf 文件的绝对路径 //查看一个文件是有哪个包安装的
配合`which cd`可直接查看
实例:
3.~rpm -ivh rpm包文件 //安装
[root@aminglinux-01 Packages]# rpm -ivh zsh-5.0.2-28.el7.x86_64.rpm
准备中... ################################# [100%]
正在升级/安装...
1:zsh-5.0.2-28.el7 ################################# [100%]
4.~rpm -Uvh rpm包文件 //升级
[root@aminglinux-01 Packages]# rpm -Uvh zsh-5.0.2-28.el7.x86_64.rpm
准备中... ################################# [100%]
软件包 zsh-5.0.2-28.el7.x86_64 已经安装
5.~rpm -e 包名 //卸载
[root@aminglinux-01 Packages]# rpm -e zsh 不显示什么即为卸载成功
6.~rpm -qa //查询安装的包
[root@aminglinux-01 Packages]# rpm -qa
open-vm-tools-10.1.5-3.el7.x86_64
grub2-common-2.02-0.64.el7.centos.noarch
kexec-tools-2.0.14-17.el7.x86_64
setup-2.8.71-7.el7.noarch
NetworkManager-tui-1.8.0-9.el7.x86_64
basesystem-10.0-7.el7.centos.noarch
NetworkManager-wifi-1.8.0-9.el7.x86_64
--
-
7.~rpm -q 包名 //查询指定包是否安装
[root@aminglinux-01 Packages]# rpm -q kernel
kernel-3.10.0-693.el7.x86_64
8.~rpm -qi 包名 //查询指定包信息 (用的不多)
[root@aminglinux-01 ~]# rpm -qi kernel
Name : kernel
Version : 3.10.0
Release : 693.el7
Architecture: x86_64
--
-
9.~rpm -ql 包名 //列出包安装的文件
[root@aminglinux-01 ~]# rpm -ql vim-enhanced
/etc/profile.d/vim.csh
/etc/profile.d/vim.sh
/usr/bin/rvim
/usr/bin/vim
/usr/bin/vimdiff
/usr/bin/vimtutor
10.~rpm -qf 文件的绝对路径 //查看一个文件是有哪个包安装的
[root@aminglinux-01 ~]# rpm -qf /usr/bin/vim
vim-enhanced-7.4.160-6.el7_6.x86_64
使用反引号`which` 一个命令的路径,配合rpm -qf可直接查询,例如
[root@aminglinux-01 ~]# rpm -qf `which cd`
bash-4.2.46-31.el7.x86_64
---------------------------------------------------------------------------------------------------------------------------------------
7.4 yum工具用法:
yum可以自动帮助解决依赖关系的
~1.yum list 列出可用rpm包
ls /etc/yum.repos.d/ (为yum的配置文件)
~2.yum search vim 搜索vim包,但不精准
yum list |grep 'vim' 较为精准,详细见实例
~3.yum install -y 不询问直接安装文件
~4.yum grouplist 列出可用的组
yum groupinstall [-y] 安装可用的组,详细见实例
~5.yum remove [-y] ppp 卸载ppp这个包,连同依赖的一起卸载,较危险
~6.yum update [-y] ppp 升级ppp这个包,如果不加包名,会将系统里所有的rpm包全部升 级,包括系统。需注意
~7.yum provides “/*/vim" 搜索vim这个命令有哪些包,比如不知道这个包的名字,只知道命令。/*/代表路径不固定,统配。前提是没有安装vim这个命令
实例:
~1.yum list 列出可用rpm包:
zziplib-utils.x86_64 0.13.62-5.el7 base
包的名字及信息 版本号以及平台版本号 仓库名字
关于仓库,可以看一下yum的配置文件
[root@aminglinux-01 ~]# ls /etc/yum.repos.d/
-
--
[base] 找到base,这就是yum的仓库文件,红色为网络地址
name=CentOS-$releasever - Base
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
--
-
~2.yum search network 搜索vim包,但不精准
只要有network出现的包都会列出来,不精准
[root@aminglinux-01 ~]# yum search network
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.tuna.tsinghua.edu.cn
* extras: mirrors.tuna.tsinghua.edu.cn
* updates: mirrors.tuna.tsinghua.edu.cn
======================================================= N/S matched: network ========================================================
NetworkManager.x86_64 : Network connection manager and user applications
NetworkManager-adsl.x86_64 : ADSL device plugin for NetworkManager
NetworkManager-bluetooth.x86_64 : Bluetooth device plugin for NetworkManager
NetworkManager-config-server.noarch : NetworkManager config file for "server-like" defaults
--
-
yum list |grep 'vim' 较为精准
grep是过滤字符串的工具
管道符|可以将前面输出的结果丢给后面的这个命令,也就是yum list的输出作为grep的输入
[root@aminglinux-01 ~]# yum list |grep 'vim'
vim-common.x86_64 2:7.4.160-6.el7_6 @updates
vim-enhanced.x86_64 2:7.4.160-6.el7_6 @updates
vim-filesystem.x86_64 2:7.4.160-6.el7_6 @updates
vim-minimal.x86_64 2:7.4.160-6.el7_6 @updates
~4.yum grouplist 列出可用的组
[root@aminglinux-01 ~]# yum grouplist
已加载插件:fastestmirror
没有安装组信息文件
Maybe run: yum groups mark convert (see man yum)
Loading mirror speeds from cached hostfile
* base: mirrors.tuna.tsinghua.edu.cn
* extras: mirrors.tuna.tsinghua.edu.cn
* updates: mirrors.tuna.tsinghua.edu.cn
可用的环境分组:
最小安装
基础设施服务器
计算节点
文件及打印服务器
基本网页服务器
虚拟化主机
带 GUI 的服务器
GNOME 桌面
KDE Plasma Workspaces
开发及生成工作站
可用组:
传统 UNIX 兼容性
兼容性程序库
图形管理工具
安全性工具
开发工具
控制台互联网工具
智能卡支持
科学记数法支持
系统管理
系统管理工具
完成
选择需要的包来安装,可用LANG=en换成英文,来进行安装
yum groupinstall ‘Virtualization Host’ 如果需要安装的包有空格,要加单引号。没有空格就不加单引号
也可以加-y 不询问安装
[root@aminglinux-01 ~]# yum groupinstall 'GNOME Desktop'
Failed to set locale, defaulting to C
Loaded plugins: fastestmirror
There is no installed groups file.
Maybe run: yum groups mark convert (see man yum)
Loading mirror speeds from cached hostfile
* base: mirrors.tuna.tsinghua.edu.cn
* extras: mirrors.tuna.tsinghua.edu.cn
* updates: mirrors.tuna.tsinghua.edu.cn
--
-
---------------------------------------------------------------------------------------------------------------------------------------
7.5 yum搭建本地仓库:
有时候yum不能用,是因为没有联网
如果没有联网,可以搭建一个本地的仓库,来用yum。居然可以这么神奇
前提是要有一个光盘,挂载。可以访问到里面的rpm包
~1.挂载镜像到/mnt目录
~2.cp -r /etc/yum.repos.d /etc/yum.repos.d.bak
~3.rm -f /etc/yum.repos.d/* ?
~4.vim /etc/yum.repos.d/dvd.repo 内容如下:
[dvd]
name=install dvd 该步骤是建立这个仓库的名字,搭建好以后可查看
baseurl=file:///mnt
enable=1
gpcheck=0 因为是临时的所以不用检测,就写0
~5.yum cean all 清除以前的缓存
~6.yum list 查看可用包,可看到dvd这个仓库