一、YUM
1.1 什么是YUM
在CentOS系統中,軟件管理方式通常有三種方式:rpm安裝、yum安裝以及編譯(源碼)安裝。
編譯安裝,從過程上來講比較麻煩,包需要用戶自行下載,下載的是源碼包,需要進行編譯操作,編譯好了才能進行安裝,這個過程對于剛接觸Linux的人來說比較麻煩,而且還容易出錯。
好處在于是源碼包,對于有需要自定義模塊的用戶來說非常方便。
Yum(全稱為YellowdogUpdater,Modified)是一個在Fedora和RedHat以及CentOS中的Shell前端軟件包管理器。
基于rpm包管理,能夠從指定的服務器(yum源)自動下載RPM包并且安裝,可以自動處理依賴性關系,并且一次安裝所有依賴的軟件包,無須繁瑣地一次次下載、安裝。
==應用商店== ==谷歌商店:默認的==
案例:想象一下,你在超市購物,YUM就像是一個購物助手,它會幫你找到所有需要的商品(軟件包),并且確保你買到的商品是可以一起使用的(解決依賴關系)。
1.2 YUM的基本用法
搜索軟件包
使用 yum search
命令可以搜索軟件包。
yum search 軟件名稱的關鍵詞
案例:搜索阿里云倉庫中的vim軟件。
yum search vim
1.3 為什么需要換源?
在使用YUM時,默認的YUM源(國外的yum源)可能會因為網絡問題、速度慢或不穩定而導致安裝和更新軟件包的過程變得緩慢。換源就是將默認的YUM源替換為更快、更穩定的源。
形象解釋:想象一下,你在一個城市的超市購物,超市的貨物供應不穩定,常常缺貨,導致你無法順利購買到所需的商品。換源就像是你換到了一個更大的超市,這個超市的貨物供應充足,價格合理,購物體驗更好。
在中國,阿里云的YUM源通常比默認源更快,因此很多用戶會選擇將YUM源換成阿里云的鏡像源。
1.4?YUM源配置(重點)
YUM源配置文件所在路徑 => /etc/yum.repos.d 文件夾。這個文件夾中包含了系統中所有的YUM源配置文件,每個文件都定義了一個或多個軟件包源。
第一步:進入yum的配置文件夾
cd /etc/yum.repos.d-- 查看文件夾的內容
ll
以下是一些常見的YUM源配置文件及其說明:
-
CentOS-Base.repo:這是默認的YUM源配置文件,包含了CentOS的主要軟件包源。它提供了大多數用戶所需的基本軟件包。
-rw-r--r--. 1 root root 1664 11月 23 2020 CentOS-Base.repo
CentOS-CR.repo:這個文件包含了CentOS的持續更新(CR,Continuous Release)源。它提供了最新的更新和修復,適合希望獲得最新軟件包的用戶。
-rw-r--r--. 1 root root 1309 11月 23 2020 CentOS-CR.repo
CentOS-Debuginfo.repo:這個文件包含了調試信息的源,主要用于開發和調試目的。它提供了軟件包的調試信息,幫助開發者在調試時使用。
-rw-r--r--. 1 root root 649 11月 23 2020 CentOS-Debuginfo.repo
CentOS-fasttrack.repo:這個文件包含了快速通道的源,提供了一些快速更新的軟件包,適合需要快速獲取更新的用戶。
-rw-r--r--. 1 root root 314 11月 23 2020 CentOS-fasttrack.repo
CentOS-Media.repo:這個文件用于配置本地媒體源,通常用于從光盤或USB驅動器安裝軟件包。
-rw-r--r--. 1 root root 630 11月 23 2020 CentOS-Media.repo
CentOS-Sources.repo:這個文件包含了源代碼的YUM源,適合需要編譯軟件包的用戶。
-rw-r--r--. 1 root root 1331 11月 23 2020 CentOS-Sources.repo
CentOS-Vault.repo:這個文件包含了舊版本的YUM源,適合需要訪問舊版本軟件包的用戶。
-rw-r--r--. 1 root root 8515 11月 23 2020 CentOS-Vault.repo
CentOS-x86_64-kernel.repo:這個文件包含了針對x86_64架構的內核源,適合需要特定內核版本的用戶。
-rw-r--r--. 1 root root 616 11月 23 2020 CentOS-x86_64-kernel.repo
通過這些配置文件,YUM能夠從不同的源獲取軟件包,用戶可以根據需要選擇合適的源進行安裝和更新。
1.5 在YUM鏡像源中添加阿里云鏡像源。
在更換YUM源之前,你需要了解兩個常用的命令行工具:curl
和 wget
。
-
curl:
curl
是一個用于在命令行中與服務器進行數據傳輸的工具。它支持多種協議,包括HTTP、HTTPS、FTP等。使用curl
可以方便地下載文件或與API進行交互。 -
wget:
wget
是一個用于從網絡上下載文件的命令行工具。它支持HTTP、HTTPS和FTP協議,能夠在下載過程中自動處理重定向和斷點續傳。
接下來,你可以使用以下步驟將YUM源更換為阿里云的鏡像源:
第一步:備份Centos-Base.repo這個源(更改后綴名.repo=>.repo.bak)
mv CentOS-Base.repo CentOS-Base.repo.bak第二步:使用wget命令下載阿里云的鏡像文件
wget -O /etc/yum.repos.d/Centos-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
選項說明:
-O:指定文件下載的位置以及名稱第三步:清理YUM緩存
yum clean all第四步:重新建立緩存(讓新YUM源生效)
yum makecache
安裝軟件包
使用 yum install
命令可以安裝軟件包。
基本語法:
yum install 軟件名稱[選項]選項:
-y:yes縮寫,確認安裝,不提示。
案例:使用yum命令安裝httpd。
yum install httpd
卸載軟件包
使用 yum remove
命令可以卸載軟件包。
yum remove 軟件名稱[選項]選項:
-y :yes縮寫,確認卸載,不提示。
更新軟件包
使用 yum update
命令可以更新軟件包。
基本語法:
yum update 軟件名稱[選項]選項:
-y :yes縮寫,確認更新,不提示。
查看已安裝軟件包
使用 yum list installed
命令可以查看已安裝的軟件包。
yum list installed
擴展:EPEL源配置
當你下載軟件沒有yum方式下載,可以嘗式換源或者下載擴展源,也可以使用源碼安裝和rpm安裝
什么是EPEL源?
答:EPEL是對官網源的一個擴展。
CentOS-Base.repo文件 => 基礎源(官方在帶的YUM源)
epel.repo文件 => 擴展源,是對官方YUM源的一個補充
yum install epel-release -y
比如:會跑的小火車就是在epel源中
yum install sl -ysl
1.6 特定軟件的YUM(Nginx、MySQL、Zabbix)源配置
比如特殊的幾個軟件,如Nginx、MySQL、Zabbix
Nginx: nginx(純前端網頁)
nginx:Linux 軟件包
按照步驟即可
最后測試
-- 關閉防火墻
systemctl stop firewalld-- 打開nginx
systemctl start nginx-- 訪問nginx
curl localhost-- 查詢自己的ip
ifconfig
將自己ip輸入到網址去
MySQL: https://www.mysql.com/
第二步:
yum install 上面圖片復制的yum install mysql-server -y
第三步:查看下載的mysql倉庫
cd /etc/yum.repos.dll
第四步:
ctrl + d退出mysqlmysql -uroot -p 使用新密碼登錄
到這里mysql安裝完了
Zabbix: Zabbix :: The Enterprise-Class Open Source Network Monitoring Solution
找到官方文檔,把YUM源配置,寫入到一下文件中(repo文件)?
#cd /etc/yum.repos.d
#vim nginx.repo
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/Sreleasever/Sbasearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true
清理緩存:
yum clean all
yum makecache
安裝Nginx:
yum install nginx -y
1.7 本地YUM配置
使用光盤鏡像作為YUM源倉庫
下載很多軟件,使用軟件包作為YUM源倉庫
使用光盤鏡像作為YUM源倉庫
第一步:在VMware系統中裝在CentOS7.6系統的光盤鏡像
第二步:把光盤掛載到某個目錄下
cd ~
rm -rf /mnt/*
mount -o ro /dev/sr0 /mnt
選項說明:
-o:掛載方式ro代表以readonly=>只讀的方式進行掛載rw代表以read/write=>讀寫的方式進行掛載#lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 20G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 19G 0 part├─centos-root 253:0 0 17G 0 lvm /└─centos-swap 253:1 0 2G 0 lvm [SWAP]
sr0 11:0 1 9.6G 0 rom /mnt
第三步:把光盤掛載添加到開機啟動文件中
chmod +x /etc/rc.localecho 'mount -o ro /dev/sr0 /mnt' >> /etc/rc.local
/etc/rc.local,屬于系統的開機啟動文件。系統啟動后,會自動加載并執行這個文件
第四步:編寫本地YUM倉庫文件
cd /etc/yum.repos.d/
創建一個以*.repo結尾的文件,名稱任意vim local.repo[local]
name=local yum
baseurl=file:///mnt
gpgcheck=0
enabled=1注:file://本地協議路徑,后面跟倉庫的具體路徑
yum clean allyum makecacheyum repolist all
yum倉庫的標準格式[倉庫標識名稱],名稱任意,在一個文件中可以擁有多個標識name=倉庫名稱baseurl=倉庫的路徑,支持多種格式,file://本地路徑,ftp://,http:// 或https://gpgcheck=gpg密鑰,值可以是0(代表不檢測),1(代表檢測,如果是1,下方還要定義一個gpgkey=密鑰鏈接)enabled=是否啟動當前倉庫,值可以0,也可以是1,默認為1,代表啟動倉庫
第五步:測試本地YUM倉庫是否可用
yum install httpd -y
二、源碼安裝的配置過程
在Linux系統中,源碼安裝一共分為三步
使用centOS7系統要先下載下面兩個東西
-- 下載編譯器
yum install gcc-- 用于需要編譯和鏈接 OpenSSL 庫的開發環境中
yum install openssl-devel
OpenSSL 是一個開源的加密工具包,廣泛應用于網絡通信中,提供對稱和非對稱加密、數字簽名等功能,確保數據傳輸的安全性
它主要由三個部分組成:SSL協議庫、應用程序命令工具和密碼算法庫
基本功能1、SSL協議庫:實現了SSL和TLS協議,用于加密傳輸數據,確保通信的私密性和完整性
2、應用程序命令工具:提供了豐富的命令行工具,用于加密、解密、生成密鑰和證書等操作
3、密碼算法庫:包含了多種對稱和非對稱加密算法,如AES、DES、RSA等
第一步:配置過程(配置軟件的安裝路徑)
第二步:編譯過程(把軟件由源代碼編譯成可以安裝的程序)
第三步:安裝過程(把編譯后的程序進行安裝
2.1 axel源碼安裝
第一步:獲取axel多線程下載軟件
第二步:上傳axel軟件包到Linux系統中
對軟件進行解壓縮操作
這里注意壓縮包是什么結尾的,這里小編以axel(多線程下載工具,結尾為 .bz2結尾的來演示)
#tar -zxf axel-2.4.tar.gz
或
#tar -xf axel-2.4.tar.gztar -jxvf xx.tar.bz2
使用cd命令切換到axel目錄中
# cd axe1-2.4
設置axel軟件的安裝路徑為/opt/axel
# ./configure --prefix=/opt/axel
配置過程(定制)
# cd 軟件源碼包
# ./configure [選項]
# ./configure --help--prefix=... Directories to put files in [/usr/local] 軟件家目錄
--bindir=... $prefix/bin 命令的目錄
--etcdir=... $prefix/etc 配置文件的目錄 也可能安裝到系統/etc目錄下 (httpd => /etc/httpd/httpd.conf)
--mandir=... $prefix/share/man man 文檔路徑
--locale=... $prefix/share/locale 語言編碼----------
./configure --prefix=/opt/cmatrix
第三步:安裝axel軟件(源碼安裝三步走 --> 配置+編譯+安裝)
對axel軟件進行編譯與安裝
make (編譯)
make install (編譯并安裝)或make && make install
&&:邏輯與,如果make編譯成功會立即執行右邊的makeinstall安裝程序,如果make編譯失敗,則以上程序會停止執行,然后拋出錯誤。
設置 " 快捷方式 "
以源碼形式安裝的軟件
執行命令需要使用全路徑執行
設置類似于【快捷方式】
連接 linkln -s /opt/axel/bin/axel /usr/bin