- 包名和包全名的这个概念只在 “ rpm命令管理 ” 处有效。一旦离开了手工rpm就不在有" 包全名 "的概念了。
- rpm命令管理的最大问题就是依赖性,yum就是为了解决这种依赖性所开发安装方法。yum在线管理只需要告诉你的系统需要安装哪个软件包,它就会自动的在服务器上将这个软件包下载下来,同时把它依赖的软件包也下载下来,而且会自动安装这些所有的软件包。一句话,只需要告诉服务器需要安装什么,剩余的过程都有yum自己来解决,包括库依赖、环形依赖等等。
- yum管理的同样是rpm包,根rpm命令管理是一样。区别是:rpm命令是手工安装、卸载和查询,而yum管理是自动在线安装,其最主要的好处就是解决依赖性。
一、IP地址配置和网络yum源
1、IP地址配置
[root@localhost ~]# setup
#使用setup工具
[root@localhost ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0
把NOBOOT="no"改为NOBOOT=“yes”
#启动网卡
[root@localhost ~]# service network restart
#重启网络服务
配置IP地址的具体操作步骤如下:
1> 输入setup命令,并按enter回车;
2> 选择网络配置,并按enter回车;
3> 选择“设备配置”,并按enter回车;
4> 在Linux当中“eth0”代表第一块网卡,并按enter回车;
5> 给第一块网卡配置IP信息。如果这里选择了 * 号,代表自动获取IP(如果要自动获取IP,必须在局域网内有自动分配的服务器,也就说必须有DHCP服务器存在),如果手动配置IP,就在 * 处按空格后进行手动配置;
6> 配置IP;
7> IP配置完成后,按相关保存或保存并退出。这时IP已经配置完成,但是并没有生效,如果以前要生效只需重启Linux或者重启网络服务,即执行[root@localhost ~]# service network restart命令即可(即,setup命令+service命令,就可以使用)。但是,CentOS6.3默认网卡没有启动(即,NOBOOT=“no”),需要手工打开网卡的配置文件(即,/etc/sysconfig/network-scripts/ifcfg-eth0),其实如果我们没有setup命令要想受共配置IP,也是通过修改这个配置文件来进行修改。需要将vim /etc/sysconfig/network-scripts/ifcfg-eth0打开这个文件,将NOBOOT="no"改为NOBOOT=“yes”,启动网卡。目前只有一块网卡,如果有两块网卡就是…/ifcfg-eth0或/ifcfg-eth1
8> 最后通过命令:service network restart 重启网络服务。
注意:如果重启网络,这个工具会暂时的断开后,若网络连接会自动的连接网络,若时间过长,这个会发生网络断接的可能。
9> 最后通过命令:ifconfig 就可以查看网络配置是否生效;
注意:
- 这个修改IP的方式和ifconfig命令修改IP的区别是:前者是永久生效,不管是重启网络服务,还是重启Linux都会永久生效;后者是临时生效,重启网络服务或重启Linux后消失了。用setup命令不但可以改IP地址和子网掩码,还可以改网关和DNS。
- 局域网内使用需要:IP地址和子网掩码;互联网内使用需要:IP地址、子网掩码、DNS和网关。
2、网络yum源
[root@localhost yum.repos.d]# vi /etc/yum.repos.d/CentOS-Base.repo
- [base] : 容器名称,一定要放在[]中
- name : 容器说明,可以自己随便写
- mirrorlist : 镜像站点,这个可以注释掉
- baseurl : 我们的yum源服务器的地址。默认是CentOS官方的yum源服务器,是可以使用的 ,如果你觉得慢可以改变成你喜欢的yum源地址
- enabled : 此容器是否是生效,如果不写或写成enable=1都是生效,写成enable=0就是不生效
- gpgcheck : 如果是1是指RPM的数字证书生效,如果是0则不生效
- gpgkey : 数字证书的公钥文件保存位置。不能修改
关于以上的说明:
- 如何来配网络yum源呢?现在Linux非常的智能,CentOS的网络yum源默认都已经是配置好的,现在只要你的Linux能连网什么都不用更改就可以直接使用CentOS官方网站yum源服务器进行下载、安装、升级非常方便。在国内可以尝试在百度中搜索yum源。
- 现在的网络yum源虽然不做任何更改,但是我们能够看懂这个网络yum源。所有的yum源文件都保存在/etc/yum.repos.d的目录当中的,在这个目录当中只要是以.repo后缀名结尾的文件都是合法的yum源,这个CentOS-Base.repo就是指的网络yum源生效。
- 这个网络yum源文件不做任何修改,默认就可以。只需要打开,看懂就行。
打开这个yum源文件:
[root@root 桌面]# cd /etc/yum.repos.d/
[root@root yum.repos.d]# ls
packagekit-media.repo rhel-source.repo
[root@root yum.repos.d]# vim rhel-source.repo
#yum源文件内容:
[rhel-source]
#默认情况下是第一个软件池生效。其中,中括号[ ]就是这个软件池名称或容器名称。一般不用改
name=Red Hat Enterprise Linux $releasever - $basearch - Source
#name,是这个容器的说明
baseurl=ftp://ftp.redhat.com/pub/redhat/linux/enterprise/$releasever/en/os/SRPMS/
#baseurl:yum源服务器的地址
enabled=0
#enabled是容器当中最主要的一句话。此容器是否是生效,如果不写或写成enable=1都是生效,
#写成enable=0就是不生效。默认情况不写时,这个enabled=1,即使生效的。
gpgcheck=1
#如果是1是指RPM的数字证书生效,如果是0则不生效
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
#数字证书的公钥文件保存位置。不能修改
[rhel-source-beta]
name=Red Hat Enterprise Linux $releasever Beta - $basearch - Source
baseurl=ftp://ftp.redhat.com/pub/redhat/linux/beta/$releasever/en/os/SRPMS/
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-beta,file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
二、yum命令
只要Linux接入互联网,默认的网络yum源其实不用做任何修改,这些yum命令就可以直接使用。到底有哪些yum命令可以使用呢?
1、常用yum命令
1> 查询
[root@localhost yum.repos.d]# yum list
#查询所有可用软件包列表。查询服务器上可用的软件包列表
#能够看到在这个容器当中,有哪些软件包可以正常使用安装
[root@localhost yum.repos.d]# yum search 关键字
#搜索服务器上所有和关键字有关的包
示例如下:
[root@root yum.repos.d]# yum list
anaconda-RedHatEnterpriseLinux-201311111358.x86_64/6.5
qt3.x86_64 3.3.8b-30.el6 @anaconda-RedHatEnterpriseLinux-201311111358.x86_64/6.5
quota.x86_64 1:3.17-20.el6 @anaconda-RedHatEnterpriseLinux-201311111358.x86_64/6.5
... ...
[root@root yum.repos.d]# yum search httpd
Loaded plugins: product-id, refresh-packagekit, security, subscription-manager
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
================================== N/S Matched: httpd ==================================
httpd.x86_64 : Apache HTTP Server
httpd-tools.x86_64 : Tools for use with the Apache HTTP Server
mod_dnssd.x86_64 : An Apache HTTPD module which adds Zeroconf support
Name and summary matches only, use "search all" for everything.
[root@root yum.repos.d]#
2> 安装
[root@localhost yum.repos.d]# yum -y install 包名
选项:
- install : 安装
- -y : 自动回答yes。
如果没有-y,它每装一个软件包都会问你 ,这个要装吗?只有打y回车才会安装。如果加了-y,就会变成全自动了,就可以安装了。
示例如下:
[root@root ~]# yum -y install gcc
3> 升级
[root@localhost yum.repos.d]# yum -y update 包名
选项:
- update : 升级
- -y : 自动回答yes
切记注意:如果命“ # yum -y update ” 没有接包名,它的意思是说升级所有的软件包,包括Linux内核都会升级(Linux内核升级完成后,需要在本地做一些配置,这样内核才会正常使用和启动。如果在远程使用这条命令,就会是服务器奔溃)。
4> 卸载
[root@localhost yum.repos.d]# yum -y remove 包名
选项:
- remove : 卸载
- -y : 自动回答yes
服务器的安装原则:
- Linux服务器或者所有的服务器而言,安装的时候最小化安装,不安装多余的软件;使用什么软件安装什么软件,手工装,尽量不卸载,尤其是yum卸载尽量不要多用。
2、YUM软件组管理命令
[root@localhost ~]# yum grouplist
#列出所有可用的软件组列表
[root@localhost ~]# yum groupinstall 软件组名
#安装指定软件组,组名可以有grouplist查询出来
#如果软件组的名字之间有空格,就应该用双引号将软件保组名括起来,例如,“软件组名”
[root@localhost ~]# yum groupremove 软件组名
#卸载指定软件组
三、光盘yum源搭建
- yum支持本地光盘作为yum源的,优点是不用上网下载yum源,安装速度会大大增加。而且在没有网络的环境下,也不影响yum的使用。但是,这个软件并不是最新的,其实用的就是光盘当中的rpm包。
1、光盘yum源搭建步骤
1> 挂载光盘
[root@localhost ~]# mount /dev/cdrom /mnt/cdrom
2> 让网络yum源文件失效
[root@localhost ~]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# ls
CenOS-Base.repo CentOS-Debuginfo.repo CentOS-Media.repo CentOS-Vault.repo
关于以上的说明:
- 默认是Base这个网络yum源生效,我们现在要做的是让“ CenOS-Base.repo CentOS-Debuginfo.repo CentOS-Vault.repo ”yum源不生效,只让“CentOS-Media.repo”yum源生效。已经知道yum源的开关是以enabled=0或者1,如果enabled=0代表这个yum源不生效,如果enabled=1代表这个yum源生效。也就是说要打开这些所有yum源配置文件,并且把每一个地址容器的关键字都改成enabled=0,这样会很麻烦的。如果将这“ CenOS-Base.repo CentOS-Debuginfo.repo CentOS-Vault.repo ”三个文件给删除了,当然可以的,但是如果要用这三个yum源文件,这时候就歇菜了。这个时候最好的办法是将它们改名,其实yum源文件检测的是.repo的后缀名,那么我们只要将这个后缀名改成不是.repo就可以了,这个时候这三个网络yum源文件就会失效。因此执行下面的命令即可。
[root@localhost yum.repos.d]# mv CentOS-Base.repo CentOS-Base.repo.bak
[root@localhost yum.repos.d]# mv CentOS-Debuginfo.repo
CentOS-Debuginfo.repo.bak
[root@localhost yum.repos.d]# mv CentOS-Vault.repo \
CentOS-Vault.repo.bak
以上说明:
这样做的目的是
3> 修改光盘yum源文件
关于以上的说明:
- 把enabled=0改成enabled=1把开关打开,让这个yum源配置文件生效;
- [c6-media] ——> 是容器的名称
- baseurl=file:///mnt/cdrom ——> 在网络yum源里面写的是baseurl=http://…,是CentOS正确的官方网站。但是在这里我们不在以网络作为yum源,所以这里的协议就是file://…作为协议,这是双斜杠不能省略照着写。第三个斜杠代表的是根,后面写你光盘挂载点的绝对地址即可。
- 默认的有两个(即,file:///media/cdrom和file:///media/cdrecorder/)多余的光盘地址,将这个两个地址注释掉。
- 绝大多数的Linux配置文件都是由严格的格式要求的。前面不能加空格,后面也不能加空格