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

Linux安裝及管理軟件程序全過(guò)程

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

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

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

實(shí)際上,源碼包就是一大堆源代碼程序,是由程序員按照特定的格式和語(yǔ)法編寫(xiě)出來(lái)的。

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

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

優(yōu)點(diǎn):

  • 開(kāi)源。如果你有足夠的能力,則可以修改源代碼。
  • 可以自由選擇所需的功能。
  • 因?yàn)檐浖蔷幾g安裝的,所以更加適合自己的系統(tǒng),更加穩(wěn)定,效率也更高。
  • 卸載方便。

不足:

  • 安裝過(guò)程步驟較多,尤其是在安裝較大的軟件集合時(shí)(如 LAMP 環(huán)境搭建),容易出現(xiàn)拼寫(xiě)錯(cuò)誤。
  • 編譯時(shí)間較長(zhǎng),所以安裝時(shí)間比二進(jìn)制安裝要長(zhǎng)。
  • 因?yàn)檐浖蔷幾g安裝的,所以在安裝過(guò)程中一旦報(bào)錯(cuò),新手很難解決

2.rpm安裝

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

優(yōu)點(diǎn):

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

不足:

  • 因?yàn)檐浖嬖谝蕾囮P(guān)系,需要先手動(dòng)下載各依賴包(過(guò)于繁瑣,安裝軟件時(shí)基本不用)

3.yum軟件倉(cāng)庫(kù)

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

優(yōu)點(diǎn):

  • 安裝簡(jiǎn)單
  • 自動(dòng)解決依賴關(guān)系

4.下載安裝包

二、安裝管理軟件程序

獲取軟件包的幾種方式

  • 紅帽官方
  • 第三方組織提供
  • 軟件項(xiàng)目官方站點(diǎn)
  • 自己制作

以下實(shí)操演示通過(guò)掛載鏡像文件,獲取其中的rpm安裝包來(lái)安裝軟件程序

掛載 :

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

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)拆包后分類(lèi)

[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
// 主包 開(kāi)發(fā)包 手冊(cè)包 工具包

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

- 包文件組成 (每個(gè)包獨(dú)有)

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

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

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

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

查詢指定軟件是否安裝

rpm -q 軟件名

查詢已安裝軟件的信息

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

查詢已安裝軟件包的信息

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

(5)rpm安裝管理軟件

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

-v //顯示過(guò)程

-h //顯示進(jìn)度條####

-e //卸載軟件

-U //升級(jí)軟件(需要升級(jí)包)
//無(wú)依賴關(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%]

//存在依賴包,需要手動(dòng)安裝依賴包
[root@localhost Packages]#rpm -ivh httpd-2.4.6-67.el7.centos.x86_64.rpm 
錯(cuò)誤:依賴檢測(cè)失?。?
	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%]
正在升級(jí)/安裝...
   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%]
正在升級(jí)/安裝...
   1:httpd-2.4.6-67.el7.centos        ################################# [100%]

2.源碼編譯安裝

(1)源碼

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

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

(2)程序包編譯安裝

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

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

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

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

(3)步驟

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

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

第二步:make 將源代碼編譯成二進(jìn)制語(yǔ)言

常見(jiàn)的編譯軟件 gcc gcc-c++

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

(4)源碼編譯安裝實(shí)操

[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

//進(jìn)入安裝包
[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

//安裝寫(xiě)入硬盤(pán)
[root@localhost httpd-2.4.29]#make install

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

//80端口打開(kāi)說(shuō)明網(wǎng)頁(yè)服務(wù)開(kāi)啟
[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是一個(gè)基于RPM包構(gòu)建的軟件更新機(jī)制,能夠自動(dòng)解決軟件包之間的依賴關(guān)系,解決了日常工作中的大量查找安裝依賴包的時(shí)間。

[root@localhost Packages]# yum [選項(xiàng)] 操作 軟件包

-y install //安裝過(guò)程提示選擇全部yes

-q install //不顯示安裝過(guò)程

info //顯示安裝包信息

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

deplist //查看包依賴情況

remove //卸載軟件

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

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

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

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

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

客戶端

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

(2)安裝過(guò)程

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

(3)配置本地yum源

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

搭建一個(gè)本地yum倉(cāng)庫(kù)需要:

服務(wù)端

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

客戶端

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

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

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

(4)yum安裝軟件實(shí)操

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

//切換到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源移動(dòng)進(jìn)去
[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ù)緩存已建立

//嘗試通過(guò)本地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        

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

總結(jié)

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

相關(guān)文章

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    詳解Linux多線程使用信號(hào)量同步

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

最新評(píng)論