(1)CentOS7 yum dnf yum repository: yum repo 存儲了眾多rpm包,以及包的相關的元數據文件(放置于特定目錄下,repodata) 文件服務器: ftp:// http:// nfs:// file:/// (2)yum客戶端: 配置文件: /etc/yum.conf(主配置文件):為所有倉庫提供公共配置 主配置文件只提供各yum指向的公共配置 /etc/yum.repos.d/*.repo :為倉庫的指向提供配置 [main]:倉庫名稱(倉庫ID) cachedir:yum的緩存目錄 keepcache:緩存的文件要不要保留在本地 debuglevel:調試級別 logfile:安裝日志文件的指向 exactarch:要不要做嚴格的平臺匹配 obsoletes: gpgcheck:要不要檢查來源合法性和包完整性 plugins:yum支不支持插件機制 installonly_limit:最多同時安裝幾個機制 bugtracker_url:追蹤bug時的url distroverpkg:發行版 倉庫的定義: [repositoryid] name=Some name for this repository baseurl=url://path/to/repository/(等號左右不要有空格,否則可能有語法錯誤) 可以后面跟多個url,查詢的時候就先從第一個找,然后第二個找以此類推,直至找到我們要安裝的軟件 enabled=(1|0)是否啟用該yum源 gpgcheck={1|0}是否檢查完整性和來源合法性 gpgkey=URL 當gpgcheck=1時,需要添加密鑰文件的訪問路徑 enablegroup={1|0}是否支持在此倉庫上使用組來批量管理程序包 failovermethod={roundrobin|priority}:當baseurl有多個url時,當默認的url無法使用時,默認使用哪個url。 默認為:roundrobin roundrobin隨機的選取一個,當url還是失敗的時候繼續隨機去選擇url; priority當url失敗的時候,順序執行url的次序 有些服務器不支持匿名訪問需要指明登錄名和登錄密碼:username和password cost=1000 默認為1000,開銷數字 (3)yum命令的具體的使用說明: 顯示倉庫列表: repolist [all|enabled|disabled] 默認顯示的是enabled的 顯示程序包: list yum list [all | glob_exp1] [glob_exp2] [...] yum list {available|installed|updates} [glob_exp1][...] 安裝程序包: yum install package1 [package2] [...] yum reinstall package1 [package2] [...] (重新安裝) 升級程序包: yum update [package1] [package2] [...] 降級程序包: yum downgrade package1 [package2] [...] 檢查可用升級: yum check-update 卸載程序包: yum remove | erase package1 [package2] [...] 查看程序包information: yum info [...] 查看指定的特性( 可以是某文件) 是由哪個程序包所提供: yum provides | whatprovides feature1 [feature2] [...] 清理本地緩存: yum clean [packages|metadata|expire-cache|rpmdb|plugins|all] 構建緩存: yum makecache 搜索:search string1 [string2] [...] 以指定的關鍵字搜索程序包名及summary 信息 查看指定包所依賴的capabilities: yum deplist package1 [package2] [...] 查看yum事務歷史: yum history [info|list|packages-list|packages-info|summary|addon-info|redo|undo|rollback|new|sync|stats] yum history yum history info 6 yum history undo 6 日志文件:/var/log/yum.log 安裝及升級本地程序包: yum localinstall rpmfile1 [rpmfile2] [...](用install替代) yum localupdate rpmfile1 [rpmfile2] [...](用update替代) 包組管理的相關命令: groupinstall group1 [group2] [...] groupupdate group1 [group2] [...] grouplist [hidden] [groupwildcard] [...] groupremove group1 [group2] [...] groupinfo group1 [...] (4)使用光盤當做本地的yum倉庫 a.掛載網盤至某目錄,例如/media/cdrom mount /dev/cdrom /media/cdrom b.創建配置文件 [CentOS7] name=xxx baseurl=file:///media/cdrom gpgcheck=0 enabled=1 (5)yum的命令行選項: --nogpgcheck:禁止進行gpg check -y:自動回答為"yes",即自動安裝所要安裝的軟件 -q:使用靜默模式:不往屏幕輸出任何東西 --disablerepo=repoidglob:臨時禁用此處指定的repo --enablerepo=repoidglob:臨時啟用指定的repo --noplugins:禁用所有插件 (6)yum的repo配置文件中可用的變量: $releasever:當前OS的發行版的主版本號 $arch:當前的平臺 $basearch:基礎平臺,無論是i386 i686 i786 的基礎平臺都是i386 $YUM0-$YUM9:yum的內置變量,在系統中用處不多 (7)創建yum倉庫 yum install createrepo:安裝createrepo軟件包,用于手動創建本地yum倉庫 createrepo [options] <directory> createrepo ./ 在當前目錄下創建repodata目錄,createrepo會自動讀取該目錄下所有.rpm結尾的安裝包 --basedir /path/to/somefile:指定createrepo生成的repodata目錄存放的位置 (8)程序包編譯安裝: testapp--VERSION-release.src.rpm -->安裝后,使用rpmbuild命令制作成二進制格式的rpm包,而后再安裝 src:沒有指定要適合那類平臺 i386(等32位系統),x86_64(等64位系統),ppc等系統的安裝 源代碼組織格式: 多文件:文件中的代碼之間,可能存在跨文件依賴關系 C,C++:make (configure --> Makefile.in --> makefile) 編譯安裝三步驟: ./configure a.通過選項傳遞參數,指定啟用特性,安裝路徑等;執行時會參考用戶的指定以及Makefile.in文件生成makefile; b.檢查各指定特性等依賴到的外部環境 make:根據makefile文件構建應用程序; make install 開發工具: autoconf:生成configure腳本 automake:生成Makefile.in 建議:安裝前查看INSTALL,README 開源程序源代碼的獲?。? 官方自建站點: apache.org(ASF) mariadb.org 代碼托管: SourceForge Github.com code.google.com 編譯C源代碼: 前提:提供開發工具以及開發環境 開發工具:make gcc等 開發環境:開發庫,頭文件 glibc:標準庫 通過"包組"提供開發組件: CentOS6:"Development Tools","Server Platform Development" 解壓進入我們要編輯的源碼包中: 第一步:configure腳本 選項:指定安裝位置,指定啟用的特性 ./configure --help:獲取其支持使用的選項 選項分類: 安裝路徑設定: --prefix=/PATH/TO/SOMEFILE:指定默認安裝位置 默認安裝位置為/usr/local/ --sysconfdir=/PATH/TO/SOMEFILE:配置文件安裝位置 System types:目標系統平臺結構 Optional Features:可選特性 --disable-FEATURE :編譯時默認將程序包的開啟禁用 --enable-FEATURE[=ARG]:編譯程序包時默認會開啟一些可選的特性 Optional Packages:可選包 --with-PACKAGE[=ARG]:定義包與包之間的依賴關系 --without-PACKAGE :取消定義包與包之間的依賴關系 ./configure --prefix=/usr/local/apache2 --sysconfdir=/etc/httpd2 指明默認安裝的位置和配置文件放置的位置,編譯安裝是屬于自己安裝,使用rpm也無法卸載編譯安裝的文件, 要想刪除自己編譯安裝的文件,只需將編譯安裝的位置和配置文件安裝的位置的目錄刪除即可 第二步:make 第三步:make install 安裝后的配置: (1)導出二進制程序目錄至PATH環境變量中 編譯文件 /etc/profile.d/NAME.sh export PATH=/PATH/TO/BIN:$PATH 接著讓系統重新讀取配置文件,或者重新登錄一下shell進程 (2)導出庫文件路徑 編輯 /etc/ld.so.conf.d/NAME.conf /usr/local/apache2/lib 添加新的庫文件所在目錄至此文件中; 讓系統重新生成緩存 ldconfig (3)導出頭文件 將安裝后的/usr/local/apache2/下的include的文件,鏈接至 /usr/include目錄中 ln -sv /usr/local/apache2/include/* /usr/include/* 基于符號鏈接的方式實現 (4)導出幫助手冊 編輯 /etc/man.config 文件 添加一個 MANPATH /usr/local/apache2/man
原創文章,作者:sjsir,如若轉載,請注明出處:http://www.www58058.com/38977