1. 程式人生 > 其它 >yum本地及遠端倉庫搭建

yum本地及遠端倉庫搭建

Linux中安裝軟體的三種方式

1、哪三種方式?

  • rpm安裝
  • yum安裝
  • 原始碼編譯安裝

2、區別

​ rpm安裝類似於windows中的安裝包,下載下來之後直接安裝。缺點是不能自己解決依賴。

​ yum安裝基於rpm安裝,也就是在rpm上增加了自動解決依賴的功能。

​ 原始碼安裝:通過編譯原始碼,得到軟體包。優點是可以自定製軟體包,缺點是比較複雜。

RPM安裝

​ 安裝:rpm -ivh [軟體包名稱]

​ 解除安裝:rpm -e [軟體包名稱]

​ 升級:rpm -Uvh [軟體包名稱]

先執行這一步:

上傳與下載:yum install lrzsz -y

1.Rmp下載連結

https://repo.huaweicloud.com/centos/7/os/x86_64/Packages/?C=N&O=D

2.把下載好的rmp檔案從資料夾裡拖到linux系統裡

或者使用yum install wget命令

​ wget https://repo.huaweicloud.com/centos/7/os/x86_64/Packages/zsh-5.0.2-34.el7_8.2.x86_64.rpm
選擇安裝包:

3.安裝

[root@localhost ~]# rpm -ivh zsh-5.0.2-34.el7_8.2.x86_64.rpm 
Preparing...                          ################################# [100%]
Updating / installing...
1:zsh-5.0.2-34.el7_8.2             ################################# [100%]

4.解除安裝

[root@localhost ~]# rpm -e zsh

5.更新

[root@localhost ~]# rpm -Uvh zsh-5.0.2-34.el7_8.2.x86_64.rpm 
Preparing...                          ################################# [100%]
Updating / installing...
1:zsh-5.0.2-34.el7_8.2             ################################# [100%]

5、軟體包名稱
zsh-5.0.2-34.el7_8.2.x86_64.rpm
軟體包名稱:zsh
版本號:5.0.2
第多少次編譯:34
適用的平臺:el7_8(CentOS 7)
適用的系統位數:x86_64
副檔名:rpm

6、檢視軟體包的配置檔案
		[root@localhost ~]# rpm -qc  zsh
	
	7、檢視是否安裝某軟體
		[root@localhost ~]# rpm -q zsh

	8、檢視當前系統安裝了哪些軟體
		[root@localhost ~]# rpm -qa
		
	9、檢視軟體的安裝路徑,檢視安裝了哪些東西
		[root@localhost ~]# rpm -ql zsh

	上傳與下載:yum install lrzsz -y 

yum安裝

​ 基於rpm安裝,自動解決依賴

1、安裝

yum install [軟體包的名稱] 
引數:
	-y : 免互動
	--nogpgcheck : 忽略公鑰認證

2、解除安裝

yum remove [軟體包名稱] 
引數:
	-y : 免互動

3、更新

yum update [軟體包名稱]
	引數:
		-y : 免互動
注意:如果跟具體的軟體包名稱,就會更新指定軟體包;如果沒有指定,則更新系統所有的需要更新的軟體包。

4、yum安裝的生命週期

1、執行yum install zsh -y
2、去 /etc/yum.repos.d/ 找以 .repo 結尾的檔案
3、通過 .repo 檔案中的連結,找到對應的軟體倉庫
4、在對應的軟體倉庫中下載指定的軟體包
5、快取至 /var/cache/yum/
6、根據快取,安裝軟體包
7、刪除軟體包(keepcache 是否儲存快取,0 代表不儲存 , 1 代表儲存)

注:/etc/yum.conf 是yum的配置檔案。
執行步驟
[root@localhost ~]#  cd /etc/yum

[root@localhost ~]# cd /etc/yum.repos.d
.repo結尾的就是yum源

[root@localhost yum.repos.d]# ls
CentOS-Base.repo       CentOS-fasttrack.repo  CentOS-Vault.repo
CentOS-CR.repo         CentOS-Media.repo      CentOS-x86_64-kernel.repo
CentOS-Debuginfo.repo  CentOS-Sources.repo

ls檢視 裡面的就是映象源

[root@localhost yum.repos.d]# vim CentOS-Base.repo 

開啟這個裡面的連結就是類似於華為雲的映象倉庫(軟體倉庫)
通過 .repo 檔案中的連結(url),找到對應的軟體倉庫

[root@localhost yum.repos.d]# vim /etc/yum.conf
裡面有一個cache dir檔案,是快取檔案
[root@localhost yum.repos.d]# cd /var/cache/yum/

[root@localhost yum]# ls
x86_64

[root@localhost yum]# cd x86_64/7/
[root@localhost 7]# ll
總用量 8
drwxr-xr-x. 4 root root 278 12月 16 17:14 base
drwxr-xr-x. 4 root root 183 12月 16 17:14 extras
-rw-r--r--. 1 root root  80 12月 16 17:19 timedhosts
-rw-r--r--. 1 root root 461 12月 15 09:55 timedhosts.txt
drwxr-xr-x. 4 root root 183 12月 16 17:14 updates
#裡面都是安裝包

在對應目錄下載安裝包
快取至 /var/cache/yum/ 這個目錄
根據快取 安裝軟體包  rpm只進行了這一步
刪除軟體包(keepcache 是否儲存快取,0不儲存,1儲存)

搭建yum私有倉庫

1.本地版

1、下載必須的軟體包
		[root@localhost ~]# yum install yum-utils createrepo -y
2.建立軟體倉庫
		[root@localhost ~]# cd /opt/
    [root@localhost opt]# mkdir repos
    repos就是倉庫
    [root@localhost opt]# cd repos
3.建立Packages目錄並且把對應的軟體包複製到 Packages 目錄中
    [root@localhost repos]# mkdir Packages
    [root@localhost repos]# mv /root/zsh-5.0.2-34.el7_8.2.x86_64.rpm Packages/
4、初始化軟體倉庫
		[root@localhost ~]# createrepo /opt/repos/
		初始化完成之後倉庫就搭建完畢了
5.新增yum源
    [root@localhost repos]# cd /etc/yum.repos.d/
    [root@localhost yum.repos.d]# mkdir backup
    [root@localhost yum.repos.d]# mv *.repo backup/
    做一個備份

    [root@localhost ~]# yum-config-manager --add-repo=file:///opt/repos
    file代表的是訪問本地的檔案
    
    [root@localhost ~]# cd /etc/yum.repos.d/
    [root@localhost yum.repos.d]# ll
    總用量 4
    drwxr-xr-x. 2 root root 220 12月 16 20:30 backup
    -rw-r--r--. 1 root root  85 12月 16 20:32 opt_repos.repo
    [root@localhost yum.repos.d]# cat opt_repos.repo 

    [opt_repos]		# 源的名稱
    name=added from: file:///opt/repos	# 源的簡介
    baseurl=file:///opt/repos			# 源的下載地址
    enabled=1						# 是否啟用:1啟用 ,  0不啟用
    baseurl下載地址變成了本地的地址
    
6、生成快取
		[root@localhost yum.repos.d]# yum clean all
		[root@localhost yum.repos.d]# yum makecache
7.測試是否能正常使用
    [root@localhost yum.repos.d]# rpm -e zsh
    解除安裝之前下載的軟體包

    [root@localhost ~]# yum install zsh
    源已經變成了opt_repos

2.遠端版

為什麼要用遠端版

​ 只是用本地版的話每一臺機器都要搭建一個yum倉庫,太麻煩了

​ 所以要在一臺機器上搭建完成之後另一臺機器就可以直接用

​ 前六步與本地版完全一致

7.安裝遠端訪問軟體(Nginx)
    安裝這個源
    [root@localhost ~]# wget -O /etc/yum.repos.d/CentOS-Base.repo https://repo.huaweicloud.com/repository/conf/CentOS-7-reg.repo

    安裝epel源
    [root@localhost ~]# yum-config-manager --add-repo=https://repo.huaweicloud.com/epel/7/x86_64/
    安裝nginx 忽略公鑰認證
    [root@localhost ~]# yum install nginx --nogpgcheck
    
8、修改nginx的配置檔案
    把這個路徑改成根路徑
    [root@localhost ~]# vim /etc/nginx/nginx.conf
    如下圖1所示

    開啟目錄索引 (目錄可以在網頁上顯示)
    # 測試是否更改成功
    [root@localhost ~]# nginx -t
    nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
    nginx: configuration file /etc/nginx/nginx.conf test is successful
    出現successful就更改成功了
    啟動nginx
    [root@localhost ~]# systemctl start nginx
    關閉防火牆
    [root@localhost ~]# systemctl disable --now firewalld
    關閉selinux
    [root@localhost ~]# setenforce 0

    在網頁上輸入ip地址如果出現這個代表部署成功(圖2)

9、在測試機上
			[root@localhost yum.repos.d]# yum install yum-utils -y

			# 備份源
			[root@localhost yum.repos.d]# mkdir backup
			[root@localhost yum.repos.d]# mv *.repo backup/

			# 新增源
			[root@localhost yum.repos.d]# yum-config-manager --add-repo=http://192.168.15.101/

			# 重新整理快取
             [root@localhost yum.repos.d]# yum clean all 
             [root@localhost yum.repos.d]# yum makecache

		10、測試
			[root@localhost ~]# yum install zsh -y

圖1:


圖2: