欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Linux安裝及管理軟件程序全過程

 更新時間:2024年11月06日 14:46:07   作者:Xnah_  
本文介紹Linux系統(tǒng)中軟件的安裝方式,包括源碼編譯、rpm安裝和yum安裝,及其各自的優(yōu)缺點,同時,詳細解析了rpm和yum的包管理工具使用方法,包括命令操作和配置管理,為Linux用戶提供全面的軟件安裝與管理指南

一、Linux安裝程序的幾種方式

1.源碼編譯安裝(二進制安裝)

實際上,源碼包就是一大堆源代碼程序,是由程序員按照特定的格式和語法編寫出來的。

源碼包經(jīng)過成功編譯之后產(chǎn)生二進制包,最后安裝寫入硬盤。

由于二進制包在發(fā)布之前就已經(jīng)完成了編譯的工作,因此用戶安裝軟件的速度較快(同 Windows下安裝軟件速度相當(dāng)),且安裝過程報錯幾率大大減小。

優(yōu)點:

  • 開源。如果你有足夠的能力,則可以修改源代碼。
  • 可以自由選擇所需的功能。
  • 因為軟件是編譯安裝的,所以更加適合自己的系統(tǒng),更加穩(wěn)定,效率也更高。
  • 卸載方便。

不足:

  • 安裝過程步驟較多,尤其是在安裝較大的軟件集合時(如 LAMP 環(huán)境搭建),容易出現(xiàn)拼寫錯誤。
  • 編譯時間較長,所以安裝時間比二進制安裝要長。
  • 因為軟件是編譯安裝的,所以在安裝過程中一旦報錯,新手很難解決

2.rpm安裝

由Red Hat公司提出,被眾多Linux發(fā)行版所采用建立統(tǒng)一的數(shù)據(jù)庫文件(一張對應(yīng)表將信息寫入)詳細記錄軟件包安裝、卸載等變化信息自動分析軟件包依賴關(guān)系。

優(yōu)點:

  • 統(tǒng)一的安裝包格式
  • 已經(jīng)幫你編譯完成
  • 使用簡單

不足:

  • 因為軟件存在依賴關(guān)系,需要先手動下載各依賴包(過于繁瑣,安裝軟件時基本不用)

3.yum軟件倉庫

解決rpm包依賴關(guān)系而誕生

優(yōu)點:

  • 安裝簡單
  • 自動解決依賴關(guān)系

4.下載安裝包

二、安裝管理軟件程序

獲取軟件包的幾種方式

  • 紅帽官方
  • 第三方組織提供
  • 軟件項目官方站點
  • 自己制作

以下實操演示通過掛載鏡像文件,獲取其中的rpm安裝包來安裝軟件程序

掛載 :

  • linux當(dāng)中一切皆文件,無論硬件軟件都要當(dāng)成文件來使用,硬件不能直接當(dāng)成文件來使用,再加硬盤只能在根分區(qū)下進行操作。
  • 掛載是將硬件和根分區(qū)下某一文件夾做關(guān)聯(lián),相當(dāng)于這個文件夾是進入硬盤的一個入口

1.rpm包管理工具

(1)一般命名格式

bash-4.1.2-15.el6_4.x86_64.rpm

bash——shell環(huán)境 4.1.2——版本信息 15——發(fā)布次數(shù) x86_64——系統(tǒng)架構(gòu)

(2)拆包后分類

[root@localhost Packages]# ll httpd*
-rw-rw-r--. 2 root root 2835196 8月 11 2017 httpd-2.4.6-67.el7.centos.x86_64.rpm
-rw-rw-r--. 2 root root 197360 8月 11 2017 httpd-devel-2.4.6-67.el7.centos.x86_64.rpm
-rw-rw-r--. 2 root root 1402824 8月 11 2017 httpd-manual-2.4.6-67.el7.centos.noarch.rpm
-rw-rw-r--. 2 root root 89284 8月 11 2017 httpd-tools-2.4.6-67.el7.centos.x86_64.rpm
// 主包 開發(fā)包 手冊包 工具包

(3)包管理器相關(guān)文件

- 包文件組成 (每個包獨有)

  • 包內(nèi)的文件
  • 元數(shù)據(jù),如:包的名稱,版本,依賴性,描述等
  • 可能會有包安裝或卸載時運行的腳本

- 數(shù)據(jù)庫(公共):/var/lib/rpm (安裝好后會將一些公共的數(shù)據(jù)放入數(shù)據(jù)庫中)

  • 程序包名稱及版本
  • 依賴關(guān)系
  • 功能說明
  • 包安裝后生成的各文件路徑及校驗碼信息

(4) 查詢安裝包信息命令

查詢指定軟件是否安裝

rpm -q 軟件名

查詢已安裝軟件的信息

  • -qa //顯示當(dāng)前系統(tǒng)中以 RPM 方式安裝的所有軟件列表
  • -ql //顯示指定的軟件包在當(dāng)前系統(tǒng)中安裝的所有目錄、文件列表
  • -qi //查看指定軟件包的名稱、版本、許可協(xié)議、用途描述等詳細信息
  • -qc //列出已安裝的指定軟件的配置文件
  • -qd //列出已安裝的指定軟件的軟件包文檔所在位置
  • -qf //查看指定的文件或目錄是由哪個軟件包所安裝的

查詢已安裝軟件包的信息

  • -qpl //顯示指定的軟件包在當(dāng)前系統(tǒng)中安裝的所有目錄、文件列表
  • -qpi //查看指定軟件包的名稱、版本、許可協(xié)議、用途描述等詳細信息
  • -qpc //列出已安裝的指定軟件的配置文件
  • -qpd //列出已安裝的指定軟件的軟件包文檔所在位置

(5)rpm安裝管理軟件

[root@localhost Packages]# rpm -i 軟件名 //rpm安裝軟件

-v //顯示過程

-h //顯示進度條####

-e //卸載軟件

-U //升級軟件(需要升級包)
//無依賴關(guān)系,安裝成功
[root@localhost Packages]#rpm -ivh tree-1.6.0-10.el7.x86_64.rpm
warning: tree-1.6.0-10.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEY
Preparing...                          ################################# [100%]
Updating / installing...
   1:tree-1.6.0-10.el7                ################################# [100%]

//存在依賴包,需要手動安裝依賴包
[root@localhost Packages]#rpm -ivh httpd-2.4.6-67.el7.centos.x86_64.rpm 
錯誤:依賴檢測失敗:
	httpd-tools = 2.4.6-67.el7.centos 被 httpd-2.4.6-67.el7.centos.x86_64 需要
[root@localhost Packages]#rpm -ivh httpd-tools-2.4.6-67.el7.centos.x86_64.rpm 
準(zhǔn)備中...                          ################################# [100%]
正在升級/安裝...
   1:httpd-tools-2.4.6-67.el7.centos  ################################# [100%]
[root@localhost Packages]#rpm -ivh httpd-2.4.6-67.el7.centos.x86_64.rpm 
準(zhǔn)備中...                          ################################# [100%]
正在升級/安裝...
   1:httpd-2.4.6-67.el7.centos        ################################# [100%]

2.源碼編譯安裝

(1)源碼

大部分是c語言開發(fā)的,更方便的使用

  1. 軟件版本比較新,新功能,修復(fù)bug
  2. 可以自行定義配置文件的路徑
  3. 源碼可能有100個功能,紅帽認(rèn)為你可能不需要會自行處理砍掉,自行定制50

(2)程序包編譯安裝

源代碼 --> 預(yù)處理 --> 編譯 --> 匯編 --> 鏈接 --> 執(zhí)行

多文件:文件中的代碼之間,很可能存在跨文件依賴關(guān)系雖然有很多開源軟件將軟件打成包,供人們使用,但并不是所有源代碼都打成包,如果想使用開源軟件,可能需要自已下載源碼,進行編譯安裝。

另外即使提供了包,但是生產(chǎn)中需要用于軟件的某些特性,仍然需要自行編譯安裝。

但是利用源代碼編譯安裝是比較繁瑣的,慶幸的是有相關(guān)的項目管理工具可以大大減少編譯過程的復(fù)雜度

(3)步驟

第一步:./configure 軟件作者寫的腳本(安裝包中會有)

  • 可以更改你的安裝路徑,
  • 選擇你要安裝軟件的功能
  • 檢測你的安裝環(huán)境

第二步:make 將源代碼編譯成二進制語言

常見的編譯軟件 gcc gcc-c++

第三步:make install 將二進制 數(shù)據(jù)寫入硬盤,安裝進系統(tǒng)

(4)源碼編譯安裝實操

[root@localhost ~]#mkdir /app /data
[root@localhost data]#ls
httpd-2.4.29.tar.bz2

//解壓安裝包
[root@localhost data]#tar xf httpd-2.4.29.tar.bz2

//進入安裝包
[root@localhost data]#cd httpd-2.4.29

//安裝依賴環(huán)境需要的工具包
[root@localhost httpd-2.4.29]#yum install apr* gcc* pcre* -y

//配置安裝路徑到/app
[root@localhost httpd-2.4.29]#./configure --prefix=/app

//使用使用2顆cpu編譯
[root@localhost httpd-2.4.29]#make -j2

//安裝寫入硬盤
[root@localhost httpd-2.4.29]#make install

//檢查是否安裝成功——httpd網(wǎng)頁服務(wù)是否開啟
[root@localhost httpd-2.4.29]#/app/bin/apachectl start
AH00558: httpd: Could not reliably determine the server's fully qualified this message

//80端口打開說明網(wǎng)頁服務(wù)開啟
[root@localhost httpd-2.4.29]#ss -ntap |grep 80
LISTEN     0      128       [::]:80                    [::]:*                   users:(("httpd",pid=25821,fd=4),("httpd",pid=25820,fd=4),("httpd",pid=25819,fd=4),("httpd",pid=25818,fd=4))

3.yum安裝管理軟件

yum是一個基于RPM包構(gòu)建的軟件更新機制,能夠自動解決軟件包之間的依賴關(guān)系,解決了日常工作中的大量查找安裝依賴包的時間。

[root@localhost Packages]# yum [選項] 操作 軟件包

-y install //安裝過程提示選擇全部yes

-q install //不顯示安裝過程

info //顯示安裝包信息

list //不加包名顯示所有已安裝和可安裝的包信息

deplist //查看包依賴情況

remove //卸載軟件

clean //清理緩存目錄下的軟件包

(1)c/s架構(gòu)

需要服務(wù)器來提供服務(wù)

成為服務(wù)器一定要有以下兩個文件夾 Packages 和 repodata

  • Packages——安裝包(Packages不固定,但是統(tǒng)一叫Packages)
  • repodata——元數(shù)據(jù)(安裝包路徑,依賴關(guān)系,元數(shù)據(jù)等)

客戶端

  • 客戶端需要配置一個文件指明服務(wù)器的路徑
  • 客戶端的配置文件固定位置在 /etc/yum.repos.d/ (客戶端配置文件必須以.repo結(jié)尾)

(2)安裝過程

  • 客戶端第一次連接服務(wù)端會將元數(shù)據(jù)文件保存下來;
  • 再根據(jù)元數(shù)據(jù)中的依賴關(guān)系和包路徑,將所需要的安裝包全部下載下來,放到緩存目錄;
  • 安裝結(jié)束后,將緩存目錄中的安裝包全部刪除。

(3)配置本地yum源

一般來說,默認(rèn)的倉庫路徑會需要訪問互聯(lián)網(wǎng),當(dāng)我們不能訪問互聯(lián)網(wǎng)時,就需要我們搭建本地yum倉庫。這樣客戶端就可以通過本地yum倉庫安裝軟件等。

搭建一個本地yum倉庫需要:

服務(wù)端

  • 安裝包 Packges:通過掛載、復(fù)制等
  • 元數(shù)據(jù) repodata:通過自行生成、復(fù)制等

客戶端

手寫配置文件(以.repo結(jié)尾)

//配置文件一般格式
[base]           --倉庫的名字,自定義
name=CentOS-$releasever - Base     --倉庫的描述,自定義
baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/   --倉庫服務(wù)器的路徑
gpgcheck=1      --檢驗包的安全性完整性(1代表需要,0代表不需要)
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7   --如果gpgcheck=1,需要指明驗證文件的位置
enabled=1            --代表啟用該倉庫(1代表啟用,0代表關(guān)閉,不寫默認(rèn)開啟)

注:
倉庫服務(wù)器 baseurl 有四種表示方式
file://       --本地的路徑(當(dāng)前系統(tǒng)的路徑)
http://       --網(wǎng)頁的形式
https://      --加密
ftp://        --文件共享服務(wù)來實現(xiàn)

(4)yum安裝軟件實操

//通過掛載獲取安裝包
[root@localhost ~]#mount /dev/sr0 /mnt
mount: /dev/sr0 寫保護,將以只讀方式掛載

//切換到y(tǒng)um源配置目錄下
[root@localhost ~]#cd /etc/yum.repos.d/

//ls查看目錄下有很多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

//新建bak目錄,將原有yum源移動進去
[root@localhost yum.repos.d]#mkdir bak
[root@localhost yum.repos.d]#mv * bak/
[root@localhost yum.repos.d]#ls bak
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

//新建本地yum源配置文件并編輯
[root@localhost yum.repos.d]#vim local.repo
[local]
name=local
baseurl=file:///mnt
gpgcheck=0
enabled=1

//清理yum緩存目錄
[root@localhost yum.repos.d]#yum clean all
已加載插件:fastestmirror, langpacks
正在清理軟件源: local
Cleaning up list of fastest mirrors
Other repos take up 850 M of disk space (use --verbose for details)

//重新建立源數(shù)據(jù)
[root@localhost yum.repos.d]#yum makecache 
已加載插件:fastestmirror, langpacks
Determining fastest mirrors
local                                                    | 3.6 kB     00:00     
(1/4): local/group_gz                                      | 153 kB   00:00     
(2/4): local/filelists_db                                  | 3.3 MB   00:00     
(3/4): local/primary_db                                    | 3.3 MB   00:00     
(4/4): local/other_db                                      | 1.3 MB   00:00     
元數(shù)據(jù)緩存已建立

//嘗試通過本地yum源下載軟件(以php為例)
[root@localhost yum.repos.d]#yum install php -y
已加載插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
正在解決依賴關(guān)系
--> 正在檢查事務(wù)
---> 軟件包 php.x86_64.0.5.4.16-48.el7 將被 安裝
--> 正在處理依賴關(guān)系 php-common(x86-64) = 5.4.16-48.el7,它被軟件包 php-5.4.16-48.el7.x86_64 需要
...
已安裝:
  php.x86_64 0:5.4.16-48.el7                                                    

作為依賴被安裝:
  httpd.x86_64 0:2.4.6-95.el7.centos  httpd-tools.x86_64 0:2.4.6-95.el7.centos 
  libzip.x86_64 0:0.10.1-8.el7        mailcap.noarch 0:2.1.41-2.el7            
  php-cli.x86_64 0:5.4.16-48.el7      php-common.x86_64 0:5.4.16-48.el7        

完畢!              --安裝成功,說明本地yum源可以使用

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • centos配置ssh免密碼登錄后仍要輸入密碼的解決方法

    centos配置ssh免密碼登錄后仍要輸入密碼的解決方法

    這篇文章主要給大家介紹了關(guān)于centos配置ssh免密碼登錄后仍要輸入密碼的解決方法,需要的朋友可以參考下
    2017-08-08
  • 詳細分析Linux文件系統(tǒng)

    詳細分析Linux文件系統(tǒng)

    本片文章通過存儲機制,結(jié)構(gòu)等方便對Linux文件系統(tǒng)做了詳細分析和解讀,一起學(xué)習(xí)參考下吧。
    2017-12-12
  • 在Ubuntu中如何查看網(wǎng)絡(luò)路由表詳解

    在Ubuntu中如何查看網(wǎng)絡(luò)路由表詳解

    這篇文章主要給大家介紹了關(guān)于在Ubuntu中如何查看網(wǎng)絡(luò)路由表的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家學(xué)習(xí)或者使用ubuntu具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-12-12
  • 如何實現(xiàn)在Linux上執(zhí)行exe文件

    如何實現(xiàn)在Linux上執(zhí)行exe文件

    這篇文章主要介紹了在Linux上執(zhí)行exe文件實現(xiàn)方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-09-09
  • Linux性能監(jiān)控工具nmon安裝及使用教程解析

    Linux性能監(jiān)控工具nmon安裝及使用教程解析

    這篇文章主要介紹了Linux性能監(jiān)控工具nmon安裝及使用教程解析,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-07-07
  • 21個常用的apache .htaccess文件配置技巧分享

    21個常用的apache .htaccess文件配置技巧分享

    這篇文章主要介紹了21個常用的apache .htaccess文件配置技巧分享,涵蓋了網(wǎng)站中最常用的一些功能需求解決辦法,需要的朋友可以參考下
    2014-07-07
  • vim的一些常用簡單操作小結(jié)

    vim的一些常用簡單操作小結(jié)

    大家都知道vim在Linux下使用很多,但是習(xí)慣了在Windows下的文本操作,在vim中進行文本操作會覺得很不方便,但是vim是一個很強大的工具,只是還不熟練去使用它,下面是一些常用的vim文本操作方法。
    2016-09-09
  • Vim中查找替換及正則表達式的使用詳解

    Vim中查找替換及正則表達式的使用詳解

    Vim中的正則表達式功能很強大,如果能自由運用,則可以完成很多難以想象的操作。下面這篇文章主要給大家介紹了關(guān)于Vim中查找替換及正則表達式使用的相關(guān)資料,文中介紹的非常詳細,需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-07-07
  • Linux server配置安裝Java與Tomcat服務(wù)器教程詳解

    Linux server配置安裝Java與Tomcat服務(wù)器教程詳解

    這篇文章主要介紹了Linux server配置安裝Java與Tomcat服務(wù)器教程詳解,需要的朋友可以參考下
    2017-08-08
  • 詳解Linux多線程使用信號量同步

    詳解Linux多線程使用信號量同步

    本篇文章主要是介紹了Linux多線程使用信號量同步,詳細講訴了信號量的接口和使用,有需要的朋友可以了解一下。
    2016-10-10

最新評論