(linux系統服務)Linux下yum源配置實戰

一、Linux下軟件包的管理

1、軟件安裝方式

① RPM包管理(需要單獨解決依賴問題)

② YUM包管理(需要有網絡及YUM倉庫的支持,會自動從互聯網下載軟件,自動解決依賴)

③ 源碼安裝(安裝過程比較復雜,源碼安裝三步走。優點:定制性很強)

軟件:主線版(mainline),穩定版(stable)

2、源碼安裝的配置過程

在Linux系統中,源碼安裝一共分為三步(三步走):

第一步:配置過程(配置軟件的安裝路徑)

第二步:編譯過程(把軟件由源代碼編譯成可以安裝的程序)

第三步:安裝過程(把編譯后的程序進行安裝)

# ./configure && make && make install

3、詳解源碼安裝的配置過程(定制)

# cd 軟件源碼包
# ./configure [選項]
# ./configure --help--prefix=... Directories to put files in /usr/local 軟件家目錄
--bindir=... $prefix/bin 	命令的目錄
--etcdir=... $prefix/etc 	配置文件的目錄 httpd => /etc/httpd/httpd.conf
--mandir=... $prefix/share/man man	文檔路徑
--locale=... $prefix/share/locale 	語言編碼
...

4、詳解編譯過程

# make

在Linux操作系統中,make主要功能就是將其他語言的源代碼打包成Linux可以識別安裝的程序。編譯過程需要一個gcc軟件(開發工具)的支持!

5、安裝過程

# make install

6、axel多線程下載軟件源碼安裝

第一步:獲取axel多線程下載軟件

第二步:上傳axel軟件包到Linux系統中

第三步:安裝axel軟件(源碼安裝三步走=>配置+編譯+安裝)

① 對軟件進行解壓縮操作

# tar -zxf axel-2.4.tar.gz
或
# tar -xf axel-2.4.tar.gz

② 使用cd命令切換到axel目錄中

# cd axel-2.4

③ 對axel軟件進行配置(不采用默認配置)

# ./configure --help
Usage: ./configure [OPTIONS]
Option          Description                             Default
--prefix=...    Directories to put files in             /usr/local
--bindir=...                                            $prefix/bin
--etcdir=...                                            $prefix/etc
--mandir=...                                            $sharedir/man
--locale=...                                            $sharedir/locale

設置axel軟件的安裝路徑為/opt/axel

# ./configure --prefix=/opt/axel

④ 對axel軟件進行編譯與安裝

# make
# make install
或
# make && make install
&& :邏輯與,如果make編譯成功會立即執行右邊的make install安裝程序,如果make編譯失敗,則以上程序會停止執行,然后拋出錯誤。

第四步:測試與使用

[root@yunwei ~]# axel http://mirrors.163.com/centos/7/os/x86_64/RPM-GPG-KEY-CentOS-7
bash: axel: command not found...

出現以上問題的主要原因在于:我們沒有采用默認的安裝方式,所以導致當我們執行axel命令時,其找不到對應的軟件。

第五步:解決命令無法訪問問題

第一種方式:采用軟鏈接形式(類似Windows中的快捷方式)
第二種方式:使用環境變量(重要,Linux中的環境變量)

7、使用軟鏈接解決command not found

# which axel
/usr/bin/which: no axel in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin)# ll /opt/axel/bin
axel解決方案:給/opt/axel/bin/axel創建一個快捷方式到/usr/local/bin
# ln -s /opt/axel/bin/axel /usr/local/bin/axel 基本語法:
# ln -s  源文件路徑 軟鏈接路徑# axel http://mirrors.163.com/centos/7/os/x86_64/RPM-GPG-KEY-CentOS-7

8、使用環境變量解決command not found

環境變量

終端 => 命令 => 系統的環境變量(PATH => /etc/profile) => 一些命令的存放路徑

axel多線程下載軟件,通過源碼的方式安裝成功后,由于沒有使用默認的安裝路徑,導致axel這個命令沒有出現在系統的環境變量中,所以其會出現command not found。

第一步:查詢當前系統的環境變量

# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

第二步:把axel所在目錄添加到環境變量

① 使用vim編輯/etc/profile文件,追加到最后一行
# vim /etc/profile
...
export PATH=$PATH:/opt/axel/bin
# source /etc/profile			=>   		代表讓以上配置立即生效② 使用echo命令向/etc/profile文件中追加一行
# echo 'export PATH=$PATH:/opt/axel/bin' >> /etc/profile
# source /etc/profile

第三步:測試axel命令是否可以使用

# axel http://mirrors.163.com/centos/7/os/x86_64/RPM-GPG-KEY-CentOS-7

9、解決源碼安裝軟件手冊找不到問題

問題重現:

[root@localhost axel]# man axel
No manual entry for axel
原因:找不到指定的man文檔

解決方案:

[root@localhost axel]# vim /etc/man.config
...
增加如下內容:
MANPATH /opt/axel/share/man

10、卸載源碼安裝的軟件

第一步:進入到源碼的安裝包中
# cd axel-2.4
# make uninstall	=>   安裝軟件的安裝包等程序
# make distclean    =>   卸載編譯與配置過程
第二步:刪除軟件的目錄
# rm -rf /opt/axel

二、YUM源概述

1、yum源作用

軟件包管理器,類似360的軟件管家

2、yum源優點

RPM安裝(下載軟件、單獨安裝、需要解決依賴關系)

源碼安裝(下載軟件的源碼包,解壓,進入目錄=>配置+編譯+安裝)

yum源:相當于rpm軟件包管理的升級版

能夠解決軟件包之間的依賴關系,提高運維人員的工作效率。

yum源底層還是基于RPM進行軟件安裝操作的,所以yum安裝軟件后,我們也可以通過rpm -qa |grep 軟件名稱

3、yum源分類

☆ 本地yum源

yum倉庫在本地(系統光盤/鏡像文件) => 不需要網絡的支持

☆ 網絡yum源

yum倉庫不在本地,在遠程

  • 國內較知名的網絡源(aliyun源,163源,sohu源,知名大學開源鏡像等)
    阿里源:https://opsx.alibaba.com/mirror
    網易源:http://mirrors.163.com/
    搜狐源:http://mirrors.sohu.com/
    清華源:https://mirrors.tuna.tsinghua.edu.cn/
  • 國外較知名的網絡源(centos源、redhat源、擴展epel源等)
  • 特定軟件相關的網絡源(Nginx、MySQL、Zabbix等)

4、本機yum源備份(重要)

第一步:使用cd命令切換到/etc/yum.repos.d目錄

# cd /etc/yum.repos.d/

第二步:對所有的倉庫文件進行備份

# tar -zcf repo.tar.gz *.repo

第三步:刪除所有的以.repo結尾的倉庫文件

# rm -rf *.repo

三、本地YUM源配置

1、本地YUM配置

① 使用光盤鏡像作為YUM源倉庫

② 下載很多軟件,使用軟件包作為YUM源倉庫

2、使用光盤鏡像作為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  4.3G  0 rom  /mnt

卸載或解掛可以使用umount /mnt

第三步:把光盤掛載添加到開機啟動文件中

# chmod +x /etc/rc.local
# echo '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
# yum clean all
# yum makecache
# yum repolist all注:file://本地協議路徑,后面跟倉庫的具體路徑

yum倉庫的標準格式

[倉庫標識名稱],名稱任意,在一個文件中可以擁有多個標識

name=倉庫名稱

baseurl=倉庫的路徑,支持多種格式,file://本地路徑,ftp://,http://或https://

gpgcheck=gpg密鑰,值可以是0(代表不檢測),1(代表檢測,如果是1,下方還要定義一個gpgkey=密鑰連接)

enabled=是否啟動當前倉庫,值可以0,也可以是1,默認為1,代表啟動倉庫

第五步:測試本地YUM倉庫是否可用

# yum install httpd -y

3、擴展man 5

在Linux系統中,給定我們一個配置文件,怎么查詢這個文件中每一個選項的作用呢?

# man 命令

擴展:man 5 配置文件名稱

# man 5 yum.conf

四、網絡YUM源配置

1、網絡YUM源的分類

① 使用比較知名平臺的YUM源(阿里云、騰訊、清華)

② 有些特定軟件(如Nginx、MySQL、Zabbix等等)需要根據官網文檔自定義網絡YUM源

2、使用知名平臺的YUM源

阿里源:https://opsx.alibaba.com/mirror網易源:http://mirrors.163.com/搜狐源:http://mirrors.sohu.com/清華源:https://mirrors.tuna.tsinghua.edu.cn/

騰訊源、華為源…

百度搜索 => 華為 mirror鏡像源

案例:配置阿里云的yum源

第一步:百度,搜索你想要的YUM源,進入官網,找到CentOS

第二步:根據官網提示,配置阿里云的YUM源

# mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo# yum clean all
# yum makecache

3、擴展:EPEL源配置

什么是EPEL源?

答:EPEL是對官網源的一個擴展。

CentOS-Base.repo文件 => 基礎源(官方在帶的YUM源)

epel.repo文件 => 擴展源,是對官方YUM源的一個補充

# yum install epel-release -y

比如:會跑的小火車就是在epel源中

# yum install sl -y
# sl

4、特定軟件的YUM源配置

比如特殊的幾個軟件,如Nginx、MySQL、Zabbix

Nginx:http://www.nginx.org

MySQL:https://www.mysql.com/

Zabbix:https://www.zabbix.com/

找到官方文檔,把YUM源配置,寫入到一下文件中(repo文件)

# cd /etc/yum.repos.d
# vim nginx.repo
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
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

五、自建YUM源倉庫

1、緩存安裝軟件包

什么時候需要緩存軟件?

  • 下次還需要安裝相同版本的軟件包
  • 由于網絡原因導致網絡安裝非常慢,將軟件包緩存下來,配置本地倉庫

2、如何緩存軟件安裝包

# vim /etc/yum.conf
[main]
cachedir=/var/cache/yum/$basearch/$releasever	定義軟件包的緩存路徑
keepcache=1			1開啟緩存;0關閉
debuglevel=2
logfile=/var/log/yum.log
...

3、把軟件及依賴軟件全部下載到某個路徑

只下載不安裝軟件:

# yum install --downloadonly --downloaddir=保存路徑 軟件名稱

案例:下載samba軟件及依賴軟件

# mkdir /soft
# yum install --downloadonly --downloaddir=/soft samba

4、自定義YUM倉庫

第一步:在系統中安裝createrepo制作倉庫的軟件

# yum install createrepo -y

第二步:把/soft文件夾做成一個本地的自建倉庫

# createrepo /soft

第三步:在/etc/yum.repos.d目錄中創建一個soft.repo的倉庫

# cd /etc/yum.repos.d/
# vim soft.repo
[soft]
name=soft yum
baseurl=file:///soft
gpgcheck=0
enabled=1

清理緩存+重建緩存:

# yum clean all
# yum makecache

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/38637.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/38637.shtml
英文地址,請注明出處:http://en.pswp.cn/web/38637.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

總體設計在軟件設計中的意義

總體設計(High-Level Design, HLD)是軟件開發生命周期中的一個關鍵階段,旨在從宏觀層面定義系統的結構和主要組件。總體設計的目標是為詳細設計和實現提供一個清晰的框架和藍圖。 總體設計的意義 明確系統架構:總體設計幫助開發…

基于Java的外賣點餐系統設計與實現

作者介紹:計算機專業研究生,現企業打工人,從事Java全棧開發 主要內容:技術學習筆記、Java實戰項目、項目問題解決記錄、AI、簡歷模板、簡歷指導、技術交流、論文交流(SCI論文兩篇) 上點關注下點贊 生活越過…

深?理解 JVM 底層原理、垃圾回收機制,能通過mat、jstat進行JVM參數調優

深入理解JVM(Java虛擬機)底層原理和垃圾回收機制是Java開發者和系統管理員的重要技能,尤其是在性能調優方面。下面是一些關鍵點,幫助你更好地理解這些概念: ### JVM 底層原理 1. **類加載機制**:JVM如何加…

java+mysql教師管理系統

完整源碼地址 教師信息管理系統使用命令行交互的方式及數據庫連接實現教師信息管理系統,該系統旨在實現教師信息的管理,并根據需要進行教師信息展示。該軟件的功能有如下功能 (1)基本信息管理(教師號、姓名、性別、出生年月、職稱、學歷、學位、教師類型…

25西安電子科技大學研究生政策(最新)

25西安電子科技大學研究生政策(最新) 01全國研究生報名情況 全國研究生報名人數438萬,首次下降超36萬人。 02西電研究生全日制/非全日制報名情況 西電碩士研究生報考錄取情況(包含全日制、非全日制),2024年…

python-數據容器對比總結

基于各類數據容器的特點,它們的應用場景如下: 數據容器的通用操作 - 遍歷 數據容器的通用統計功能 容器的通用轉換功能 容器通用排序功能 容器通用功能總覽

C-特性和新特性

C特性和新特性 C11 C11是C編程語言的一個重要標準版本,是C98標準發布后13年來的第一次重大修正,它引入了許多新特性和改進,極大地增強了C語言的表達能力和開發效率。 C11是C編程語言的一個重要標準版本,由國際標準化組織(ISO)和…

如何在Java中實現自定義數據結構:從頭開始

如何在Java中實現自定義數據結構:從頭開始 大家好,我是免費搭建查券返利機器人省錢賺傭金就用微賺淘客系統3.0的小編,也是冬天不穿秋褲,天冷也要風度的程序猿!今天我們將探討如何在Java中實現自定義數據結構&#xff…

一文徹底搞懂Transformer - Input(輸入)

一、輸入嵌入(Input Embedding) 詞嵌入(Word Embedding):詞嵌入是最基本的嵌入形式,它將詞匯表中的每個單詞映射到一個固定大小的向量上。這個向量通常是通過訓練得到的,能夠捕捉單詞之間的語義…

HTTP入門

入門HTTP協議 1. 原理介紹 爬蟲就是用程序模擬瀏覽器的行為,發送請求給服務器,獲取網頁的內容,解析網頁數據。 要學會爬蟲,先要了解瀏覽器是如何和服務器交流的。瀏覽器通過HTTP協議和服務器交流。 2. HTTP協議簡介 2.1…

第4篇 區塊鏈的優勢與挑戰:為什么區塊鏈如此重要?

區塊鏈聽起來像是一種高科技的魔法,很多人都想知道它到底是怎么回事,為什么會引起如此大的關注。今天,我們就來揭開區塊鏈的神秘面紗,看看它的優勢和挑戰,順便聊聊為什么它會變得如此重要。 優勢篇 1. 去中心化&…

【pg】去除pg數據庫字段值中的空格

如何批量去除PostgreSQL數據庫字段值中的空格 在處理數據庫中的數據時,經常會遇到字段值末尾帶有多余空格的問題。這些空格可能是用戶輸入錯誤或數據遷移過程中引入的,可能會影響數據的準確性和一致性。本文將介紹如何使用 PostgreSQL 的 SQL 語句批量去…

The Forest Enemy Pack(2D動畫角色游戲模型)

這個包包含14個適用于platformer和2d rpg游戲的動畫角色。 動畫總幀數:1785 用于動畫的所有精靈都具有透明背景,并準備有1500x1200和750x600兩種尺寸。 對于每個角色,你也可以找到具有單獨身體部位的精靈表,這樣你就可以輕松地制作自己的動畫。它們有PNG和PSD格式。 示例場…

對MVC的理解以及如何實現一個簡單的MVC

IOC 容器與 Controller: 在 Spring 框架中,所有的 Controller 都會被 Spring 的 IOC 容器管理。當應用程序啟動時,Spring 會掃描所有帶有 Controller 注解的類,并將它們作為 Bean 注冊到 IOC 容器中。 方法掃描與 Dispatcher&am…

強化學習-5 策略梯度、Actor-Critic 算法

文章目錄 1 基于價值( value-based \text{value-based} value-based )算法的缺點2 策略梯度算法2.1 解釋2.1.1 分母和分子相消2.1.2 對數函數的導數2.1.3 組合公式2.1.4 總結 3 REINFORCE算法4 策略梯度推導進階4.1 平穩分布4.2 基于平穩分布的策略梯度…

Python游戲腳本開發之大漠插件

自動化 文章目錄 自動化前言一、開發環境二、免注冊調用三、創建大漠對象四、注冊五、大漠功能調用六、整體代碼 前言 大漠插件是集前后臺,文字識別,圖色,鍵鼠,窗口,內存,DX,Call等功能于一身的…

HSP_13章 Python_魔術方法

文章目錄 P132 魔術方法1. 魔術方法的基本介紹2. 常見的魔術方法2.1 __str__2.2 __eq__2.3 其它的幾個魔術方法 P132 魔術方法 參考文檔 1. 魔術方法的基本介紹 2. 常見的魔術方法 2.1 str # 請輸出Monster[name,job,sal]對象的屬性信息 #可以根據需要…

(1, ‘[SSL: WRONG_VERSION_NUMBER] wrong version number (_ssl.c:1124)

WARNING: Retrying (Retry(total4, connectNone, readNone, redirectNone, statusNone)) after connection broken by SSLError(SSLError(1, [SSL: WRONG_VERSION_NUMBER] wrong version number (_ssl.c:1124))): /pypi/simple/urllib3/ pip install的時候遇到這個錯誤 第一步…

競賽選題 交通目標檢測-行人車輛檢測流量計數 - 競賽選題

文章目錄 0 前言1\. 目標檢測概況1.1 什么是目標檢測?1.2 發展階段 2\. 行人檢測2.1 行人檢測簡介2.2 行人檢測技術難點2.3 行人檢測實現效果2.4 關鍵代碼-訓練過程 最后 0 前言 🔥 優質競賽項目系列,今天要分享的是 🚩 畢業設計…

OtterTune dead,參數調優還有DBdoctor

前言 數據庫性能調優這塊必不可少的環節是進行參數調優,數據庫的參數很多,比如Oracle甚至有上千個參數,如何進行參數設置非常關鍵。參數調優需要基于業務的負載模型、硬件配置等多種因素,好的參數調優可以讓數據庫性能整體吞吐提…