Linux軟件包管理(YUM)及編譯安裝

YUM

一、yum安裝使用:

1Yumrpm的前端程序,用來解決軟件包相關依賴性,可以在多個庫之間定位軟件包,up2date的替代工具

2yum repositoryyum repo,存儲了眾多rpm包,以及包的相關的元數據文件(放置于特定目錄repodata下)

3、yum客戶端配置文件:

/etc/yum.conf:為所有倉庫提供公共配置

/etc/yum.repos.d/*.repo:為倉庫的指向提供配置

倉庫指向的定義:

[repositoryID]

name=Some name for this repository

baseurl=url://path/to/repository/

enabled={1|0}

gpgcheck={1|0}

gpgkey=URL

enablegroups={1|0}

failovermethod={roundrobin|priority}

默認為:roundrobin,意為隨機挑選;

cost= 默認為1000

 blob.png

 配置好的文件后,做更新:

 blob.png

#yum clean all  清理本地緩存

#yum makecache  構建本地緩存

4、yum-config-manager的使用:

1yum-config-manager的安裝:

A、該命令在最小化安裝的系統上是沒有的,需要安裝yum-utils-1.1.31-34.el7.noarch.rpm這個RPM包,如果是光盤安裝,需要另外安裝兩個依賴包:python-chardet.noarch 0:2.2.1-1.el7_1 、python-kitchen.noarch 0:1.1.1-5.el7;也可以通過網絡安裝或者本地的YUM倉庫安裝,命令為:yum localinstall yum-utils-1.1.31-34.el7.noarch.rpm;

B、如果是yum安裝,直接執行# yum install yum-utils -y

   2yum-config-manager的選項使用:

    yum-config-manager –add-repo=“倉庫路徑” 添加倉庫

    yum-config-manager –disable “倉庫名"      禁用倉庫

    yum-config-manager –enable  “倉庫名”     啟用倉庫

5、yum的命令使用:

  1 #yum repolist (顯示倉庫列表)

   blob.png

  2#yum list (顯示倉庫的所有程序包)或者yum list all (顯示倉庫的所有程序包和系統已安裝的程序包)

  3 #yum install (程序安裝);yum reinstall(程序重新安裝)

  4#yum update (程序升級);yum downgrade (程序降級)

  5#yum check-update (檢查可升級)

  6#yum remove (卸載程序)

  7#yum info (查看程序的詳細信息)

   blob.png

  8#yum provides (查看程序包由哪些程序提供)

   blob.png

  9#yum search (搜索程序包名,屬于模糊搜索)

  blob.png

  10#yum replist (查看程序的依賴程序)

  blob.png

  11#yum history (查看yum安裝的歷史)

      到日志文件查看:

  blob.png

     使用命令yum history查看:

  blob.png

  12#yum history info 6

  blob.png

  13#yum history undo 7  (相當于把歷史文件里面的卸載步驟給取消,即為安裝。)

  blob.png

  blob.png

 blob.png

   yum的命令行選項:只能單一次安裝,不能夠同時啟動多個安裝命令

–nogpgcheck:禁止進行gpgcheck

-y: 自動回答為“yes

-q:靜默模式

–disablerepo=repoidglob:臨時禁用此處指定的repo

–enablerepo=repoidglob:臨時啟用此處指定的repo

–noplugins:禁用所有插件

二、本地包和包組的使用:

    1、安裝及升級本地程序包:

yum localinstall rpmfile1 [rpmfile2] […]

(install替代)

yum localupdate rpmfile1 [rpmfile2] […]

(update替代)

   2、包組管理的相關命令:

yum groupinstall group1 [group2] […]  安裝包組

yum groupupdate group1 [group2] […] 升級包組

yum grouplist [hidden] [groupwildcard] […] 查看包組情況(含安裝與未安裝)[hidden]為查看隱藏包組

yum groupremove group1 [group2] […]  刪除包組

yum groupinfo group1 […]   包組信息頁內容查看

三、如何使用本地光盤作為YUM倉庫:

1、光盤掛載:

   #mount /dev/cdroom /mnt/cdrom  (手動掛載,機器重啟就丟失)

   Centos6autofs自動掛載:/misc/cd  (訪問即刻掛載上去)

2、創建本地配置文件:

   [cdrom]

baseurl=file:///mnt/cdrom(此處,建議優先使用這路徑:baseurl=file:///misc/cd

gpgcheck=0

3yumrepo配置文件中可用的變量:

$releasever: 當前OS的發行版的主版本號

$arch: 平臺,i386,i486,i586,x86_64

$basearch:基礎平臺;i386

$YUM0-$YUM9:自定義變量

4、創建yum倉庫:

createrepo [options] <directory>

 

 

 

程序包編譯

一、程序包編譯安裝:

1Application-VERSION-release.src.rpm–> 安裝后,使用rpmbuild命令制作成二進制格式的rpm包,而后再安裝

2)源代碼–>預處理–>編譯–>匯編–>鏈接–>執行

?源代碼組織格式:

多文件:文件中的代碼之間,很可能存在跨文件依賴關系

C、C++make (項目管理器,configure –>

Makefile.in –> makefile)

c/c++編譯器: gcc

java: maven    

3 開發工具:

      編譯C源代碼:

準備:提供開發工具及開發環境

開發工具:make, gcc

開發環境:開發庫,頭文件

glibc:標準庫

  實現:通過“包組”提供開發組件

CentOS 6:

Development Tools

Server Platform Development

CentOS 7:

Development Tools

Development and Creative Workstation

4)安裝步驟:(以下三個步驟必須在解壓的源碼目錄下執行)

第一步:configure腳本

選項:指定安裝位置、指定啟用的特性   –help: 獲取其支持使用的選項

選項分類:

安裝路徑設定:

–prefix=/PATH: 指定默認安裝位置,默認為/usr/local/

–sysconfdir=/PATH:配置文件安裝位置

System types:支持交叉編譯

Optional Features: 可選特性

–disable-FEATURE

–enable-FEATURE[=ARG]

       Optional Packages: 可選包,

–with-PACKAGE[=ARG],依賴包

–without-PACKAGE,禁用依賴關系

    通過選項傳遞參數,指定啟用特性、安裝路徑等;執行時會參考用戶的指定以及makefile.in文件生成makefile

   autoconf: 生成configure腳本

   automake:生成Makefile.in

  注意:安裝前查看INSTALL,README

第二步:make   根據makefile文件,構建應用程序

 第三步:make install   復制文件到相應路徑

5)安裝后的配置:

A、 二進制程序目錄導入至PATH環境變量中;

編輯文件/etc/profile.d/NAME.sh

export PATH=/PATH/TO/BIN:$PATH

B、 導入庫文件路徑

編輯/etc/ld.so.conf.d/NAME.conf

添加新的庫文件所在目錄至此文件中

讓系統重新生成緩存:ldconfig[-v]

C 導入頭文件

基于鏈接的方式實現:ln -sv

  D、 導入幫助手冊

編輯/etc/man.config|man_db.conf文件

添加一個MANPATH

 

編譯安裝事例:

1、  yum的配置和使用;包括yum repository的創建

blob.png

2、  編譯安裝apache 2.2源碼包,并啟動此服務(下面以安裝http為例)

安裝前的開發工具包組安裝:

blob.png

 1)先從本地ftp服務器上下載源碼包,如下圖。

 blob.png

 (2)使用命令#tar xvf httpd-2.2.29.tar.bz2,如下圖:

 blob.png

 (3)解壓完成后,進入源碼解壓目錄下:

 blob.png

 (4)執行前,先ls看看/usr/local目錄下是否存在同名的目錄;執行命令# ./configure –prefix=/usr/local/httpd –sysconfdir=/etc/httpd,指定了安裝的目錄和配置文件存放目錄

 blob.png

 blob.png

 5)生成了Makefile文件,并沒有報錯,這說明前面的步驟正確,如下圖:

 blob.png

 (6)至此,可以開始編譯;#make #make install 可以分開執行。在這,就一起執行。

 blob.png

 (7)完美編譯安裝完成:

 blob.png

 blob.png

 (8)安裝后的配置管理部署:

  A、配置環境變量:

 blob.png

 blob.png

  B、庫文件的配置:

 blob.png

 blob.png

  C、include頭文件的配置:

   #cd /usr/include

   #ln -s /usr/local/httpd/include httpd

 blob.png

  Dman幫助文件的配置:

 blob.png

 

 http啟動、重啟、停止測試:

 blob.png

 

 

 

原創文章,作者:Aaron_wang,如若轉載,請注明出處:http://www.www58058.com/40189

(1)
Aaron_wangAaron_wang
上一篇 2016-08-26 09:11
下一篇 2016-08-26 09:11

相關推薦

  • 第三周小練習

    1. 列出當前系統上所有已經登陸的用戶的用戶名,注意,同一個用戶登陸多次,則顯示一次即可 who -u|grep -o "^[[:alnum:]]*\>"|uniq 2. 取出最后登陸到當前系統的用戶信息 who|tail -n1 3. 取出當前系統上被用戶當作其默認shell的最多的那個sh…

    Linux干貨 2016-11-21
  • 【N25第六周作業】VIM、crontab、簡單腳本

    請詳細總結vim編輯器的使用并完成以下練習題 第二周有寫過vim的用法,請查看連接: 周期性任務計劃:cron 服務程序: cronie:主程序包,提供了crond守護進程及相關輔助工具; 確保crond守護進程(daemon)處于運行狀態: CentOS 7: systemctl  status  cron…

    Linux干貨 2016-12-27
  • Linux網絡屬性管理

    Linux網絡屬性管理 linux的網絡配置方法有多種,而且隨發行版及版本而略微不同。我目前的測試環境為CentOS6和CentOS7。 常用的網絡配置命令或方法有:ifconfig,route,netstat,ip,ss,nmcli,配置文件。 首先:命令方法介紹 一、命令簡介 ifconfig:是個比較傳統的命令,可以配置網絡接口的啟用及關閉,IP地址等…

    系統運維 2016-05-29
  • N25 第二周作業

    一.Linux上常用的文件管理類命令及用法示例     1.cp復制命令,具體有兩個,一為單源復制,一種為多源復制。      常用選項         -i :交互式復制,覆蓋之前提醒用戶確認。       …

    Linux干貨 2016-12-12
  • M20 – 1- 第三周博客(2):Linux用戶、組

    一、Linux用戶組詳解 Linux系統中的每個用戶都有一個用戶組,系統能對一個用戶組中的所有用戶進行集中管理。不同Linux系統對用戶組的規定有所不同,如Linux下的用戶屬于和他同名的用戶組,這個用戶組在創建用戶時同時創建。用戶組的管理涉及用戶組的添加、刪除和修改。組的增加、刪除和修改實際上就對/etc/group文件的更新。 用戶組(group)就是具…

    Linux干貨 2016-08-05
  • 系統進程管理

    ps 查看系統進程命令 啟動進程的方式:     系統啟動過程中自動啟動:與終端無關的進程;     用戶通過終端啟動:與終端相關的進程; 選項:         a:所有與終端相關的進程; &nbs…

    Linux干貨 2016-09-06
欧美性久久久久