Yum源相关的一些问题
1 检查自己创建的yum源是否可用。
yum list
如果出现很多安装包,说明可用,如果报错说明不可以。
2 yum源相当与一个指向软件仓库的连接,通过yum安装软件,实际上是通过链接进入软件仓库获取到相应软件包在安装的。
(一)yum源概述
yum需要一个yum库,也就是yum源。默认情况下,CentOS就有一个yum源。在/etc/yum.repos.d/目录下有一些默认的配置文件(可以将这些文件移到/opt下,或者直接在yum.repos.d/下重命名)。
首先要找一个yum库(源),然后确保本地有一个客户端(yum这个命令就是客户端),由yum程序去连接服务器。连接的方式是由配置文件决定的。通过编辑/etc/yum.repos.d/CentOS-Base.repo文件,可以修改设置。
打开CentOS-Base.repo文件,可以看到url路径是CentOS的官网自身的yum源,http://mirrorlist.centos.org/?release=releasever&arch=releasever&arch= basearch&repo=os。可以将这个mirrorlist注释掉,然后将baseurl设置成国内的阿里云源http://mirrors.aliyun.com/repo/Centos-6.repo,也可以在用于大量的rpm包的前提下设置成自己的本地文件系统(挂载目录),需要移除CentOS-Base.repo文件,并编辑CentOS-Media.repo文件。
name=Description#一个描述,随意。
baseurl=#设置资源库的地址,可以写阿里云也可以是自己的yum
ftp://
http://
file:///
enabled={1|0}#enabled=1开启本地更新模式
gpgcheck={1|0}# gpgcheck=1表示检查;可以不检查gpgcheck=0
gpgkey=#检查的key;如果上面不检查这一行可以不写。
(二)yum源配置方法一(阿里云源)
1) 安装wget
yum install -y wget
2) 备份/etc/yum.repos.d/CentOS-Base.repo文件
cd /etc/yum.repos.d/
mv CentOS-Base.repo CentOS-Base.repo.back
3) 下载阿里云的Centos-6.repo文件
wget -O CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo
4) 重新加载yum
yum clean all
yum makecache
(三)yum源配置方法二(本地挂载目录)
1) 下载iso文件
从CentOS的官网下载CentOS的完整版iso文件,并上传到Linux文件系统中,例如/opt/tools/。
2) 创建挂载目录
为iso文件的挂载创建目录。
mkdir /mnt/vcdrom
3) 挂载
将iso文件挂载到挂载目录。
mount -o loop -t iso9660 /opt/tools/CentOS-6.7-x86_64-bin-DVD1.iso /mnt/vcdrom
4) 移除或备份Centos-Base.repo文件
cd /etc/yum.repos.d/
mv Centos-Base.repo Centos-Base.repo.back
5) 编辑Centos-Media.repo文件
vim /etc/yum.repos.d/Centos-Media.repo
name=CentOS-$releasever - Media
baseurl=file:///mnt/vcdrom/#将baseurl修改为DVD的挂载目录
gpgcheck=1
enabled=1#开启本地更新模式
6) 重新加载yum
yum clean all
yum makecache
7) 编写脚本并开机自动挂载
首先,编写脚本。
vim /opt/shell/mymount.sh
#!/bin/bash
#
mount -o loop -t iso9660 /opt/tools/CentOS-6.7-x86_64-bin-DVD1.iso /mnt/vcdrom
其次,修改脚本执行权限。
chmod 777 /opt/shell/mymount.sh
再次,修改/etc/rc.local配置文件。
vim /etc/rc.local
在文件最后一行加上如下
/opt/shell/mymount.sh
最后,重启机器测试。
init 6
(四)yum源配置方法三(远程挂载目录)
1) 服务端配置
第一,安装nfs-utils和rpcbind。
yum -y install nfs-utils rpcbind
第二,设置开机启动服务。
chkconfig nfs on
chkconfig rpcbind on
第三,启动相关服务。
service rpcbind start #需要先启动rpcbind
service nfs start
第四,创建共享目录。
mkdir -p /mnt/vcdrom/
第五,编辑/etc/exports文件,添加如下内容。
vi /etc/exports
/mnt/vcdrom/ 192.168.94.5(rw,async,no_root_squash,no_subtree_check)
注:配置文件说明:/mnt/vcdrom/为共享的目录,使用绝路径。对192.168.94.5(rw,no_root_squash,no_all_squash,sync) 为客户端的地址及权限,地址可以是一个网段,一个IP地址或者是一个域名,域名支持通配符,如:*youxia.com。
权限说明:rw:read-write,可读写;ro:read-only,只读;sync:文件同时写入硬盘和内存;async:文件暂存于内存,而不是直接写入内存;no_root_squash:NFS客户端连接服务端时如果使用的是root的话,那么对服务端分享的目录来说,也拥有root权限。显然开启这项是不安全的。root_squash:NFS客户端连接服务端时如果使用的是root的话,那么对服务端分享的目录来说,拥有匿名用户权限,通常他将使用nobody或nfsnobody身份;all_squash:不论NFS客户端连接服务端时使用什么用户,对服务端分享的目录来说都是拥有匿名用户权限;anonuid:匿名用户的UID值,通常是nobody或nfsnobody,可以在此处自行设定;anongid:匿名用户的GID值。
第六,参考yum源配置方法二,将/opt/tools/下的ios文件挂载到/mnt/vcdrom,需要设置开机自动挂载。
2) 客户端配置
第一,安装nfs-utils和rpcbind。
yum install -y nfs-utils rpcbind
第二,设置开机启动服务。
chkconfig nfs on
chkconfig rpcbind on
第三,启动服务。
service rpcbind start
service nfs start
第四,创建挂载点。
mkdir -p /mnt/vcdrom/
第五,挂载目录。
mount -t nfs server_ip:/mnt/vcdrom /mnt/vcdrom
第六,编辑/etc/fstab,配置开机自动挂载
这里可以参考yum源配置方法二的介绍,编写脚本,使脚本开机运行。下面给出第二种方法:
vim /etc/fstab
server_ip:/mnt/vcdrom /mnt/vcdrom nfs rw,tcp,intr 0 1
第七,修改yum源设置。
参考yum源配置方法二。
yum只下载不安装软件包(黑科技)
方法一:使用yum的downloadonly插件
步骤:
(1) 先安装downloadonly插件
yum install yum-plugin-downloadonly
(2)使用–downloadonly选项下载指定的软件包,–downloaddir选项用于指定下载的软件包存放目录,如下载lsof
sudo yum install --downloadonly --downloaddir=/home/hadoop lsof
如果不用–downloaddir选项指定下载的软件包存放目录,默认是存放在/var/cache/yum下的子目录中,路径比较复杂,所以建议采用–downloaddir选项指定软件包存放目录。
方法二:使用yum-utils软件包中的yumdownloader
yum-utils包含着一系列的yum的工具,比如 debuginfo-install, package-cleanup, repoclosure, repodiff, repo-graph, repomanage, repoquery, repo-rss, reposync, repotrack, verifytree, yum-builddep, yum-complete-transaction, yumdownloader, yum-debug-dump 和 yum-groups-manager.
步骤:
(1) 先安装yum-utils
sudo yum install yum-utils
(2)再使用yumdownloader下载软件包,如下载lsof
yumdownloader --destdir=/home/hadoop lsof
–destdir选项用于指定下载的软件包存放目录
方法三:利用yum的缓存功能
用yum安装某个软件包时,yum已经把该软件包下载好了,只是默认缓存功能是关闭的,安装完成后会删除软件包,所以要想安装完成后不删除软件包,将缓存功能打开即可。
打开缓存功能的方法:
打开/etc/yum.conf, 将其中 keepcache=0改为keepcache=1
这时执行yum install命令安装软件包时,安装完成后也可以在缓存目录下找到软件包,缓存目录由/etc/yum.con的cachedir参数指定,默认是/var/cache/yum
Mount /dev/cdrom /mnt
Mount -o remount,rw /dev/cdrom /mnt