yum命令用法及源碼的編譯

 一:yum

何為yum?

yum是rpm的前端程序,可解決軟件包相關依賴性,可在多個庫之間定位軟件包,是up2date 的替代工具。

1.命令格式:
    yum [options] [command] [package …]
2.yum客戶端配置文件:
公共配置文件:/etc/yum.conf    為所有倉庫提供公共配置

指定倉庫配置文件,格式如下:/etc/yum.repos.d/*.repo  

 [repoid]
 name=
 baseurl=ftp://   
         http://
         file://  

3.command的分類及具體用法:
1)顯示倉庫列表(所有all、已激活enabled、未激活disabled)和程序包(已安裝installed、可安裝available、可更新updates)
   顯示倉庫列表:
    yum repolist [all|enabled|disabled]  
   顯示程序包:
   yum list(默認為all)
   yum list [all | glob_exp1] [glob_exp2] […]
   yum list {available|installed|updates} [glob_exp1]
2)安裝程序包
    install 包名 1 包名2………….

    reinstall 包名 1 包名2 ……….

    localinstall  包名 1 包名2……….    本地安裝,指定rpm包,其所依賴的包用yum的repo來裝

   >>>yum命令用法及源碼的編譯常見用法

   安裝程序包時常常搭配下列幾個選項使用

        –nogpgcheck 當次安裝時不檢測gpgkey
        -y 自動回答”yes” (常用于腳本中屏蔽交互)
        -q 靜默模式,什么也不顯示
        注意:同時使用-y -q時,不能使用-yq 或-qy,正確格式為 -y -q或 -q -y
3)升級程序包
    update 包1 包2……………..
    localupdate rpmfile1 rpmfile2……..  升級本地程序包(一般用update替代)
    downgrade package1 [package2] […] (降級)
    check-update   檢查可用升級
4)卸載程序包
    remove|erase 包名
5)查看程序包信息
    info […..]    
6)查看某文件由哪個程序包所提供(能夠顯示相關文件詳細信息,包括所屬包,倉庫,簡介)
    provides|whatprovides  filename/command     (”文件名” 支持通配符)
7)本地緩存
     yum clean [ packages | metadata | expire-cache | rpmdb | plugins | all ]  清除緩存

    makecache   構建緩存

    常見用法:創建倉庫后,要先清理本地緩存,再顯示倉庫列表

8)搜索(常在排錯中使用)
    search string1 string2………
    deplist  包名    查看指定包所依賴的功能
9)查看yum事務歷史及日志
        history [info|list|packages-list|packages-info| summary|addon-info|redo(翻反撤銷)|undo(撤銷)| rollback(回滾)|new|sync|stats]
        yum history info [number]      查看指定編號具體信息
        yum history undo [number]    撤銷操作
日志:/var/log/yum.log(同時配合多窗口和tial -f 可實現日志監控)
10)包組管理
        grouplist    查看所有包組
        groupinfo group1 group2……….  
        groupinstall  group1 group2……….
        groupremove group1 group2……….    只刪除包組中的包,不刪除依賴包,可以用yum history undo 操作數字來刪除包含依賴包。
        groupupdate  group1 group2……….   更新包組中的包
    –disablerepo=repoidglob
    –enablerepo=repoidglob
    createrepo /app/magedudvd  在/app/magedudvd/下創建 repodata 從而將指定目錄創建為repo倉庫。
4.options:
–nogpgcheck:禁止進行gpg check
-y: 自動回答為“yes”
-q:靜默模式
–disablerepo=repoidglob:臨時禁用此處指定的repo
–enablerepo=repoidglob:臨時啟用此處指定的repo

–noplugins:禁用所有插件

二:源碼編譯(httpd)

步驟一、下載httpd最新版本的源碼包并解包

[root@centos6 ~]# rpm -qi httpd
[root@centos6 ~]# tar -xvf httpd-2.2.34.tar.bz2

 步驟二、安裝包組Development tools(第一次編譯會缺少gcc等必要的包,可以用此包組來安裝這些必要的包)

[root@centos6 httpd-2.2.34]# yum groupinstall Development tools -y

步驟三、第一次編譯源碼,難免會對編譯步驟有些生疏,這時可以通過查看源碼包下的INSTALL(可以顯示快速安裝步驟,如圖1)、README(功能介紹等)來熟悉安裝步驟和相關信息:

yum命令用法及源碼的編譯 圖1

步驟四、  ./configure 

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

注意:第一次編譯可能會出現錯誤,解決方法為:

按照錯誤提示,用yum search string來查找所需包的名字并安裝直到./configure能夠正常安裝,萬事開頭難,要學會耐心排錯偶O(∩_∩)O~~

如圖2,我們剛開始就遇見了缺少apr包這個問題,需要安裝apr-devel

[root@localhost httpd-2.4.27]# ./configure --prefix=/app/apache24 --sysconfdir=/etc/apache24 --enable-rewrite
[root@localhost httpd-2.4.27]# yum search apr
[root@localhost httpd-2.4.27]# yum install apr-devel     #安裝apr-devel就代表同時安裝了它的所有版本

yum命令用法及源碼的編譯 圖2

技術要點:./configureh 通過 ./configure -h 可獲取幫助信息,包括httpd生成文件默認目錄的設置或其他設置所需選項,以下為./configure 幾個常用選項:

  •      –prefix=DIR  設置安裝路徑(程序家目錄,配置文件、二進制文件等常見文件都在此目錄下)(系統默認為/usr/local/apache2
  •      –sysconfdir=DIR   設置配置文件安裝路徑(系統默認為/usr/local/apache2/etc
  •     –bindir=DIR  設置程序二進制文件安裝路徑(系統默認路徑為/usr/local/apache2/bin

步驟五:根據makefile文件,構建應用程序復制文件到相應路徑 

[root@localhost httpd-2.4.27]# make&&make install

步驟六、啟動服務

[root@centos6 httpd-2.2.34]# /app/apache22/bin/apachectl start

注:第一次安裝并開啟httpd服務后一般會出現以下兩種錯誤>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

錯誤一:如圖3錯誤,要求將ServerName設為全局變量,這時我們需要進入配置文件將這行取消注釋,如圖4

yum命令用法及源碼的編譯  圖3

[root@centos6 httpd-2.2.34]# vim /etc/apache22/httpd.conf

 yum命令用法及源碼的編譯圖4

錯誤二:如圖五,80端口被占用,說明下同原有httpd服務已開,占用此端口,這時需要先關閉系統的httpd服務,再打開新安裝的httpd服務

yum命令用法及源碼的編譯 圖五

此步驟完成后,我們可以可以在瀏覽器輸入本機ip地址來測試是否能夠顯示主頁信息,如出現網頁一直加載的情況,就有可能是防火墻在搗鬼啦

步驟七:關閉防火墻

 CentOS7:
    systemctl is-active firewalld.service    查看當前是否開啟
    systemctl stop firewalld.service        當前關閉
    systemctl is-enabled firewalld.service    查看系統啟動時是否開啟
    systemctl disable firewalld.service     關閉系統啟動時開啟
CentOS6
    service iptables stop
查看防火墻
    iptables -vnL
查看網絡監聽情況(看80端口是否開啟)
    netstat -ntl

步驟八、最后測試

打開瀏覽器—>輸入本機ip號—>很開心,測試成功~~~~~

yum命令用法及源碼的編譯















































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

(0)
yunyunyuyunyunyu
上一篇 2017-08-19
下一篇 2017-08-19

相關推薦

  • 第10天:程序包,腳本,sed

    http://note.youdao.com/yws/public/redirect/share?id=b9432a76ff1180b42e01f6eb7c9fc90e&type=false

    Linux干貨 2016-08-18
  • Find命令以及解壓與壓縮文件的相關指令

    1,find   實時查找,通過遍歷指定路徑完成文件的查找 查找路徑:指定具體目標路徑,默認為當前目錄 查找條件:指定的查找標準,可以文件名,大小,類型,權限等標準進行,默認為找出指定路徑下的所有文件 處理動作:對符合條件的文件做操作,默認輸出至屏幕 find -maxdepth level  最大搜索目錄深度 -mindept…

    2017-08-12
  • LINUX-echo命令

    echo命令:回顯         語法:echo [-neE][字符串]     說明:echo會將輸入的字符串送往標準輸出。輸出的字符串間         以空白字符隔開,并在最后加上換行號。   &nbs…

    Linux干貨 2017-05-22
  • 第四周作業

    作業 1、復制/etc/skel目錄為/home/tuser1,要求/home/tuser1及其內部文件的屬組和其它用戶均沒有任何訪問權限。 [root@cloud ~]# cp -R /etc/skel /home/tuser1 && chmod -R…

    Linux干貨 2016-12-25
  • N22-第三周作業

    1、列出當前系統上所有已經登錄的用戶的用戶名,注意:同一個用戶登錄多次,則只顯示一次即可。 # who|cut -d' ' -f1|sort|uniq # root 2、取出最后登錄到當前系統的用戶的相關信息。 # last|head -n 1 # …

    Linux干貨 2016-08-29
  • linux初期了解

    計算機的組成及其功能 計算機有運算器,控制器,存儲器,輸出設備和輸入設備組成: 1.運算器:運算器又稱算術邏輯單元(Arithmetic Logic Unit簡稱ALU)。它是計算機對數據進行加工處理的部件,包括算術運算2.控制器:控制器負責從存儲器中取出指令,并對指令進行譯碼 3.存儲器:存儲器是計算機記憶或暫存數據的部件。 4.輸入設備:輸入設備是給計算…

    Linux干貨 2016-10-30
欧美性久久久久