目录
1 安装软件包的三种方法
- rpm工具
RPM包是预先在Linux机器上编译并打包的文件,安装非常快捷。但它也有一些缺点,比如安装环境必须与编译时的环境一致或者相当,包与包之间存在着相互依赖的情况,卸载包时需要先把依赖的包卸载。如果依赖的包是系统所必需的,就不能卸载这个包,否则系统会崩溃。
- yum工具
yum工具最大的优势在于可以联网去下载所需要的RPM包,然后自动安装。如果要安装的RPM包有依赖关系,yum工具会帮我们依次安装所有相关的RPM包
- 源码包
安装源码包,需要我们把源代码编译成可执行的二进制文件。如果你能读懂这些源代码,就可以修改这些源代码的自定义功能,然后再按你的需求编译。使用源码包除了可以自定义修改源代码外,还可以定制相关的能,因为源码包在编译时可以附加额外的选项
2 rpm包介绍
[root@worker1 mnt]# mount /dev/cdrom /mnt/
mount: /dev/sr0 is write-protected, mounting read-only
[root@worker1 mnt]# cd /mnt/Packages/
[root@worker1 Packages]# ls | head
389-ds-base-1.3.4.0-19.el7.x86_64.rpm
389-ds-base-libs-1.3.4.0-19.el7.x86_64.rpm
abattis-cantarell-fonts-0.0.16-3.el7.noarch.rpm
abrt-2.1.11-36.el7.centos.x86_64.rpm
abrt-addon-ccpp-2.1.11-36.el7.centos.x86_64.rpm
abrt-addon-kerneloops-2.1.11-36.el7.centos.x86_64.rpm
abrt-addon-pstoreoops-2.1.11-36.el7.centos.x86_64.rpm
abrt-addon-python-2.1.11-36.el7.centos.x86_64.rpm
abrt-addon-vmcore-2.1.11-36.el7.centos.x86_64.rpm
abrt-addon-xorg-2.1.11-36.el7.centos.x86_64.rpm
- 例如:abrt-2.1.11-45.el7.centos.x86_64.rpm
第一段:包名
第二段:版本号
第三段:发布版本号
第四段:运行平台
3 rpm工具用法
rpm -ivh rpm包文件 //安装
rpm -Uvh rpm包文件 //升级
rpm -e 包名 //卸载
rpm -qa //查询安装的包
rpm -q 包名 //查询指定包是否安装
rpm -qi 包名 //查询指定包信息
rpm -ql 包名 //列出包安装的文件
rpm -qf 文件绝对路径 //查看一个文件是由哪个包安装的
[root@worker1 mnt]# mount /dev/cdrom /mnt/
mount: /dev/sr0 is write-protected, mounting read-only
[root@worker1 mnt]# cd /mnt/Packages/
- 安装rpm包
[root@worker1 Packages]# rpm -ivh zsh-5.0.2-14.el7.x86_64.rpm
Preparing... ################################# [100%]
Updating / installing...
1:zsh-5.0.2-14.el7 ################################# [100%]
- 卸载rpm包
[root@worker1 Packages]# rpm -e zsh
- 查询安装的包
[root@worker1 Packages]# rpm -qa | head
microcode_ctl-2.1-12.el7.x86_64
centos-release-7-2.1511.el7.centos.2.10.x86_64
openssh-server-6.6.1p1-22.el7.x86_64
filesystem-3.2-20.el7.x86_64
parted-3.1-23.el7.x86_64
kbd-misc-1.15.5-11.el7.noarch
selinux-policy-targeted-3.13.1-60.el7.noarch
linux-firmware-20150904-43.git6ebf5d5.el7.noarch
authconfig-6.2.8-10.el7.x86_64
nss-softokn-freebl-3.16.2.3-13.el7_1.x86_64
- 查询指定包是否安装
[root@worker1 Packages]# rpm -q ppp
ppp-2.4.5-33.el7.x86_64
- 查询指定包信息
[root@worker1 Packages]# rpm -qi vim-enhanced
Name : vim-enhanced
Epoch : 2
Version : 7.4.160
Release : 4.el7
Architecture: x86_64
Install Date: Wed 26 Sep 2018 06:25:40 AM CST
Group : Applications/Editors
Size : 2296714
License : Vim
Signature : RSA/SHA256, Wed 25 Apr 2018 07:50:34 PM CST, Key ID 24c6a8a7f4a80eb5
Source RPM : vim-7.4.160-4.el7.src.rpm
Build Date : Wed 11 Apr 2018 07:55:09 AM CST
Build Host : x86-01.bsys.centos.org
Relocations : (not relocatable)
Packager : CentOS BuildSystem <http://bugs.centos.org>
Vendor : CentOS
URL : http://www.vim.org/
Summary : A version of the VIM editor which includes recent enhancements
Description :
VIM (VIsual editor iMproved) is an updated and improved version of the
vi editor. Vi was the first real screen-based editor for UNIX, and is
still very popular. VIM improves on vi by adding new features:
multiple windows, multi-level undo, block highlighting and more. The
vim-enhanced package contains a version of VIM with extra, recently
introduced features like Python and Perl interpreters.
Install the vim-enhanced package if you'd like to use a version of the
VIM editor which includes recently added enhancements like
interpreters for the Python and Perl scripting languages. You'll also
need to install the vim-common package.
- 列出包安装的文件
[root@worker1 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
- 查看一个文件是由哪个包安装的
[root@worker1 Packages]# rpm -qf /usr/bin/ls
coreutils-8.22-15.el7.x86_64
or
[root@worker1 Packages]# rpm -qf `which cd`
bash-4.2.46-19.el7.x86_64
[root@worker1 Packages]# rpm -qf `which vim`
vim-enhanced-7.4.160-4.el7.x86_64
4 yum工具用法
- yum list //列出可用rpm包
[root@worker1 Packages]# yum list | head
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.aliyun.com
* extras: mirrors.huaweicloud.com
* updates: mirrors.huaweicloud.com
Installed Packages
NetworkManager.x86_64 1:1.0.6-27.el7 @anaconda
NetworkManager-libnm.x86_64 1:1.0.6-27.el7 @anaconda
NetworkManager-team.x86_64 1:1.0.6-27.el7 @anaconda
NetworkManager-tui.x86_64 1:1.0.6-27.el7 @anaconda
Exiting on Broken Pipe
- yum的下载源配置文件/etc/yum.repos.d/
[root@worker1 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
yum search vim //搜索包
[root@worker1 Packages]# yum search vim
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.aliyun.com
* extras: mirrors.huaweicloud.com
* updates: mirrors.huaweicloud.com
===================================== 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
Name and summary matches only, use "search all" for everything.
- yum install [-y] -y表示同意安装
[root@worker1 Packages]# yum install -y vim-enhanced
Loaded plugins: fastestmirror
base | 3.6 kB 00:00:00
extras | 3.4 kB 00:00:00
updates | 3.4 kB 00:00:00
Loading mirror speeds from cached hostfile
* base: mirrors.aliyun.com
* extras: mirrors.huaweicloud.com
* updates: mirrors.huaweicloud.com
Package 2:vim-enhanced-7.4.160-4.el7.x86_64 already installed and latest version
Nothing to do
- yum grouplist //可用的组列出
[root@worker1 Packages]# yum grouplist | head -20
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.aliyun.com
* extras: mirrors.huaweicloud.com
* updates: mirrors.huaweicloud.com
Available Environment Groups:
Minimal Install
Compute Node
Infrastructure Server
File and Print Server
Basic Web Server
Virtualization Host
Server with GUI
GNOME Desktop
KDE Plasma Workspaces
Development and Creative Workstation
Available Groups:
Compatibility Libraries
Console Internet Tools
Development Tools
- yum groupinstall [-y] //安装组
[root@worker1 Packages]# yum grouplist -y 'GNOME Desktop'
- yum remove [-y] //卸载包并将依赖包删除
[root@worker1 Packages]# yum remove -y vim-enhanced
- yum update [-y] //更新包,系统版本,内核(一般安装完系统使用)
- yum provides “/*/vim” //查询没安装包名
[root@worker1 Packages]# yum provides "/*/vim"
5 yum搭建本地仓库
[root@worker1 Packages]# cp -r /etc/yum.repos.d/ /etc/yum.repos.d.bak
[root@worker1 Packages]# rm -rf /etc/yum.repos.d/*
[root@worker1 yum.repos.d]# vim dvd.repo
[dvd]
name=install dvd
baseurl=file:///mnt
enable=1
gpgcheck=0
~
~
~
[root@worker1 yum.repos.d]# yum clean all
Loaded plugins: fastestmirror
Cleaning repos: dvd
Cleaning up everything
Cleaning up list of fastest mirrors
[root@worker1 yum.repos.d]# yum list | tail -20
xulrunner.x86_64 31.6.0-2.el7.centos dvd
xvattr.x86_64 1.3-27.el7 dvd
xz-devel.x86_64 5.1.2-12alpha.el7 dvd
yajl.x86_64 2.0.4-4.el7 dvd
yelp.x86_64 1:3.14.2-1.el7 dvd
yelp-libs.x86_64 1:3.14.2-1.el7 dvd
yelp-xsl.noarch 3.14.0-1.el7 dvd
yp-tools.x86_64 2.14-3.el7 dvd
ypbind.x86_64 3:1.37.1-7.el7 dvd
ypserv.x86_64 2.31-8.el7 dvd
yum-langpacks.noarch 0.4.2-4.el7 dvd
yum-plugin-aliases.noarch 1.1.31-34.el7 dvd
yum-plugin-changelog.noarch 1.1.31-34.el7 dvd
yum-plugin-tmprepo.noarch 1.1.31-34.el7 dvd
yum-plugin-verify.noarch 1.1.31-34.el7 dvd
yum-plugin-versionlock.noarch 1.1.31-34.el7 dvd
yum-utils.noarch 1.1.31-34.el7 dvd
zenity.x86_64 3.8.0-5.el7 dvd
zlib-devel.x86_64 1.2.7-15.el7 dvd
zziplib.x86_64 0.13.62-5.el7 dvd
扩展
1. yum保留已经安装过的包 http://www.360doc.com/content/11/0218/15/4171006_94080041.shtml
2. 搭建局域网yum源http://blog.lishiming.net/?p=500