与Windows下的exe比较类似,安装路径和文件名基本上是固定好的。
属于Python开发的工具,操作对象是rpm包;yum工具最大的优势在于可以联网下载所需要的rpm包,然后自动安装。
需要用编译器把源码包编译成可执行的文件;优点是配置灵活,缺点安装难度较大。
挂载系统安装镜像,先检查VMware右下角的小光驱图标是否点亮,如果没有,点击连接就可以点亮,将光盘连接到Linux系统上。
挂载光驱,挂载到/mnt/目录下,然后进入/mnt/目录下,查看一些文件和目录
[root@aming01 ~]# ls /mnt/
[root@aming01 ~]# mount /dev/cdrom /mnt/
mount: /dev/sr0 写保护,将以只读方式挂载
[root@aming01 ~]# ls
666 anaconda-ks.cfg
[root@aming01 ~]# ls /mnt/
CentOS_BuildTag EULA images LiveOS repodata RPM-GPG-KEY-CentOS-Testing-7
EFI GPL isolinux Packages RPM-GPG-KEY-CentOS-7 TRANS.TBL
其中,有一个packages的目录中有很多.rpm文件,就是rpm包
[root@aming01 Packages]# cd Packages/
yajl-2.0.4-4.el7.x86_64.rpm
yelp-3.22.0-1.el7.x86_64.rpm
yelp-libs-3.22.0-1.el7.x86_64.rpm
yelp-tools-3.18.0-1.el7.noarch.rpm
yelp-xsl-3.20.1-1.el7.noarch.rpm
ypbind-1.37.1-9.el7.x86_64.rpm
ypserv-2.31-10.el7.x86_64.rpm
yp-tools-2.14-5.el7.x86_64.rpm
yum-3.4.3-154.el7.centos.noarch.rpm
yum-langpacks-0.4.2-7.el7.noarch.rpm
从左到右可以划分为几个部分:包名、版本号、发布版本号、平台。
安装rpm包,# rpm -ivh zsh-5.0.2-25.el7.x86_64.rpm
-i表示安装
-v表示可视化
-h表示显示安装进度
–force表示强制安装
–nodeps表示当要安装的rpm包依赖于其他包时,即使其他包没有安装,也要安装这个包
[
root@aming01 Packages]# rpm -ivh zlib-1.2.7-17.el7.x86_64.rpm
准备中... ################################# [100%]
软件包 zlib-1.2.7-17.el7.x86_64 已经安装
升级rpm包,#rpm -Uvh zlib-1.2.7-17.el7.x86_64.rpm
[root@aming01 Packages]# rpm -Uvh zlib-1.2.7-17.el7.x86_64.rpm
准备中... ################################# [100%]
软件包 zlib-1.2.7-17.el7.x86_64 已经安装
卸载rpm,rpm -e 包名 #rpm -e zsh,不显示直接卸载属于正常
查询安装的包#rpm -qa,则出现很多安装过的包,可以卸载的
[root@aming01 Packages]# rpm -qa zlib
zlib-1.2.7-17.el7.x86_64
[root@aming01 Packages]# rpm -qa
firewalld-0.4.4.4-6.el7.noarch
grub2-common-2.02-0.64.el7.centos.noarch
grub2-2.02-0.64.el7.centos.x86_64
setup-2.8.71-7.el7.noarch
NetworkManager-team-1.8.0-9.el7.x86_64
basesystem-10.0-7.el7.centos.noarch
audit-2.7.6-3.el7.x86_64
bind-license-9.9.4-50.el7.noarch
irqbalance-1.0.7-10.el7.x86_64
查询指定包是否安装,rpm -q [包名]
[root@aming01 Packages]# rpm -q xz
xz-5.2.2-1.el7.x86_64
[root@aming01 Packages]# rpm -q ypserv
未安装软件包 ypserv
查询指定包信息,rpm -[qi] [包名]
[root@aming01 Packages]# rpm -qi zlib
Name : zlib
Version : 1.2.7
Release : 17.el7
Architecture: x86_64
Install Date: 2018年04月24日 星期二 23时32分46秒
Group : System Environment/Libraries
Size : 185710
License : zlib and Boost
Signature : RSA/SHA256, 2016年11月21日 星期一 05时05分07秒, Key ID 24c6a8a7f4a80eb5
Source RPM : zlib-1.2.7-17.el7.src.rpm
Build Date : 2016年11月06日 星期日 02时09分15秒
Build Host : worker1.bsys.centos.org
Relocations : (not relocatable)
Packager : CentOS BuildSystem .centos.org>
Vendor : CentOS
URL : http://www.zlib.net/
Summary : The compression and decompression library
Description :
Zlib is a general-purpose, patent-free, lossless data compression
library which is used by many different programs.
列出包安装的文件,rpm [-ql] [包名]
[root@aming01 Packages]# rpm -ql zlib
/usr/lib64/libz.so.1
/usr/lib64/libz.so.1.2.7
/usr/share/doc/zlib-1.2.7
/usr/share/doc/zlib-1.2.7/ChangeLog
/usr/share/doc/zlib-1.2.7/FAQ
/usr/share/doc/zlib-1.2.7/README
根据绝对路径查询是由哪个包安装的,rpm [-qf] [绝对路径]
[root@aming01 Packages]# rpm -qf /usr/bin/vi
vim-minimal-7.4.160-2.el7.x86_64
[root@aming01 Packages]# rpm -qf /usr/bin/vi /usr/bin/cd
vim-minimal-7.4.160-2.el7.x86_64
bash-4.2.46-28.el7.x86_64
“ 反引号的作用是先执行反引号内的命令,然后输出给当前命令行上执行
[root@aming01 Packages]# rpm -qf /usr/bin/mkdir
coreutils-8.22-18.el7.x86_64
[root@aming01 Packages]# rpm -qf `which mkdir`
coreutils-8.22-18.el7.x86_64
列出所有可用的rpm包,# yum list
yum配置文件;/etc/yum.repos.d
[root@aming01 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
[root@aming01 Packages]# cat /etc/yum.repos.d/CentOS-Base.repo
配置文件base(yum仓库)的信息
name=CentOS-$releasever - Plus
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/centosplus/$basearch/
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
搜索rpm包,yum search [相关关键词]
[root@aming01 Packages]# yum search vim
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.aliyun.com
* extras: mirrors.aliyun.com
* updates: mirror.navercorp.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
名称和简介匹配 only,使用“search all”试试。
这样搜索的不精确,要想更精确的搜索,可用这样的方法
[root@aming01 Packages]# yum list |grep 'vim'
vim-common.x86_64 2:7.4.160-4.el7 @base
vim-enhanced.x86_64 2:7.4.160-4.el7 @base
vim-filesystem.x86_64 2:7.4.160-4.el7 @base
vim-minimal.x86_64 2:7.4.160-2.el7 @anaconda
protobuf-vim.x86_64 2.5.0-8.el7 base
vim-X11.x86_64 2:7.4.160-4.el7 base
vim-minimal.x86_64 2:7.4.160-4.el7 base
安装包的命令,yum install [-y] [包名],-y表示不再询问是否安装
[root@aming01 Packages]# yum install -y zziplib
已加载插件: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.aliyun.com
* updates: mirror.navercorp.com
正在解决依赖关系
--> 正在检查事务
---> 软件包 zziplib.x86_64.0.0.13.62-5.el7 将被 安装
--> 解决依赖关系完成
依赖关系解决
列出可用组,yum grouplist
[root@aming01 Packages]# yum grouplist
已加载插件:fastestmirror
没有安装组信息文件
Maybe run: yum groups mark convert (see man yum)
Loading mirror speeds from cached hostfile
* base: mirrors.aliyun.com
* extras: mirrors.aliyun.com
* updates: mirror.navercorp.com
可用的环境分组:
最小安装
基础设施服务器
计算节点
文件及打印服务器
基本网页服务器
虚拟化主机
带 GUI 的服务器
输入LANG=en,可以英文显示
安装rpm包组,yum groupinstall [-y] [包的组名],可以用yum grouplist查看组名,用英文显示。
卸载rpm包,yum remove [-y] [包名],在卸载时会将目标文件所依赖的所有包同时卸载。
升级rpm包,yum update [-y] [包名],如果不加包名,则会升级系统内所有包和系统本身(一般在刚安装完系统是使用)
yum provides命令,通过已知的命令来搜索rpm包名,/*/通配符,命令路径不确定时,可使用代表路径
[root@aming01 Packages]# yum provides "/*/vim"
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.aliyun.com
* extras: mirrors.aliyun.com
* updates: mirrors.tuna.tsinghua.edu.cn
base/7/x86_64/filelists_db | 6.9 MB 00:00:00
extras/7/x86_64/filelists_db | 519 kB 00:00:00
updates/7/x86_64/filelists_db | 1.3 MB 00:00:00
cmake-2.8.12.2-2.el7.x86_64 : Cross-platform make system
源 :base
匹配来源:
文件名 :/usr/share/cmake/editors/vim
步骤:
1.挂载镜像到/mnt/目录
2.cp -r /etc/yum.repos.d /etc/yum.repos.d.bak 将文件和目录一同拷贝到另一个位置
3.vim /etc/yum/repos.d/dvd.repo //内容如下 :
[dvd]
name=install dvd
baseurl=file:///mnt
enable=1
gpgcheck=0
4.yum clean all
5.yum list
[root@aming01 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
[root@aming01 Packages]# cd ~
[root@aming01 ~]# cp -r /etc/yum.repos.d /etc/yum.repos.d.bak
[root@aming01 ~]# cd /etc/yum.repos.d
[root@aming01 yum.repos.d]# rm -rf ./*
[root@aming01 yum.repos.d]# vi dvd.repo
~
~
~
~
~
~
~
~
~
~
~
~
[root@aming01 yum.repos.d]# yum clean all
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
There are no enabled repos.
Run "yum repolist all" to see the repos you have.
To enable Red Hat Subscription Management repositories:
subscription-manager repos --enable
To enable custom repositories:
yum-config-manager --enable
[root@aming01 yum.repos.d]# yum list
配置完成后便可直接使用yum安装所需要的rpm包。如果不想使用本地yum源,需要删除/etc/yum.repos.d/dvd.repo文件,然后恢复原来的配置文件。
进入到cd /etc/yum.repos.d/ 目录;然后删除CentOS-Base.repo文件;
[root@aming01 yum.repos.d]# cd /etc/yum.repos.d/
[root@aming01 yum.repos.d]# ls
[root@aming01 yum.repos.d]# rm -rf CentOs-Base.repo
[root@aming01 yum.repos.d]# ls
使用 wget http://mirrors.163.com/.help/CentOS7-Base-163.repo或者curl -O http://mirrors.163.com/.help/CentOS7-Base-163.repo;命令去下载CentOS7-Base-163.repo,然后vim打开CentOS7-Base-163.repo,查看内容
[root@aming01 yum.repos.d]# curl -O http://mirrors.163.com/.help/CentOS-Base-163.repo
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 162 100 162 0 0 1582 0 --:--:-- --:--:-- --:--:-- 1588
[root@aming01 yum.repos.d]# ls
CentOS-Base-163.repo
安装扩展源epel;yum install -y epel-release
[root@aming01 yum.repos.d]# yum install -y epel-release
已加载插件: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
正在解决依赖关系
--> 正在检查事务
---> 软件包 epel-release.noarch.0.7-11 将被 安装
--> 解决依赖关系完成
依赖关系解决
安装完成后,增加了epel.repo、epel-testing.repo两个文件,查看epel.repo文件
[root@aming01 yum.repos.d]# ls
CentOS7-Base-163.repo epel.repo epel-testing.repo yum.repos.d yum.repos.d.tar
[root@aming01 yum.repos.d]# cat epel.repo
[epel]
name=Extra Packages for Enterprise Linux 7 - $basearch
#baseurl=http://download.fedoraproject.org/pub/epel/7/$basearch
metalink=https://mirrors.fedoraproject.org/metalink?repo=epel-7&arch=$basearch
failovermethod=priority
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
[epel-debuginfo]
name=Extra Packages for Enterprise Linux 7 - $basearch - Debug
#baseurl=http://download.fedoraproject.org/pub/epel/7/$basearch/debug
metalink=https://mirrors.fedoraproject.org/metalink?repo=epel-debug-7&arch=$basearch
failovermethod=priority
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
gpgcheck=1
[epel-source]
name=Extra Packages for Enterprise Linux 7 - $basearch - Source
#baseurl=http://download.fedoraproject.org/pub/epel/7/SRPMS
metalink=https://mirrors.fedoraproject.org/metalink?repo=epel-source-7&arch=$basearch
failovermethod=priority
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
gpgcheck=1
[root@aming01 yum.repos.d]#
然后yum list,有很多包出来;也可以使用 yum list |grep epel 查看
yum install -y 包名 –downloadonly ,该命令是下载rpm包但不安装
[root@aming01 yum.repos.d]# yum install -y zsh --downloadonly
已加载插件:fastestmirror
epel/x86_64/metalink | 5.3 kB 00:00:00
epel | 4.7 kB 00:00:00
epel/x86_64/updateinfo FAILED
http://mirrors.sohu.com/fedora-epel/7/x86_64/repodata/f85923f6cfc52b739f50919965612b06066dbb784475a2580615b47713cf4435-updateinfo.xml.bz2: [Errno 14] HTTP Error 404 - Not Found
正在尝试其它镜像。
To address this issue please refer to the below knowledge base article
下载的包默认的保存路径为:ls -l /var/cache/yum/x86_64/7/epel/packages/;但也要看你的下载的仓库在哪里,假如你下载是的仓库是updates,那就是 ls -l /var/cache/yum/x86_64/7/updates/packages/;
其实我们还可以自定义RPM包的安装路径;加参数 –downloaddir=路径
yum install -y 包名 –downloadonly –downloaddir=/tmp/(自定义),然后ls /tmp/
如果下载一个已安装的包(提示包已安装,没有任何操作)时,可以用yum reinstall 重新安装
源码包下载路径按约定统一放到/usr/local/src/里
解压httpd-2.2.32.tar.gz压缩包
解压完成后,到httpd-2.2.34目录下去
指定安装路径.:./configure –prefix=/usr/local/nginx
如果不知道输入的命令是否正确,可以用echo $?查看 ,若是非零,表示上一条命令是错的;
上面显示的是gcc不存在,安装gcc
安装好gcc,继续指定安装路径../configure –prefix=/usr/local/nginx,配置过程中会生成make file,是用来编译的文件
然后使用make编译工具,根据分配的cpu数量,来看编译速度的;编译完成后,用echo $?检测,结果为0代表正确。
接着make install ,它会把编译完成的二进制文件、配置文件目录放入到 prefix 指定的目录下;再用echo $?检测。
查看生成的目录/usr/local/nginx/
注意:下载源码包一定要去官方网站或者可信任的站点
yum保留已经安装过的包 http://www.360doc.com/content/11/0218/15/4171006_94080041.shtml
搭建局域网yum源 http://ask.apelearn.com/question/7627