Linux ネットワーク サービスのデプロイメント yum ウェアハウス
1. yum ウェアハウスの紹介
1.1yumの紹介
yum は、RPM パッケージ (Red-Hat Package Manager の略称) に基づいて構築されたソフトウェア更新メカニズムであり、ソフトウェア パッケージ間の依存関係を自動的に解決できます。YUM メカニズムを使用してシステムとソフトウェアを更新するには、さまざまな rpm インストール パッケージ ファイルとその依存ソフトウェアを含むソフトウェア リポジトリ (リポジトリ) が必要です。ソフトウェア リポジトリを提供するサーバーは、「ソース」サーバーとも呼ばれます。ソフトウェア ウェアハウスのアドレスとその他の情報がクライアントで正しく指定されている限り、対応する「ソース」サーバーを介してソフトウェアをインストールまたは更新できます。
1.2yumの実装プロセス
软件仓库的提供方式
- 1.本地yum源(file:///mnt)
- 2.http yum源(http:///192.168.140.111/centos7)
- 3.ftp yum源(ftp:///192.168.140.111/centos7)
1.2.1Yumの動作原理
1.客户端根据配置文件找到yum仓库服务器的位置
2.服务端向客户端发送元数据包(包含 软件依赖关系 软件的位置)
#相当于软件安装目录
3.客户端下载后,在元数据包中的查找到目标,发送请求
4.服务器响应并将相关软件包和依赖关系发送给客户端,客户端下载安装
1.2.2 注意事項
yum需要依赖于环境,依赖于服务端和客户端,允许跨网络
服务器:
- RPM包 (Packages文件夹中)
- 元数据(repodata文件夹:目录(软件的目录),软件的依赖关系,软件的位置)
客户端的配置文件中
baseurl=地址 一定要写到到 这两个文件夹 repodata packages 的上级目录
最终形成两个文件夹Packages (包文件夹一般取名packages)和 repodata(元数据文件夹)
2.yum設定ファイル
2.1yum設定ファイル
2.1.1 主な設定ファイル
[root@localhost]# /etc/yum.conf
[main]
cachedir=/var/cache/yum/$basearch/$releasever //yum下载的RPM包的缓存目录 $basearch代表硬件架构 $releasever系统版本比如7
keepcache=0 //是否保存缓存 0代表不保存,1代表保存
debuglevel=2 //调试级别了解即可
logfile=/var/log/yum.log // 日志文件位置
exactarch=1 //是否允许不同版本的rpm安装
obsoletes=1 //update 的一个参数是否可以允许旧版本的运行
gpgcheck=1 //验证秘钥
plugins=1 //是否允许插件1代表可以
installonly_limit=5 //保存几个内核 5代表5个
2.1.2 ウェアハウス設定ファイル
/etc/yum.repos.d/*.repo //yum仓库文件位置
2.1.3 ログファイル
/var/log/yum.log //日志文件位置
3. yumコマンドの詳細説明
3.1 ダウンロードとインストール
yum install 软件名 -y #通过yum方式安装
3.2 クエリ
3.2.1 利用可能なインストールパッケージの表示: yum list
3.2.2 指定したインストールパッケージの詳細情報を表示する:yum info
yum info [软件名] #显示指定安装包详细信息,不加软件名是显示所有包的详细信息
3.2.3 キーワードに基づいてソフトウェア インストール パッケージを検索: yum search
yum search 关键词 #根据关键字查找软件安装包
3.2.4 コマンド名に従って、対応するソフトウェア パッケージを見つけます: yum が提供します
yum provides 命令 #根据命令名查找对应的软件包
3.2.5 インストールパッケージグループのクエリ: yum grouplist
yum grouplist [包组名] #安装包组的查询 不加包组名 就是显示所有
3.2.6 インストールパッケージグループの詳細情報:yum groupinfo
yum groupinfo <包组名> #显示包组的详细信息
#举例#
yum groupinfo Minimal Install #最小化安装包组的详细信息
3.2.7 過去の使用記録の表示: yum 履歴
yum history #查看历史记录
3.3 アンインストール
3.3.1yum 削除
yum remove [软件名] 卸载已安装的软件
3.3.2yum 履歴の取り消し
选择ID 1,2,3,4,5
可以使用yum history undo 4 进行卸载,这样对比remove好处是可以将所有的依赖都删除
再次查看history,可以看见增加了一条删除记录
#如果卸载错误#
yum history redo n #反悔卸载,n为卸载记录的ID
#举例#
yum history redo 8 #重新安装第二条记录中卸载的软件
3.4 ダウンロードのみでインストールは不可
当内网的一台主机安装某个软件包却缺少依赖包时,可以先由一台可连接外网的服务器下载依赖包,之后共享给这台主机
yum install --downloadonly +软件名称 --downloaddir=指定rpm包存放路径
4. yum ウェアハウスの構築方法
4.1 ローカルの yum ウェアハウスを構築する
systemctl stop firewalld
setenforce 0
[root@localhost ~]# mount /dev/sr0 /mnt
mount: /dev/sr0 写保护,将以只读方式挂载
切换到源文件目录 cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# mkdir bak
[root@localhost yum.repos.d]#
[root@localhost yum.repos.d]#
[root@localhost yum.repos.d]# ls
bak CentOS-CR.repo CentOS-fasttrack.repo CentOS-Sources.repo
CentOS-Base.repo CentOS-Debuginfo.repo CentOS-Media.repo CentOS-Vault.repo
[root@localhost yum.repos.d]#
[root@localhost yum.repos.d]#
[root@localhost yum.repos.d]# mv *.repo bak/
[root@localhost yum.repos.d]#
[root@localhost yum.repos.d]#
[root@localhost yum.repos.d]# ls
bak
[root@localhost yum.repos.d]# vim local.repo
yum clean all
yum makecache
yum -y install tree //安装软件检测源的变化
4.2 HTTP メソッドを使用して yum ウェアハウスを構築する
サーバ
systemctl stop firewalld //关闭防火墙
setenforce 0
yum -y install httpd //安装http
mount /dev/sr0 /var/www/html //将光驱挂载在可以共享的文件夹下
クライアント
vim http.repo #新建 http.repo文件
[http]
name=http
baseurl=http://192.168.2.102 #服务器的ip地址
gpgcheck=0 #关闭校验
:wq #退出并保存
yum clean all //清理缓存
yum makecache //建立元数据库
yum -y install tree //安装tree
4.3 FTP を使用して yum ウェアハウスを構築する
サーバーを構成する
#关闭防火墙
systemctl stop firewalld
setenforce 0
# yum 安装ftp软件
yum -y install vsftpd
cd /var/ftp/
mkdir /var/ftp/centos7 #新建目录作为挂载点
mount /dev/sr0 /var/ftp/centos7 #挂载
クライアント
systemctl stop firewalld.service
setenfore 0 #关闭防火墙和selinux
cd /etc/yum.repos.d
mkdir backup
mv *.repo bak #移走网络源
vim ftp.repo #新建 ftp.repo文件
vim ftp.repo #新建 ftp.repo文件
[ftp]
name=ftp
baseurl=ftp://192.168.190.254/test #挂载目录
gpgcheck=0 #关闭校验
:wq #退出并保存
yum clean all
yum makecache #清除网络源缓存,建立本地源数据
yum install -y tree #安装tree以测试源的变化