Linux軟體安裝管理,linux軟體安裝

來源:互聯網
上載者:User

Linux軟體安裝管理,linux軟體安裝
1、軟體包管理簡介1.軟體包分類

源碼包

  • 指令碼安裝包

二進位包(RPM包、系統預設包)

2.源碼包源碼包的優點是:
  • 開源,如果有足夠的能力,可以修改原始碼
  • 可以自由選擇所需要的功能
  • 軟體設計編譯安裝,所以更加適合自己的系統,更加穩定有效
  • 卸載方便
源碼包的缺點:
  • 安裝過程步驟較多,尤其是安裝較大的軟體集合時(如LAMP環境搭建),容易出現拼字錯誤
  • 編譯過程時間較長,安裝比二進位安裝時間長
  • 因為是編譯安裝,安裝過程中一旦報錯新手很難解決
3.RPM包二進位包的優點:
  • 包管理系統簡單,只通過幾個命令就可以實現包的安裝、升級、查詢和卸載
  • 安裝速度比源碼包安裝快的多
二進位包缺點:
  • 經過編譯,不再可以看到原始碼
  • 功能選擇不如源碼包靈活
  • 依賴性
4.指令碼安裝包

所謂的指令碼安裝包,就是把複雜的軟體包安裝過程寫成了程式指令碼,初學者可以執行程式指令碼實現一鍵安裝。但實際安裝的還是源碼包和二進位包。

優點:安裝簡單、快捷

缺點:完全喪失了自訂性

2、rpm命令管理

Red Hat Package Manager/RPM 紅帽軟體包管理器

RPM包命名規則1.RPM包的來源

RPM包在系統光碟片中

2.RPM包命名原則

httpd-2.2.15-15.el6.centos.1.i686.rpm

  • httpd 軟體包名
  • 2.2.15 軟體版本
  • 15 軟體發布的次數
  • el6.centos 適合的Linux平台
  • i686 適合的硬體平台
  • rpm rpm副檔名
3.RPM包依賴性

樹形依賴:a -> b -> c

環形依賴:a -> b -> c -> a

模組依賴:模組依賴,查詢網站:www.rpmfind.net

安裝命令1.包全名與包名

包全名:操作的包是沒有安裝的軟體包時,使用包全名。而且要注意路徑。

包名:操作已經安裝的軟體包時,使用包名,是搜尋/var/lib/rpm/中的資料庫。

2.RPM安裝

rpm -ivh 包全名

選項:

  • -i(install) 安裝
  • -v(verbose) 顯示詳細資料
  • -h(hash) 顯示進度
  • --nodeps 不檢測依賴性
升級與卸載1、RPM包升級

rpm -Uvh 包全名

選項:

  • -U(upgrade) 升級
2.卸載

rpm -e 包名

選項:

  • -e(erase) 卸載
  • --nodeps 不檢查依賴性
RPM包查詢1.查詢是否安裝

rpm -q 包名

# 查詢包是否安裝

  • -q 查詢(query)

rpm -qa

# 查詢所有已經安裝的RPM包

  • -a 所有(all)

rpm -qa | grep httpd

2.查詢軟體包詳細資料

rpm -qi 包名

選項:

  • -i 查詢軟體資訊(information)
  • -p 查詢未安裝包資訊(package)
3.查詢包中檔案安裝位置

rpm -ql 包名

選項:

  • -l 列表(list)
  • -p 查詢未安裝包資訊(package)
RPM包預設安裝位置
RPM包預設安裝路徑
/etc/ 設定檔安裝目錄
/usr/bin 可執行檔命令安裝目錄
/usr/lib/ 程式所使用的函數庫儲存位置
/usr/share/doc 基本軟體使用手冊儲存位置
/usr/share/man/ 協助檔案儲存位置
4、查詢系統檔案屬於哪個RPM包

rpm -qf 系統檔案名稱

選項:

  • -f 查詢系統檔案屬於哪個軟體包(file)
5、查詢軟體包的依賴性

rpm -qR 包名

選項:

  • -R 查詢軟體包的依賴性(requires)
  • -p 查詢未安裝包資訊(package)
RPM包校正1、RPM包校正

rpm -V 包名

驗證內容中的8個資訊的具體內容如下:

  • S 檔案大小是否改變
  • M 檔案的類型或檔案的許可權(rwx)是否被改變
  • 5 檔案MD5校正和是否被改變(可以看成檔案內容是否改變)
  • D 裝置的主從代碼是否被改變
  • L 檔案路徑是否改變
  • U 檔案的屬主(所有者)是否改變
  • G 檔案的屬組是否改變
  • T 檔案的修改時間是否改變
  • 檔案類型
    • c 設定檔(config file)
    • d 普通文檔(documentation)
    • g “鬼”檔案(ghost file),很少見,就是該檔案不應該被這個RPM包包含
    • L 授權檔案(license file)
    • r 描述檔案(read me)
2、RPM包中檔案提取

rpm2cpio 包全名 | cpio -idv .檔案絕對路徑

  • rpm2cpio
    # 將rpm包轉換為cpio格式的命令
  • cpio
    # 是一個標準工具,它用於建立軟體檔案檔案和從檔案檔案中提取檔案

[root@AmorLei ~]# cpio 選項 < [檔案|裝置]

選項:

  • -i :copy-in模式,還原
  • -d :還原時自動建立目錄
  • -v :顯示還原過程
rpm -qf /bin/ls# 查詢ls命令屬於哪個軟體包mv /bin/ls /tmp/# 造成ls命令誤刪除現象rpm2cpio /mnt/cdrom/Package/coreutils-8.4-19.el6.i686.rpm | cpio -idv ./bin/ls# 提取RPM包中ls命令到目前的目錄的/bin/ls下cp /root/bin/ls /bin/# 把ls命令複製回/bin/目錄,修複檔案丟失
3、yum線上管理

RPM包缺點:安裝過程中,rpm包的依賴性太強。如果所有rpm包都是手工安裝,則rpm包使用難度較大。

yum優點:將所有包放到官方伺服器上,當進行yum線上安裝時,可以自動解決依賴性問題。

yum缺點:Red Hat的yum線上安裝需要付費

1.yum源檔案

vi /etc/yum.repos.d/CentOS-Base.repo

  • [base] 容器名稱,一定要放在[]中
  • name 容器說明,可以自己隨便寫
  • mirrorlist 鏡像網站,這個可以注釋掉
  • baseurl 我們的yum原始伺服器的地址。預設是CentOS官方的yum原始伺服器,是可以使用的,如果你覺得慢可以改成你喜歡的yum源地址
  • enabled 此容器是否生效,如果不寫或寫成enable=1都生效,寫成enable=0就是不生效
  • gpgcheck 如果是1是指RPM的數位憑證生效,如果是0則不生效
  • gpgkey 數位憑證的共鑰檔案儲存位置。不用修改
2.光碟片搭建yum源1.掛載光碟片
mkdir /mnt/cdrom# 建立掛載點mount /dev/cdrom /mnt/cdrom# 掛載光碟片
2.使網路yum源失效
cd /etc/yum.repos.d/# 進入yum來源目錄mv CentOS-Base.repo CentOS-Base.repo.bak# 修改yum源檔案尾碼名,使其失效
3.使光碟片yum源生效
vim CentOS-Media.repo[c6-media]name=CentOS-$releasever-Mediabaseurl=file:///mnt/cdrom    # 地址為你自己的光碟片掛載地址#        file:///media/cdrom/#        file:///media/cdrecorder # 注釋這兩個不存在的地址gpgcheck=1enabled=1         # 把enabled=0改為enabled=1,讓這個yum源設定檔生效gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
3.yum命令1.常用yum命令

(1)查詢

yum list# 查詢所有可用軟體包列表yum search 關鍵字# 搜尋伺服器上所有和關鍵字相關的包

(2)安裝

yum -y install 包名選項:- install         安裝- -y             自動回答yes例如:yum -y install gcc

(3)升級

yum -y update 包名選項:- update          升級- -y             自動回答yes

(4)卸載

yum -y remove 包名選項:- remove        卸載- -y             自動回答yes

伺服器使用迷你安裝,用什麼軟體安裝什麼,盡量不卸載

2.yum軟體組管理命令
yum grouplist# 列出所有可用的軟體組列表yum groupinstall 軟體組名# 安裝指定軟體組,組名可以由grouplist查詢出來yum groupremove 軟體組名# 卸載指定軟體組
4、源碼包管理1.源碼包和RPM包的區別區別

安裝之前的區別:概念上的區別

安裝之後的區別:安裝位置不同

RPM包安裝位置

是安裝在預設位置中

rpm安裝可以指定安裝位置,但是不建議指定安裝位置

[root@AmorLei ~]# rpm --help | grep prefix  --prefix=<dir>                   relocate the package to <dir>, if
源碼包安裝位置

安裝在指定位置當中,一般是: /usr/local/軟體名/

源碼包沒有卸載命令

安裝位置不同帶來的影響

RPM包安裝的服務可以使用系統服務管理命令(service)來管理,例如RPM包安裝的apache的啟動方法是:

  • /etc/rc.d/init.d/httpd start
  • service httpd start(RedHat 專有方法)

源碼包安裝的服務則不能被服務管理命令管理,因為沒有安裝到預設路徑中。所以只能用絕對路徑進行服務的管理,如:

  • /usr/local/apache2/bin/apachectl start
2.源碼包安裝過程1.安裝準備

安裝C語言編譯器

下載源碼包:使用httpd-2.2.34沒有報錯

http://mirror.bit.edu.cn/apache/httpd

2.安裝注意事項

原始碼儲存位置:/usr/local/src/

軟體安裝位置:/usr/local/

如何確定安裝過程報錯:

安裝過程停止 並出現error、warning或no的提示

3.源碼包安裝過程

下載源碼包

解壓縮下載的源碼包

進入解壓縮目錄

  • /configure 軟體配置與檢查
    • 定義需要的功能選項。
    • 檢測系統內容是否符合安裝要求。
    • 把定義好的功能選項和檢測系統內容的資訊都寫入Makefile檔案,用於後續的編輯。
    • [root@AmorLei httpd-2.2.34]# ./configure --prefix=/usr/local/apache2
make 編譯    make cleanmake install 編譯安裝/usr/local/apache2/bin/apachectl start

RPM包網頁位置 /var/www/html/

源碼包網頁位置 /usr/local/apache2/htdocs/

4.源碼包的卸載

不需要卸載命令,直接刪除安裝目錄即可。不會遺留任何垃圾檔案。

5、指令碼安裝

指令碼安裝的筆記將在之後進行更新!

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.