日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

Linux软件包管理的知识点,Linux基础知识之软件包管理(二)

發布時間:2023/12/15 linux 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Linux软件包管理的知识点,Linux基础知识之软件包管理(二) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

(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]?[...]

清理本地緩存:

yumclean?[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]?

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.178linux.com/38977

總結

以上是生活随笔為你收集整理的Linux软件包管理的知识点,Linux基础知识之软件包管理(二)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。