跟阿銘學Linux第九章,安裝rpm包或源碼包

rpm

-qa 查詢系統所有的已安裝的rpm包;q(query)

qi 已安裝包的相關信息,參數不用加平臺信息和後綴名,不能用tab鍵補全;

ql 列出一個rpm包的安裝文件;(如果要查找一個文件來自於哪個包,就可以用qa查到已安裝的包,再用ql列出這些包的所有安裝文件,再把要查找的文件過濾出來。)

qf 列出某個文件屬於哪個rpm包,後面跟文件的絕對路徑(上面括號裏也是做這個工作的,這個更方便.....)

v 可視化,h顯示進度

i 安裝,e卸載,U升級;

yum

yum list 聯網查詢d所有可用的rpm包(rpm -qa是列出所有已安裝的);左側是包名,中間是版本信息,右側是安裝信息(base,update.....),這個命令並沒有先列出已安裝的包,再列出可以安裝的包。

yum search 搜索;install remove 安裝和卸載;update 更新;

用yum下載rpm包:

yum install $packageName --downloadonly --dpwnloaddir=$dir,

如果包已經在系統上安裝過,還不能下載。

需要用reinstall ,yum reinstall vim bash --downloadonly --downloaddir=/usr/local/src/

去掉bash也能安裝成功,書上的命令有bash。對於系統上沒有安裝的包,用reinstall會出錯,所以下載包的時候不能全用reunstall。

源碼安裝httpd,

https://blog.csdn.net/luckily01/article/details/25572769

安裝httpd需要安裝其它的好多包,比如:apr,apr-util,pcre,expat-devel
,g++。如果有些依賴實在沒辦法用源碼安裝,那就用yum安裝吧。

如果pcre的一直安裝不成功,可以試試其它版本。

補充:systemctl命令會去/etc/init.d目錄下,查看,執行相關程序,要想用systemctl控制httpd,還要寫一個文件放到目錄中。

參考:https://blog.51cto.com/12173069/2067565

課後習題:

  1. qa 查詢系統所有的已安裝的rpm包;q(query)

    qi 已安裝包的相關信息,參數不用加平臺信息和後綴名,不能用tab鍵補全;

    ql 列出一個rpm包的安裝文件;

    qf 列出某個文件屬於哪個rpm包,後面跟文件的絕對路徑(上面括號裏也是做這個工作的,這個更方便.....)

  2. 會提示:package tree is not installed

  3. 用which vim 查看vim的執行文件的絕對路徑,再用rpm -qf /user/bin/vim 得到包名。
    簡單寫法:rpm -qf `which vim`

  4. 安裝i,卸載e。

    安裝:rpm -i 包名 或 rpm --install 包名

    卸載:rpm -e 包名 或 rpm --erase 包名

  5. 用 --nodeps  
      --nodeps                         do not verify package dependencies

  6. 用參數U來升級包     -U, --upgrade=<packagefile>+     upgrade package(s)

  7. yum search tidy     yum install -y php-tidy       yum remove tidy

  8. yum install $packageName --downloadonly --dpwnloaddir=$dir,對於已經安裝的包,用reinstall。

  9. 依賴太多........

  10. upgrade 與附帶 --obsoletes 的選項時的 update 是一樣的,默認情況下沒有區別,而使用 update 則更爲靈活。

  11. rpm -qa |packageName 查看packageName是否已經安裝過。yum list installed | grep 包名 或者 rpm -qa | grep 包名都可以,我用vim測試發現兩個命令找到的包一樣。

  12. 用 echo $?。

    當一個進程執行完畢時,該進程會調用一個名爲 _exit 的例程來通知內核它已經做好“消亡”的準備了。該進程會提供一個退出碼(一個整數)表明它準備退出的原因。按照慣例,0用來表示正常的或者說“成功”的終止。

    也就是說我們在執行 echo $? 時反回的值就是進程的退出碼。而且,這個退出碼是由剛剛執行完的進程提供給系統內核的。

  13. 應該是環境變量出錯了,找不帶編譯器,可以用which gcc得到gcc的絕對路徑,再加上參數  
    --with-gcc=dir ,應該就可以了。

  14. ./configure --help|grep xxx,用--help,再根據自己記憶的部分,把完整的參數過濾出來。
    也可以看 INSTALL、README。

  15. 先掛載光盤,mount /dev/cdrom/mnt 刪除/etc/yum.repos.d目錄下的所有repo文件,rm -rf /etc/yum.repos.d/* ,再創建新文件dvd.repo ,把以下內容寫進去,
    [dvd]
    name=install dvd
    baseurl=file:///mnt
    enable=1
    gpgcheck=0
     再刷新repos生成緩存,yum makecache。

 

是習題

習題

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章