網(wǎng)站建設(shè) 圖標(biāo)百度快速收錄技術(shù)
一、概要
Linux下的包/源管理命令:主要任務(wù)就是完成在Linux環(huán)境下的安裝/卸載/維護(hù)軟件。
1.rpm 是最基礎(chǔ)的rpm包的安裝命令,需要提前下載相關(guān)安裝包和依賴包。
2.yum/dnf (最好用)是基于rpm包的自動(dòng)安裝命令,可以自動(dòng)在倉(cāng)庫(kù)中匹配安裝軟件和依賴包。
以上是安裝指令,以下是安裝源。
3光盤(pán)源是指的 安裝系統(tǒng)時(shí)候的操作系統(tǒng)光盤(pán),它里面有很多自帶的常用軟件安裝包,定位于當(dāng)前
4.局域網(wǎng)源是指本地局域網(wǎng)不便連接互聯(lián)網(wǎng),而且客戶機(jī)都在局域網(wǎng)內(nèi),定位于網(wǎng)內(nèi)自建倉(cāng)庫(kù)局部
5.互聯(lián)網(wǎng)源是指當(dāng)前主機(jī)可以直接外接互聯(lián)網(wǎng),通過(guò)外網(wǎng)提供的的倉(cāng)庫(kù)完成在線安裝軟件。
6.源碼安裝是指從互聯(lián)網(wǎng)下載相關(guān)軟件的源代碼,在本機(jī)上進(jìn)行配置,編譯,安裝的過(guò)程。
?二、離線管理rpm命令
rpm命令來(lái)自英文詞組redhat package manager的縮寫(xiě),中文譯為“紅帽軟件包管理器”,
其功能是在Linux系統(tǒng)下對(duì)軟件包進(jìn)行安裝、卸載、查詢、驗(yàn)證、升級(jí)等工作,
常見(jiàn)的主流系統(tǒng)(如RHEL、Cent0s、Fedora等)都采用這種軟件包管理器,
推薦用固定搭配“rpm????????-ivh ????????軟件包名"安裝軟件
而卸載軟件則用固定搭配“rpm ????????-evh???????? 軟件包名”
語(yǔ)法格式:
rpm? ? ? ? 參數(shù)? ? ? ? 軟件包名
使用實(shí)例:
rpm? ? ? ? -ivh? ? ? ? cockpit-185-2.el8.x86_64.rpm? ? ? ? #正常安裝軟件包,需要提前下載rpm文件
rpm? ? ? ? -evh? ? ? ? cockpit-185-2.el8.x86_64.rpm? ? ? ? #卸載
-i? ? ? ? 安裝軟件包
-v? ? ? ? 顯示執(zhí)行過(guò)程信息
-h? ? ? ? 安裝軟件包時(shí)顯示標(biāo)記信息
rpm????????-ivh????????gthumb-3.12.4-1.1.x86 64.rpm????????#安裝需要依賴
rpm? ? ? ? -evh? ? ? ? --nodeps(--force強(qiáng)制卸h)? ? ? ? gthumb-3.12.4-1.1.x86 64.rpm????????#卸載忽略依賴
三、本地源管理yum命令
該命令自動(dòng)解決文件依賴關(guān)系,一次性安裝所需全部軟件,從指定的服務(wù)器自動(dòng)下載、更新、刪除軟件包。
語(yǔ)法格式:? ? ? ? yum? ? ? ? 參數(shù)? ? ? ? 動(dòng)作? ? ? ? 軟件包
常用參數(shù):? ??
install | 安裝軟件包 | clean | 清理過(guò)期緩存 |
update | 更新軟件包 | shell | 設(shè)置使用shell提示符 |
remove | 刪除軟件包 | localinstall | 安裝本地軟件包 |
list | 顯示軟件包的信息 | localupdate | 更新本地軟件包 |
check-update | 檢查有無(wú)可用的更新軟件包 | rerolvedep | 顯示軟件包的依賴關(guān)系 |
search | 搜索指定軟件包 | deplist | 顯示軟件包的依賴關(guān)系 |
info | 顯示指定軟件包的信息 |
參考示例:(無(wú)倉(cāng)庫(kù)時(shí)不能使用)
yum? ? ? ? clean? ? ? ? all? ? ? ? ?#清理原有倉(cāng)庫(kù)信息
yum? ? ? ? makecache? ? ? ? #建立最新的軟件倉(cāng)庫(kù)信息緩存
默認(rèn)源:/etc/yum.repos.d/redhat.repo
yum? ? ? ? (-y不提示)????????install? ? ? ? httpd? ? ? ? #安裝指定的服務(wù)及相關(guān)安裝包
以上為命令,若沒(méi)有搭建本地源,以上所有代碼均無(wú)法使用。
四、本地光盤(pán)倉(cāng)庫(kù)搭建過(guò)程
1.虛擬機(jī)加載并連接系統(tǒng)安裝光盤(pán)
2.掛在光盤(pán)到本地臨時(shí)目錄:
mount? ? ? ? /dev/sr0? ? ? ? /mnt/? ? ? ? #掛在光盤(pán)到本地臨時(shí)目錄
mount——掛載命令,可以將指定文件掛在到另一個(gè)位置
sr0是dev目錄下的光盤(pán)文件
若成功,則/mnt/目錄中為:
如果掛在失敗,要主動(dòng)斷開(kāi)? ? ? ? unmount? ? ? ? /mnt
3.如果有文件就備份本地原有配置
cd? ? ? ? /etc/yum.repo.d/? ? ? ? #進(jìn)入本地配置目錄
mkdir? ? ? ? bak? ? ? ? #創(chuàng)建一個(gè)備份目錄
mv? ? ? ? *.repo? ? ? ? ./bak/? ? ? ? #將原來(lái)的repo資源拷貝到當(dāng)前bak目錄中
4.創(chuàng)建新的本地配置文件
注:要使用root用戶? ? ? ? su? ? ? ? root
vim? ? ? ? local.repo? ? ? ? #創(chuàng)建本地配置文件
寫(xiě)入:
本地源配置信息
[RHEL9-BaseOS]
name=RHEL9-BaseOS
baseurl=file:///mnt/BaseOS
gpgcheck=0[RHEL9-AppStream]
name=RHEL9-AppStream
baseurl=file:///mnt/AppStream
gpgcheck=0
5.刷新緩存
yum? ? ? ? clean? ? ? ? ?all
yum? ? ? ? makcache
以上yum本地光盤(pán)元倉(cāng)庫(kù)創(chuàng)建成功
6.測(cè)試安裝軟件
yum? ? ? ? install? ? ? ? httpd
五、局域網(wǎng)源架設(shè)過(guò)程
局域網(wǎng)yum源配置:建設(shè)一個(gè)本地網(wǎng)絡(luò)倉(cāng)庫(kù)給本地局域網(wǎng)用戶提供下載安裝。
互聯(lián)網(wǎng)yum源配置:在線獲取最新安裝文件的通道。
1.環(huán)境搭建:
兩臺(tái)虛擬機(jī):192.168.68.99? ? ? ? client
? ? ? ? ? ? ? ? ? ? ? 192.168.68.129? ? ? ?server
2.配置服務(wù)器端:提供yum安裝服務(wù)
192.168.68.129? ? ? ?server
操作流程
su? ? ? ? root? ? ? ? #切換為管理員身份
yum? ? ? ? install? ? ? ? -y? ? ? ? httpd? ? ? ? #安裝并啟動(dòng)httpd
setenforce? ? ? ? 0? ? ? ? #關(guān)閉SELinux
getenforce? ? ? ? #查看當(dāng)前情況? ? ? ? Permissive#關(guān)閉狀態(tài)? ? ? ? Enforcing#開(kāi)啟狀態(tài)
systemctl? ? ? ? stop? ? ? ? firewalld? ? ? ? #臨時(shí)關(guān)閉防火墻
systemctl? ? ? ? status? ? ? ? firewalld? ? ? ? #查看防火墻狀態(tài),空圈為關(guān)閉,綠點(diǎn)為打開(kāi)
q按鍵退出查看狀態(tài)命令
httpd服務(wù)的目錄在? ? ? ? var/www/html中
cd????????var/www/html? ? ? ? #進(jìn)入該目錄
mkdir? ? ? ? rhiso? ? ? ? #創(chuàng)建httpd的工作目錄
mount? ? ? ? /dev/sr0????????var/www/html/rhiso? ? ? ? #將光盤(pán)掛載到rhiso
systemctl? ? ? ? restart? ? ? httpd.service? ? ? ? #? 重啟httpd
systemctl? ? ? ? status? ? ? ? httpd? ? ? ? #查看狀態(tài)
在本地瀏覽器中輸入本機(jī)ip/rhiso? ? ? ? http://192.168.68.129/rhiso/
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 或http://127.0.0.1/rhiso/? ? ? ? #本機(jī)回環(huán)地址
出現(xiàn)下面頁(yè)面表示服務(wù)器端配置完成:
中文亂碼解決方法:在/etc/httpd/conf/httpd.conf
配置文件中加入? ? ? ? IndexOptions? ? ? ? Charset=UTF-8
3.配置客戶端:訪問(wèn)服務(wù)端的yum源
192.168.68.99? ? ? ? client
當(dāng)在上一臺(tái)機(jī)器已經(jīng)配置好httpd后,我們選擇同一網(wǎng)段內(nèi)的其他機(jī)器配置yum源去訪問(wèn)此臺(tái)服務(wù)器
測(cè)試一下客戶機(jī)與服務(wù)端的聯(lián)通情況? ? ? ? ping? ? ? ? 192.168.68.129
su? ? ? ? root? ? ? ? #切換管理員
cd? ? ? ? /etc/yum.repos.d/
vim? ? ? ? network.repo? ? ? ? 加入如下內(nèi)容:
#本地局域網(wǎng)配置:vim network.repo文件中的內(nèi)容 [RHEL9-BaseOS] name=RHEL9-BaseOS baseurl=http://192.169.68.129/rhiso/BaseOS gpgcheck=0[RHEL9-AppStream] name=RHEL9-AppStream baseurl=http://192.168.68.129/rhiso/AppStream gpgcheck=0
其中ip地址為服務(wù)端的IP地址
4.測(cè)試(客戶端在服務(wù)器端下載)
yum? ? ? ? clean? ? ? ? all? ? ? ? #清理就緩存
yum? ? ? ? makcache? ? ? ? #建立新緩存
yum? ? ? ? repolist? ? ? ? #查看倉(cāng)庫(kù)列表
yum? ? ?install? ? ? ? telnet? ? ? ? #在服務(wù)器端下載telnet? ?
注意:用戶端一定不能有本地源
五、建立第三方互聯(lián)網(wǎng)絡(luò)源
CSDN上收集的各個(gè)版本的REHL的鏡像地址:
Redhat系列系統(tǒng)在線鏡像源-CSDN博客
操作流程:
su? ? ? ? root
cd? ? ? ? /etc/yum.repo.d/
vim? ? ? ? aliyun.repo? ? ? ? #阿里云
寫(xiě)入以下內(nèi)容:
#互聯(lián)網(wǎng)源配置 [BaseOS] name=BaseOS baseurl=https://mirrors.aliyun.com/centos-stream/9-stream/BaseOS/x86_64/os/ gpgcheck=0[AppStream] name=AppStream baseurl=https://mirrors.aliyun.com/centos-stream/9-stream/AppStream/x86_64/os/ gpgcheck=0
yum? ? ? ? makcache? ? ? ? #創(chuàng)建新緩存
驗(yàn)證能否安裝:
yum? ? ? ? install? ? ? ? gcc? ? ? ? -y? ? ? ? #下載c語(yǔ)言編譯器
gcc? ? ? ? hello.c? ? ? ? #編譯事先準(zhǔn)備好的c語(yǔ)言程序,編譯完成后會(huì)生成一個(gè)可執(zhí)行文件a.out
./a.out? ? ? ? #執(zhí)行程序
yum????????install? ? ? ? gthumb? ? ? ? #安裝失敗沒(méi)有資源
#下載擴(kuò)展源
yum? ? ? ? install? ? ? ? https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm
再次下載就可以安裝了
gthumb? ? ? ?test.png? ? ? ? #測(cè)試提前準(zhǔn)備的圖片
成功
yum? ? ? ? install? ? ? ? -y? ? ? ? sl? ? ? ? #有趣的玩具,ls寫(xiě)成sl時(shí)會(huì)跑出個(gè)小火車
yum? ? ? ? install? ? ? ? tmux? ? ? ? #多終端
yum? ? ? ? install? ? ? ? git? ? ? ? #管理控制
git? ? ? ? clone? ? ? ? https://github.com/dustinkirkland/hollywood.git? ? ? ? #克隆github上的文件
收尾:
cd????????/etc/yum.repos.d
mkdir????????./bak
mv? ? ? ? local.repo? ? ? ? ./bak
mv? ? ? ? network.repo? ? ? ? ./bak
mv? ? ? ? redhat.repo? ? ? ? ./bak
六、源碼管理命令
源碼安裝三部曲:
第一步:./configure(定制組件)
指定安裝路徑,例如:--prefiix=/opt/nginx-1.12
啟用或禁用某項(xiàng)功能,例如L:--enable--ssl
和其它軟件關(guān)聯(lián),例如:-with-pcre
檢查安裝環(huán)境,例如是否由編譯器gcc,是否滿足軟件的依賴需求
檢查通過(guò)后生成Makefile文件
第二步:make(生成程序)
執(zhí)行make命令進(jìn)行編譯,可以使用-j指定CPU核心數(shù)進(jìn)行編譯
按Makefile文件進(jìn)行編譯,編譯成可執(zhí)行的二進(jìn)制文件
生成各類模塊和主程序
第三步:make????????install
按照Makefile定義好的路徑拷貝至安裝目錄中
舉例練習(xí)源碼包編譯:(nginx)
0、先停止httpd服務(wù)(httpd與nginx都用的時(shí)80端口會(huì)有沖突)
systemctl????????stop????????httpd.services
1、基礎(chǔ)環(huán)境準(zhǔn)備:
編輯器:yum????????-y????????install????????gcc????????gcc-c++????????make????????wget
依賴包:yum????????-y????????install????????zlib????????zlib-devel????????openssl????????pcre????????pcre-devel
2.下載安裝包
cd????????/usr/src
wget????????http://nginx.org/download/nginx-1.12.2.tar.gz
3.解壓源碼包并進(jìn)入相應(yīng)的目錄
tar????????-zxvf nginx-1.12.2.tar.gz
cd????????nginx-1.12.2
4.配置相關(guān)選項(xiàng),并生成Makefile
./configure????????--prefiix=/opt/nginx-1.12
5.編譯并安裝
make? ? ? ? #開(kāi)始編譯源碼
make????????install
6.建立軟連接
ln????????-s????????/usr/src/nginx-1.12.2????????/opt/nginx
7.測(cè)試效果
cd objs
./nginx
打開(kāi)瀏覽器,輸入127.0.0.1
成功