五周第一次课(1月8日)
7.1 安装软件包的三种方法
7.2 rpm包介绍
7.3 rpm工具用法
7.4 yum工具用法
7.5 yum搭建本地仓库
Linux下安装软件的三种方法
- [ ] rpm
- [ ] yum
- [ ] 源码包
RPM工具
在虚拟光驱中有安装盘的镜像,里面就有RPM包,首先连接我们的系统镜像文件
- 将光驱用mount挂载,然后进入/mnt/
[[email protected] mnt]# mount /dev/cdrom /mnt/
mount: /dev/sr0 写保护,将以只读方式挂载
[[email protected] mnt]# cd /mnt/
[[email protected] mnt]# ls
CentOS_BuildTag images repodata
EFI isolinux RPM-GPG-KEY-CentOS-7
EULA LiveOS RPM-GPG-KEY-CentOS-Testing-7
GPL Packages TRANS.TBL
[[email protected] mnt]# cd Packages
[[email protected] mnt]# ls //下图中的大量红色rpm包
每个RPM包的名称有-和.分成了若干部分,比如在“python-libs-2.7.5-58.el7.x86_64.rpm”,python为包名,2.7.5为版本信息,58.el7为发布版本号,x86_64为运行平台,noarch表示该RPM 包没有硬件平台限制
- 安装RPM包
- [ ] rpm -ivh rpm包文件 //安装
命令如下:
[[email protected] Packages]# rpm -ivh zsh-5.0.2-28.el7.x86_64.rpm
准备中... ################################# [100%]
正在升级/安装...
1:zsh-5.0.2-28.el7 ################################# [100%]
- 升级RPM包
- [ ] rpm -Uvh rpm包文件 //升级
[[email protected] Packages]# rpm -Uvh zsh-5.0.2-28.el7.x86_64.rpm
- 卸载RPM包
- [ ] rpm -e 包名 //卸载
[[email protected] Packages]# rpm -e zsh
- 查询一个包是否已安装
- [ ] rpm -qa //查询安装的包
[[email protected] Packages]# rpm -qa |head
libmtp-1.1.6-5.el7.x86_64
trousers-0.3.13-1.el7.x86_64
xorg-x11-drv-ati-7.6.1-3.20160215gitd41fccc.el7.x86_64
telepathy-mission-control-5.16.3-3.el7.x86_64
avahi-0.6.31-17.el7.x86_64
libvisio-0.1.1-2.el7.x86_64
fxload-2002_04_11-16.el7.x86_64
xorg-x11-drv-evdev-2.9.2-2.el7.x86_64
colord-libs-1.2.7-2.el7.x86_64
mlocate-0.26-6.el7.x86_64
- 查询制定包是否安装
- [ ] rpm -q 包名 //查询指定包是否安装
-
[ ] rpm -qi 包名 //查询指定包信息
[[email protected] Packages]# rpm -qi vim-enhanced Name : vim-enhanced Epoch : 2 Version : 7.4.160 Release : 1.el7_3.1 Architecture: x86_64 Install Date: 2017年08月09日 星期三 00时10分28秒 Group : Applications/Editors Size : 2292098 License : Vim Signature : RSA/SHA256, 2016年12月22日 星期四 01时14分11秒, Key ID 24c6a8a7f4a80eb5 Source RPM : vim-7.4.160-1.el7_3.1.src.rpm Build Date : 2016年12月22日 星期四 01时00分52秒 Build Host : c1bm.rdu2.centos.org Relocations : (not relocatable) Packager : CentOS BuildSystem <http://bugs.centos.org> Vendor : CentOS
- 查找包安装了哪些文件
- [ ] rpm -ql 包名 //列出包安装的文件
[[email protected] Packages]# 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
- 查看文件由哪个安装包安装
- [ ] rpm -qf 文件绝对路径 //查看一个文件是由哪个包安装的
[[email protected] Packages]# rpm -qf `which cd`
bash-4.2.46-20.el7_2.x86_64 //bash包安装
yum工具
yum( Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器。
基於RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。
yum提供了查找、安装、删除某一个、一组甚至全部软件包的命令,而且命令简洁而又好记。
- [ ] yum list //列出可用rpm包
[[email protected] Packages]# yum list |head -20
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
* base: mirrors.163.com
* extras: centos.ustc.edu.cn
* updates: centos.ustc.edu.cn
已安装的软件包
GConf2.x86_64 3.2.6-8.el7 @base
GeoIP.x86_64 1.5.0-11.el7 @anaconda
ModemManager.x86_64 1.6.0-2.el7 @base
ModemManager-glib.x86_64 1.6.0-2.el7 @base
NetworkManager.x86_64 1:1.4.0-20.el7_3 @updates
NetworkManager-adsl.x86_64 1:1.4.0-20.el7_3 @updates
NetworkManager-bluetooth.x86_64 1:1.4.0-20.el7_3 @updates
NetworkManager-glib.x86_64 1:1.4.0-20.el7_3 @updates
NetworkManager-libnm.x86_64 1:1.4.0-20.el7_3 @updates
NetworkManager-libreswan.x86_64 1.2.4-1.el7 @base
NetworkManager-libreswan-gnome.x86_64 1.2.4-1.el7 @base
NetworkManager-team.x86_64 1:1.4.0-20.el7_3 @updates
NetworkManager-tui.x86_64 1:1.4.0-20.el7_3 @updates
NetworkManager-wifi.x86_64 1:1.4.0-20.el7_3 @updates
上述信息中,mirrors.163.com,centos.ustc.edu.cn是获取包资源的下载路径,共有3列,第一列是RPM包名,中间是版本信息,最右侧是安装信息(仓库名)。
找到这些存放rpm包的仓库信息
- [ ] ls /etc/yum.repos.d/
[[email protected] Packages]# ls /etc/yum.repos.d/ CentOS-Base.repo CentOS-Debuginfo.repo CentOS-Media.repo CentOS-Vault.repo CentOS-CR.repo CentOS-fasttrack.repo CentOS-Sources.repo [[email protected] Packages]# ls /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo [[email protected] Packages]# cat /etc/yum.repos.d/CentOS-Base.repo
- 搜索RPM包
- [ ] yum search vim //搜索包
[[email protected]alhost Packages]#
[[email protected] Packages]# yum search vim
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
* base: mirrors.163.com
* extras: centos.ustc.edu.cn
* updates: centos.ustc.edu.cn
========================================================= N/S matched: vim ==========================================================
protobuf-vim.x86_64 : Vim syntax highlighting for Google Protocol Buffers descriptions
vim-X11.x86_64 : The VIM version of the vi editor for the X Window System
vim-common.x86_64 : The common files needed by any version of the VIM editor
vim-enhanced.x86_64 : A version of the VIM editor which includes recent enhancements
vim-filesystem.x86_64 : VIM filesystem layout
vim-minimal.x86_64 : A minimal version of the VIM editor
名称和简介匹配 only,使用“search all”试试。
- 用grep过滤,找到相应的RPM包,|是管道符,传递结果给下一个命令.
- 安装RPM包
- [ ] yum install [-y]
- 列出可安装的环境分组
- [ ] yum grouplist
[[email protected] Packages]# yum grouplist 已加载插件:fastestmirror, langpacks Loading mirror speeds from cached hostfile * base: mirrors.163.com * extras: centos.ustc.edu.cn * updates: centos.ustc.edu.cn 已安装环境分组: GNOME 桌面 可用的环境分组: 最小安装 基础设施服务器 计算节点 文件及打印服务器 基本网页服务器 虚拟化主机 带 GUI 的服务器 KDE Plasma Workspaces 开发及生成工作站 可用组: 传统 UNIX 兼容性 兼容性程序库 图形管理工具 安全性工具 开发工具 控制台互联网工具 智能卡支持 科学记数法支持 系统管理 系统管理工具 完成
- 安装环境分组,这里必须输入英文名称才可以。yum groupinstall ‘#######’
- [ ] yum groupinstall [-y]
- 卸载RPM包
- [ ] yum remove [-y]
- 升级RPM包
- [ ] yum update [-y]
- ==有些命令不知道安装包在哪,通过以下指令,不指定具体路径(通配)来查找,然后安装==
- [ ] yum provides “/*/vim”
yum本地仓库
挂载镜像到/mnt目录
- [ ] cp -r /etc/yum.repos.d /etc/yum.repos.d.bak
- [ ] rm -f /etc/yum.repos.d/*
前面我们已经挂载了磁盘
[[email protected] Packages]# ls /mnt/
CentOS_BuildTag GPL LiveOS RPM-GPG-KEY-CentOS-7
EFI images Packages RPM-GPG-KEY-CentOS-Testing-7
EULA isolinux repodata TRANS.TBL
[[email protected] Packages]# cd
[[email protected] ~]# cp -r /etc/yum.repos.d /etc/yum.repos.d.bak //备份一份
[[email protected] ~]# cd /etc/yum.repos.d
[[email protected] yum.repos.d]# ls
CentOS-Base.repo CentOS-Debuginfo.repo CentOS-Media.repo CentOS-Vault.repo
CentOS-CR.repo CentOS-fasttrack.repo CentOS-Sources.repo
[[email protected] yum.repos.d]# rm -rf ./* //把上述所有repo文件删除
[[email protected] yum.repos.d]# vi dvd.repo
输入:
[dvd]
name=install dvd
baseurl=file:///mnt
enable=1
gpgcheck=0
- yum 清理
- [ ] yum clean all
[[email protected] yum.repos.d]# yum clean all
已加载插件:fastestmirror, langpacks
正在清理软件源: dvd
Cleaning up everything
Cleaning up list of fastest mirrors
- [ ] yum list
- [[email protected] yum.repos.d]# yum list |less //用ctrl+F 分屏查看
原文地址:http://blog.51cto.com/12995218/2058879
时间: 2024-11-05 13:27:43