天天看點

安裝及管理程式

一.Linux應用程式基礎

二.RPM軟體包管理工具

三.yum

四.源代碼編譯安裝

五.總結

1.應用程式與系統指令的關系

角色

系統指令

應用程式

檔案位置

一般在/bin和/sbin目錄中,或為shell内部指令

通常在/usr/local/bin和/usr/local/sbin目錄中

主要用途

完成對系統的基本管理工作,例如IP配置工具

完成相對獨立的其他輔助任務,例如網頁浏覽器

使用環境

一般隻在字元操作界面中運作

根據實際需要,有些程式可在圖形界面中運作

運作格式

一般包括指令字.指令選項和指令參數

通常沒有固定的執行格式

2.典型應用程式的目錄結構

檔案類型

儲存目錄

普通執行程式檔案

/usr/bin

伺服器執行程式檔案和管理程式檔案

/usr/sbin

應用程式配置檔案

/etc

日志檔案

/var/log

應用程式參考文檔檔案

/usr/share/doc

應用程式手冊頁檔案

/usr/local/share/man

3.常見的軟體封裝類型

RPM軟體包

擴充名為“.rp m”

DEB軟體包

擴充名為“.deb”

源代碼軟體包

一般為“.tar.gz”.“.tar.bz2”等格式的壓縮包 包含程式的原始代碼

綠色免安裝的軟體包

軟體包的擴充名不一,以TarBall格式的居多

在壓縮包内提供已編譯好的執行程式檔案

解開壓縮包後的檔案即可直接使用

二.RPM包管理工具

1.Red-hat package manager

  由red hat公司提出,被衆多Linux發行版所采用

  建立統一的資料庫檔案

  詳細記錄軟體包安裝.解除安裝等變化資訊

  自動分析軟體包依賴關系

2.RPM軟體包

  軟體素材參考:http://www.rpm.org

  一般命名格式:

     Bash(軟體名稱)-4.1.2(版本号)-15(釋出次數).el6-4.x86(硬體平台)-64.rpm(擴充名)

3.rpm指令的格式

  rpm指令能夠實作幾乎所有對RPM軟體包的管理功能

執行“man rpm”指令可以獲得關于rpm指令的詳細幫助資訊

rpm指令功能

  查詢.驗證RPM軟體包的相關資訊

  安裝.更新.解除安裝RPM軟體包

  維護RPM資料庫資訊等綜合管理操作

4.查詢RPM軟體包資訊

 查詢已安裝的RPM軟體資訊

  rpm -q [子選項] [軟體名]

 常用選項

指令

功能

rpm -q 軟體名

rpm -q elinks lynx

查詢指定軟體是否已安裝

rpm -qi 軟體名

rpm -qi samba-clicet

顯示已安裝的指定軟體的詳細資訊

rpm -ql 軟體名

rpm -ql wget

顯示已安裝的指定軟體的檔案清單

rpm -qc 軟體名

rpm -qc httpd

列出已安裝的指定軟體的配置檔案

rpm -qd 軟體名

rpm -qd httpd

列出已安裝的指定軟體的軟體封包檔所在位置

rpm -qR 軟體名

rpm -qR wget

列出已安裝的指定軟體的依賴的軟體包及檔案

rpm -qF 檔案或目錄

rpm -qF yum

查詢已安裝的指定軟體屬于哪個安裝包

rpm -qa

rpm -qa | grep -i postfix

顯示目前系統中以rpm方式安裝的所有軟體清單

查詢軟體postfix是否安裝

rpm -qf /usr/bin/passwd

查詢指定的檔案或目錄是哪個軟體包所安裝的

查詢未安裝的RPM軟體封包件中的資訊

rpm -qpi RPM封包件名           查詢指定軟體包的詳細資訊

rpm -qpi /mnt/packages/ethtool -4.8-10.e17.x86-64.rpm

rpm -qpl RPM封包件名           查詢指定軟體包的檔案清單

rpm -qpl /mnt/packages/ethtool -4.8-10.e17.x86-64.rpm

rpm -qpc RPM封包件名           查詢指定軟體包的配置檔案

rpm -qpc /mnt/packages/ethtool -4.8-10.e17.x86-64.rpm

rpm -qpd RPM封包件名           查詢指定軟體包的軟體封包檔的位置

rpm -qpd /mnt/packages/ethtool -4.8-10.e17.x86-64.rpm

5.安裝 更新 解除安裝 RPM軟體包

格式 [選項] RPM封包件

rpm -ivh RPM封包件

常用選項:

-i:安裝一個新的RPM軟體包

-U:更新某個軟體包,若未安裝過,則進行安裝。

-F:更新某個軟體包,若未安裝過,則放棄安裝。

-h:在安裝或更新軟體包的過程中,以“#”号顯示安裝進度。

-v:顯示軟體安裝過程中的詳細資訊。

--force:強制安裝某個軟體包,比如要安裝版本更舊的軟體包

-e:解除安裝指定名稱的軟體包。

--nodeps:在安裝或更新.解除安裝一個軟體包時,不檢查與其他軟體包的依賴關系。

案例:

rpm -ivh /mnt/packages/lynx-2.8.8-3.dev15.e17.x86-64.rpm

rpm -e lynx 删除指定軟體包

rpm -q lynx 檢視安裝情況

6.維護RPM資料庫

1.重建 RPM 資料庫

當RPM資料庫發生損壞,可通過重建RPM資料庫修複

rpm --rebuilddb 或者 rpm --initdb

2.導入驗證公鑰

在沒有導入用于數字簽名驗證的公鑰檔案之前,安裝CD光牒中的一部分RPM軟體包時會報錯。需要向RPM資料庫中導入位于CD光牒根目錄下的公鑰檔案

mount /dev/sr0 /mnt/

rpm --import /mnt/RPM-GPG-KEY-CentOS-7

解決軟體包依賴關系方法

安裝有依賴關系的多個軟體時

  被依賴的軟體包需要先安裝

  可同時指定多個.rpm封包件進行安裝

解除安裝有依賴關系的多個軟體時

  依賴其他程式的軟體包需要先解除安裝

  可同時指定多個軟體名進行解除安裝

忽略依賴關系

  結合“--nodeps”選項,但可以導緻軟體異常

安裝源代碼軟體包需要編譯安裝,需要安裝支援c和c++程式語言的編譯器,如gcc、gcc-c++、make

如果使用rpm方式安裝,則需要先安裝多個依賴包,這樣會很繁瑣。這裡可以使用 yum方式進行一鍵安裝。

先配置本地yum源倉庫

mount /dev/cdrom   /mnt/  把CD光牒挂載到/mnt目錄下

挂載    裝置      目錄或檔案夾  

注:最好是空的 原來的資料将被隐藏

一個挂載點同一時隻能挂載一個裝置

cd /etc/yum.repos.d/

mkdir repos.bak

mv *.repo repos.bak

vim local.repo

[local] 倉庫類别

name=local 倉庫名稱

baseurl=file:///mnt     指定URL 通路路徑為CD光牒挂載目錄

enabled=1 開啟此yum源,此為預設項,可省略

gpgcheck=0 不驗證軟體包的簽名

yum clean all && yum makecache 删除yum緩存并更新

rpm -ivh /mnt/Packages/httpd

rum install httpd -y

Systemctl start httpd

lsof -i:80

systemctl stop fivrwalld 關閉防火牆

vim /etc/sysconfig/selinux

yum常用的操作指令:

yum -y install 軟體名

安裝、更新軟體包,“-y”選項表示自動确認

yum -y remove 軟體名

解除安裝軟體包,可自動解決其依賴關系

yum -y update 軟體名

更新軟體包

查詢指令

yum list

查詢軟體包清單

yum list installed

查詢系統中已安裝的軟體包

yum list available

查詢倉庫中尚未安裝的軟體包

yum list updates

查詢可以更新版本的軟體包

yum info 軟體名

yum info httpd

查詢軟體包的描述資訊

yum search [all] 關鍵詞

yum search all httpd

根據某個關鍵詞來查找相關的軟體包

yum whatprovides 指令

yum whatprovides netstat

查詢指令屬于哪個軟體包

 yum install 包名 -y --downloadonly --downloaddir=/tmp/   #下載下傳RPM包到指定目錄

四.源代碼編譯概述

 使用源代碼安裝軟體的優點

   獲得最新的軟體版本,及時修複bug

   根據使用者需要,靈活定制軟體功能

應用場合舉例

  安裝較新版本的應用程式時

  目前安裝的程式無法滿足需要時

  需要為應用程式添加新的功能時

源代碼編譯概述

  Tarball封包

      .tar.gz和.tar.bz2格式居多

      軟體素材參考:http://sourceforge.net

  完整性校驗

      Md5sum校驗工具

      [root@localhost home]# md5sum httpd-2.4.29.tar.bz2

0c599404ef6b69eee95bcd9fcd094407  httpd-2.4.29.tar.bz2

确認源代碼編譯環境

      需安裝支援C/C++程式語言的編譯器,

      如:gcc  gcc-c++  make  ......

編譯安裝過程

安裝及管理程式

Tar解包

習慣上将軟體包釋放到/usr/src/目錄

解包後的源代碼檔案位置

  /usr/src/軟體名-版本号/

示例:

[root@localhost~]# tar zxf httpd-2.4.25.tar.gz-C /usr/src/

解壓源代碼包,并指定釋放目錄

Make編譯與安裝

編譯:執行make指令

安裝:執行make install 指令

示例:[root@localhost httpd-2.4.25]#make

      [root@localhost httpd-2.4.25]#make install

測試.應用.維護軟體

使用前:[root@localhost httpd-2.4.25]#vim /usr/local/apache/conf/httpd.conf

啟動Apache:

[root@localhost httpd-2.4.25]# /usr/local/apache/bin/apachectl start

運作lynx127.0.0.1 檢視本機Apache運作狀态

典型應用程式的指令結構

常見的軟體包封裝類型

使用rpm指令查詢RPM軟體資訊的常用選項

使用rpm指令安裝.更新.解除安裝RPM軟體包的常用選項

軟體包的封裝類型

RPM軟體包管理工具

源代碼編譯安裝基本過程