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 19:54
下一篇 2017-08-19 20:39

相關推薦

  • 20160802課堂練習題

    練習: 1、  當用戶xiaoming對/testdir 目錄無執行權限時,意味著無法做哪些操作? 無法cd進入該目錄,但可以ls查看到該目錄下的文件,其余的任何操作都執行不了。 2、  當用戶xiaoqiang對/testdir 目錄無讀權限時,意味著無法做哪些操作? 能夠進入該目錄,不能讀取到信息;但如果知道有哪些文件及目錄是可以創建…

    Linux干貨 2016-08-04
  • 網絡班27期第五周作業

    N27_網絡班 第五周作業 1、 顯示當前系統上root、fedora或user1用戶的默認shell [root@localhost ~]# grep -E ‘^(root|fedora|user1)’ /etc/passwd | cut -d: -f1,7 2、 找出/etc/rc.d/init.d/function文件中某單詞后面跟一組小括號的行,形如…

    Linux干貨 2017-08-28
  • scp命令介紹

    scp是secure copy的簡寫,用于在Linux下進行遠程拷貝文件的命令,和它類似的命令有cp,不過cp只是在本機進行拷貝不能跨服務器,而且scp傳輸是加密的??赡軙晕⒂绊懸幌滤俣取.斈惴掌饔脖P變為只讀 read only system時,用scp可以幫你把文件移出來。另外,scp還非常不占資源,不會提高多少…

    Linux干貨 2017-07-24
  • find命令、歸檔壓縮工具、xargs、exec、tar、xz、cpio

    find命令、歸檔壓縮工具、xargs、exec、tar、xz、cpio find命令 Linux中的文件查找工具常見的有locate和find以及whereis.他們適用于不同的場合,如whereis只能用于搜索程序的二進制文件、源代碼文件和man手冊等相關文件,find和local能夠查找磁盤上的所有文件(不包括proc和sys目錄下的虛擬文件)。fin…

    Linux干貨 2016-08-18
  • 馬哥教育網絡班19期第二周課程練習

    1、Linux上的文件管理類命令都有哪些,其常用的使用方法及其相關示例演示。 cd:切換目錄命令實例  cd [dirctory] 切換目錄  cd .. 返回上一級目錄  cd –  來回切換  cd ~  切換到家目…

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