yum 搭建私有倉庫
阿新 • • 發佈:2021-12-16
今日內容
- Linux 中安裝軟體的三種方法
- yum 私有倉庫
- selinux 和 firewalld (iprables)
- 解決系統亂碼
內容詳細
一、Linux 安裝軟體的三種方法
rpm安裝、yum 安裝、原始碼編譯安裝
區別
1、rpm 安裝類似於window的安裝包,下載後直接安裝。
缺點: 無法解決依賴,比如下載python 也需要下載 C 語言
2、yum 安裝基於 rpm 安裝,就是載 rpm 上增加了自動解決依賴問題
3、原始碼安裝:通過編譯原始碼得到軟體包。優點是可以自定製軟體包,缺點是比較複雜。
rpm 安裝
安裝:rpm -ivh [軟體包名稱] 解除安裝:rpm -e [軟體包名稱] 升級:rpm -Uvh [軟體包名稱]
1、下載安裝包
1、去華為雲下載 centos 7 檔案 : https://repo.huaweicloud.com/centos/7/os/x86_64/Packages/
2、把下載好的檔案上傳到 Linux 中,
#
3、如果把 window 中的檔案上傳到 Linux ?
先下載 lrzsz : yum install lrzsz -y
# 值得注意:如果 yum 無法安裝,有可能是 /etc/yum.repo.d/ 目錄下的 .repo 檔案被更改了,請檢查
2、開始安裝軟體
rpm -ivh <安裝包名> [root@localhost ~]# rpm -ivh zsh-5.0.2-34.el7_8.2.x86_64.rpm
3、解除安裝軟體
rpm -e <安裝名(無需版本號)>
[root@localhost]~# rpm -e zsh
4、更新安裝包
rpm -Uvh <安裝包全名>
[root@localhost]~# rpm -Uvh zsh-5.0.2-34.el7_8.2.x86_64.rpm
安裝包名稱
zsh-5.0.2-34.el7_8.2.x86_64.rpm 軟體包名稱:zsh 版本號:5.0.2 第多少次編譯:34 適用的平臺:el7_8(CentOS 7) 適用的系統位數:x86_64 副檔名:rpm
rpm 其他命令操作
檢視軟體包的配置檔案
rpm -qc <安裝包名>
***
[root@localhost]~# rpm -qc zsh
/etc/skel/.zshrc
/etc/zlogin
/etc/zlogout
/etc/zprofile
/etc/zshenv
/etc/zshrc
檢視是否安裝某軟體
rpm -q <軟體名>
# 表示安裝
[root@localhost]~# rpm -q zsh
zsh-5.0.2-34.el7_8.2.x86_64
# 沒安裝
[root@localhost]~# rpm -q zsh
package zsh is not installed
檢視當前系統安裝了哪些軟體
rpm -qa
[root@localhost]~# rpm -qa
yum-plugin-fastestmirror-1.1.31-54.el7_8.noarch
setup-2.8.71-11.el7.noarch
libndp-1.2-9.el7.x86_64 # 太多了
檢視軟體的安裝路徑,檢視安裝了哪些東西
rpm -ql <軟體名>
[root@localhost]~# rpm -ql python3
/usr/bin/pydoc3
/usr/bin/pydoc3.6
/usr/bin/python3
/usr/bin/python3.6
/usr/bin/python3.6m
yum 安裝
1、安裝
基於rpm安裝,自動解決依賴。
可以自己從網路中下載安裝包,無需拖拽上傳
命令 : yum install <軟體名>
引數 :
-y : 免互動,直接同意安裝
--nogpgcheck : 忽略公鑰認證(為了安全)
2、解除安裝
命令 : yum remove <軟體名>
[root@localhost]~# yum remove zsh
3、更新
命令 : yum update [軟體包名稱]
引數:
-y : 免互動
注意:如果跟具體的軟體包名稱,就會更新指定軟體包;如果沒有指定,則更新系統所有的需要更新的軟體包。
4、yum安裝的生命週期
1、執行 yum install <軟體名> 命令
2、去到 /etc/yum.repo.d/ 路徑下查詢 .repo 結尾的檔案
3、通過 .repo 檔案中中的連結,找到軟體對應的倉庫
4、從對應的軟體倉庫中下載軟體安裝包
5、快取到 /var/cache/yum/ 目錄下
5、根據快取安裝軟體
6、刪除軟體包(keepcache 是否儲存快取,0 代表不儲存,1 代表儲存)
注:/etc/yum.conf 是yum的配置檔案。
[root@localhost etc]# cat yum.conf
[main]
cachedir=/var/cache/yum/$basearch/$releasever < -- 快取的目錄
keepcache=0 < -- 是否儲存快取,0 代表不儲存,1 代表儲存
debuglevel=2
二、搭建 yum 私有倉庫
我們使用 yum 去下載軟體,實際上是通過連結去到別人的倉庫裡(華為雲,阿里雲)找到安裝包下載至本地然後安裝的,有一定的風險,在公司一般會搭建自己的私有倉庫,供內部人員下載軟體使用
1、本地版
1、下載必須的軟體包
下載用於初始化倉庫的軟體包
yum install yum-utils createrepo -y
2、建立軟體倉庫
倉庫建立在 /opt 目錄下
mkdir /opt/repos
3、下載對應的軟體
在windows中把需要的軟體包下載下來並上傳至Linux
在倉庫 /opt/repos 中建立一個 package 資料夾,用於存放倉庫的軟體包,並且把軟體包都存放到 package 資料夾下
mkdir /opt/repos/packages
cp zsh-5.0.2-34.el7_8.2.x86_64.rpm /opt/repos/packages
4、初始化倉庫
createrepo /opt/repos
這樣倉庫就具備了兩個資料夾 packages、repodata
[root@localhost repos]# ll
total 4
drwxr-xr-x 2 root root 45 Dec 16 16:48 packages
drwxr-xr-x 2 root root 4096 Dec 16 16:49 repodata
5、新增 yum 源
根據 yum 安裝的生命週期,使用者用 yum 安裝軟體時,會首先去到 /etc/yum.repos.d 中查詢倉庫連結,為了不讓原來的 repo 檔案影響測試本地倉庫,先把原來的 .repo 檔案移動到別的路徑下,再建立私有倉庫的 repo 檔案,用於存放私有倉庫的連結
1、cd /etc/yum.repos.d/
2、mkdir back
3、mv ./*.repo back < -- 存檔(原 repo 檔案)完成
4、yum-config-manager --add-repo=file///opt/repos
此命令用於建立一個新的 repo 檔案,裡面存放指向本地倉庫的路徑:file///opt/repos
cat /etc/yum.repos.d/opt_repos.repo
[opt_repos] # 源的名稱
name=added from: file:///opt/repos # 源的簡介
baseurl=file:///opt/repos # 源的下載地址
enabled=1 # 是否啟用:1啟用 , 0不啟用
6、生成快取
yum clean all
yum makecache
7、測試
[root@localhost ~]# yum install zsh
2、遠端版
前六步與本地版搭建一模一樣
7、安裝遠端訪問軟體(Nginx)
安裝遠端訪問軟體(Nginx)
1、在 yum 的 repo 檔案中新增華為雲的路徑源
[root@localhost ~]# curl -o /etc/yum.repos.d/CentOS-Base.repo https://repo.huaweicloud.com/repository/conf/CentOS-7-reg.repo
2、這是epel的源,新增完之後就可以通過 yum 去網址下載 Nginx 了
[root@localhost ~]# yum-config-manager --add-repo=https://repo.huaweicloud.com/epel/7/x86_64/
adding repo from: https://repo.huaweicloud.com/epel/7/x86_64/
[repo.huaweicloud.com_epel_7_x86_64_]
name=added from: https://repo.huaweicloud.com/epel/7/x86_64/
baseurl=https://repo.huaweicloud.com/epel/7/x86_64/
enabled=1
3、通過 yum 下載 Nginx
[root@localhost ~]# yum install nginx --nogpgcheck
8、修改nginx的配置檔案
1、查詢一下 nginx 中有哪些配置檔案
[root@localhost ~]# rpm -qc nginx
2、修改 nginx.conf 檔案即可
vim /etc/nginx/nginx.conf
# include /etc/nginx/conf.d/*.conf; < -- 註釋掉
server {
listen 80;
listen [::]:80;
server_name _;
root /opt/repos; < -- 改為本地的軟體倉庫地址
autoindex on; < -- 表示啟動nginx
3、 測試更改是否成功
[root@localhost ~]# nginx -t
4、 啟動nginx
[root@localhost ~]# systemctl start nginx
5、 關閉selinux和firewalld
[root@localhost ~]# systemctl disable --now firewalld
[root@localhost ~]# setenforce 0
6、瀏覽器訪問虛擬機器ip地址,如果出現以下的頁面說明nginx啟動成功
9、在另一個虛擬機器中測試
再另開一個虛擬機器,把它的 /etc/yum.repos.d 中的 repo 檔案連結源改成遠端倉庫的地址
1、下載 yum-utils,以便新增 repo 檔案的源
[root@localhost yum.repos.d]# yum install yum-utils -y
2、備份源,把原有的 repo 檔案備份好
[root@localhost yum.repos.d]# mkdir backup
[root@localhost yum.repos.d]# mv *.repo backup/
3、 新增源,新增遠端倉庫虛擬機器的ip地址
[root@localhost yum.repos.d]# yum-config-manager --add-repo=http://192.168.15.101/
[root@localhost ~]# yum-config-manager --add-repo=http://192.168.15.101/
Loaded plugins: fastestmirror
adding repo from: http://192.168.15.101/
[192.168.15.101_]
name=added from: http://192.168.15.101/
baseurl=http://192.168.15.101/
enabled=1
4、重新整理快取
[root@localhost yum.repos.d]# yum clean all
[root@localhost yum.repos.d]# yum makecache
5、測試
[root@localhost ~]# yum install zsh -y