目錄
一、回顧yum的原理
1.1yum簡介
yum安裝的底層原理:
yum的好處:
二、學習yum的配置文件及命令
1、yum的配置文件
2、yum的相關命令詳解
3、yum的命令相關案例
三、搭建yum倉庫的方式
1、本地yum倉庫建立
2、通過http搭建內(nèi)網(wǎng)的yum倉庫
3、通過ftp搭建內(nèi)網(wǎng)的yum倉庫
4、創(chuàng)建本地的國內(nèi)的網(wǎng)絡源
一、回顧yum的原理
1.1yum簡介
yum是一個基于RPM包(是Red-Hat Package Manager紅帽軟件包管理器的縮寫)構建的軟件更新機制,能夠自動解決軟件包之間的依賴關系。解決了日常工作中的大量查找安裝依賴包的時間 為什么會有依賴關系的發(fā)生 因為linux本身就是以系統(tǒng)簡潔為自身優(yōu)勢,所以在安裝操作系統(tǒng)的時候并沒有將所有的庫文件以及編譯軟件包進行安裝,所以在linux操作系統(tǒng)上進行軟件安裝的時候會出現(xiàn)軟件包依賴的情況。yum由倉庫和客戶端組成,也就是整個yum由兩部分組成,所以yum可以存放在兩臺服務器上。也可以存放在一臺服務器上。可以有官方來提供服務,也可以由第三方來提供,比如國內(nèi)的阿里云,搜狐云,還有一些非盈利組織比如學校等。官方的源一般在國外,下載速度肯定有限,手動更改成國內(nèi)的云可以大幅提升下載速度。
YUM 的前身是 YUP(Yellow dog Updater,Yellow dog Linux 的軟件更新器),最初由 TSS 公司(Terra Soft Solutions,INC.)使用 Python 語言開發(fā)而成,后來由杜克大學(Duck University)的 Linux 開發(fā)隊伍進行改進,命名為 YUM(Yellow dog Updater,Modified)。 要成功使用 YUM 機制來更新系統(tǒng)和軟件,需要有一個包含各種 rpm 安裝包文件及其依 賴軟件的軟件倉庫(repository),提供軟件倉庫的服務器也稱為“源”服務器。在客戶機中只 要正確指定軟件倉庫的地址等信息,就可以通過對應的“源”服務器來安裝或更新軟件。
yum安裝的底層原理:
之前有博客專門詳細講解了rpm、yum、編譯安裝:詳解三大安裝方式的原理和使用情況
yum需要依賴于環(huán)境,依賴于服務端和客戶端,允許跨網(wǎng)絡
服務器:
-
RPM包 (Packages文件夾中)
-
元數(shù)據(jù)(repodata文件夾:軟件的依賴關系,軟件的位置)
yum的好處:
與rpm相比,能解決依賴關系
二、學習yum的配置文件及命令
1、yum的配置文件
[root@localhost]# /etc/yum.conf
[main]
cachedir=/var/cache/yum/$basearch/$releasever //yum下載的RPM包的緩存目錄 $basearch代表硬件架構 $releasever系統(tǒng)版本比如7
keepcache=0 //是否保存緩存 0代表不保存,1代表保存
debuglevel=2 //調(diào)試級別了解即可
logfile=/var/log/yum.log // 日志文件位置
exactarch=1 //是否允許不同版本的rpm安裝
obsoletes=1 //update 的一個參數(shù)是否可以允許舊版本的運行
gpgcheck=1 //驗證秘鑰
plugins=1 //是否允許插件1代表可以
installonly_limit=5 //保存幾個內(nèi)核 5代表5個
bugtracker_url=http://bugs.centos.org/set_project.php?project_id=23&ref=http://bugs.centos.org/bug_report_page.php?category=yum
distroverpkg=centos-release
yum的repo配置文件中可用的變量:
$releasever: 當前OS的發(fā)行版的主版本號,如:8,7,6
$arch: CPU架構,如:aarch64, i586, i686,x86_64等
$basearch:系統(tǒng)基礎平臺;i386, x86_64
$contentdir:表示目錄,比如:centos-8,centos-7
$YUM0-$YUM9:自定義變量
yum的日志存放位置/var/log/yum.log
2、yum的相關命令詳解
yum命令學習 | 不加關鍵字 | 添加關鍵字或者包名,舉例 |
yum? list | 查看有哪些 | 如yum list http 表示與其相關的包,可以跟包名,跟包組 |
yum info | 顯示所有可用包的信息 | 可以用通配符模糊匹配 |
yum search | 不可以 | 模糊查找與這個相關的軟件包 |
yum provides | 不可以 | 精確查找這個包來源于哪個yum服務端 |
yum history | 查看當前yum操作歷史 | / |
yum history undo 數(shù)字 | 加入序號卸載序號里安裝的軟件(可以卸載干凈) | / |
yum history redo 數(shù)字 | 加入序號重新執(zhí)行序號里的操作 | / |
yum remove? 軟件包 | 卸載不干凈 | |
yum install -y --downloadonly --downloaddir=/opt bind | 只下載不安裝,將bind以及相關的依賴關系都下載到/opt目錄下 |
3、yum的命令相關案例
3.1yum list(支持通配符)
3.2yum info (支持通配符)
3.3yum search 模糊查詢軟件包
3.4yum provides 軟件包?精確查詢哪些yum庫可提供vsftpd的軟件包
如果精確查找匹配不到,可以添加通配符“*/軟件名”
3.5 yum history的使用(undo 編號反悔,redo編號,再次執(zhí)行)
3.6 yum install -y --downloadonly --downloaddir=/opt bind(舉例)
三、搭建yum倉庫的方式
軟件倉庫的提供方式
FTP服務:ftp://ip地址/站點里路徑
HTTP服務:http://域名或者ip地址/站點里的路徑
本地目錄:file://絕對路徑 (file:///mnt 此處第三個/為根目錄)
1、本地yum倉庫建立
這里有詳解操作,不演示了
2、通過http搭建內(nèi)網(wǎng)的yum倉庫
第一步:關閉防火墻和安全機制,安裝httpd服務
第二步:掛載光盤鏡像至httpd服務端(/var/www/html)并啟動服務
第三步:備份網(wǎng)絡yum源,手寫http.repo配置文件
[root@localhost ~]#cd /etc/yum.repos.d/
[root@localhost yum.repos.d]#ls
CentOS-Base.repo CentOS-CR.repo CentOS-Debuginfo.repo CentOS-fasttrack.repo CentOS-Media.repo CentOS-Sources.repo CentOS-Vault.repo
[root@localhost yum.repos.d]#mkdir bak
[root@localhost yum.repos.d]#mv *.repo bak
[root@localhost yum.repos.d]#ls
bak
[root@localhost yum.repos.d]#vim http.repo
1 [http]
2 name=http
3 baseurl=http://192.168.20.18/ ##指明httpd服務端的位置,也是yum服務端的位置,光盤鏡像掛載點
4 gpgcheck=0
[root@localhost yum.repos.d]#ls
bak http.repo
[root@localhost yum.repos.d]#yum clean all && yum makecache
第四步:驗證結果
3、通過ftp搭建內(nèi)網(wǎng)的yum倉庫
第一步:關閉防火墻和安全機制,安裝httpd服務
第二步:掛載光盤鏡像至FTP服務端(/var/ftp/自定義目錄如centos7)
第三步:備份網(wǎng)絡yum源,手寫ftp.repo配置文件
1 [ftp]
2 name=ftp
3 baseurl=ftp://192.168.20.10/centos7
4 gpgcheck=0
第四步:驗證結果
4、創(chuàng)建本地的國內(nèi)的網(wǎng)絡源
[root@localhost yum.repos.d]#vim total.repo
[base]
name=base
baseurl=https://mirror.tuna.tsinghua.edu.cn/centos/7/os/x86_64/
https://mirrors.aliyun.com/centos/7/os/x86_64/
https://repo.huaweicloud.com/centos/7/os/x86_64/
https://mirrors.cloud.tencent.com/centos/7/os/x86_64/
gpgcheck=0
[epel]
name=epel
baseurl=https://mirrors.tuna.tsinghua.edu.cn/epel/7/x86_64/
https://mirrors.aliyun.com/epel/7/x86_64/
gpgcheck=0
[root@localhost yum.repos.d]#yum clean all && yum makecache
已加載插件:fastestmirror, langpacks
正在清理軟件源: base epel
Cleaning up everything
Maybe you want: rm -rf /var/cache/yum, to also free up space taken by orphaned data from disabled or removed repos
Cleaning up list of fastest mirrors
已加載插件:fastestmirror, langpacks
base | 3.6 kB 00:00:00
epel | 4.7 kB 00:00:00
(1/10): epel/group_gz | 99 kB 00:00:00
(2/10): base/group_gz | 153 kB 00:00:01
(3/10): base/filelists_db | 7.2 MB 00:00:04
(4/10): base/primary_db | 6.1 MB 00:00:04
(5/10): epel/prestodelta | 994 B 00:00:00
(6/10): base/other_db | 2.6 MB 00:00:09
(7/10): epel/filelists_db | 12 MB 00:00:12
(8/10): epel/primary_db | 7.0 MB 00:00:09
(9/10): epel/other_db | 3.4 MB 00:00:00
(10/10): epel/updateinfo | 1.0 MB 00:00:13
Determining fastest mirrors
* base: repo.huaweicloud.com
* epel: mirrors.aliyun.com
元數(shù)據(jù)緩存已建立
[root@localhost yum.repos.d]#
?
四、總結
可以查看一些官方網(wǎng)址,也是提供了鏡像的下載方式
?如阿里鏡像官網(wǎng):阿里巴巴開源鏡像站-OPSX鏡像站-阿里云開發(fā)者社區(qū) (aliyun.com)
文章來源:http://www.zghlxwxcb.cn/news/detail-771290.html
?
文章來源地址http://www.zghlxwxcb.cn/news/detail-771290.html
到了這里,關于【Linux網(wǎng)絡】詳解使用http和ftp搭建yum倉庫,以及yum網(wǎng)絡源優(yōu)化的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!