国产精品高清一区二区三区不卡-国产精品一区二区三区免费视频-日韩免费高清一级毛片-亚洲欧美一区二区三区国产精品-日韩欧美一区二区三区不卡视频-亚欧免费视频一区二区三区-亚洲欧美日韩一区成人-欧美日韩视频综合一区无弹窗-精品日韩在线视频一区二区三区-国内精品视频一区二区三区

你好,歡迎進(jìn)入江蘇優(yōu)軟數(shù)字科技有限公司官網(wǎng)!

誠信、勤奮、創(chuàng)新、卓越

友好定價、專業(yè)客服支持、正版軟件一站式服務(wù)提供

13262879759

工作日:9:00-22:00

包管理器到底管理了什么?

發(fā)布時間:2024-01-10

瀏覽次數(shù):0

搜索包

安裝包

更新包

包回滾

卸載一個包

垃圾收集器

測試包

尼克斯表達(dá)

總結(jié)

以前的文章

為什么需要包管理器

如果你讀過《程序員的自我修養(yǎng)》這本書,你一定知道軟件包的發(fā)展歷史。 現(xiàn)在的軟件包大多是動態(tài)鏈接的,并且存在依賴關(guān)系。因此,安裝軟件包也需要解決依賴問題。 依賴的軟件包還可能依賴于其他依賴項(xiàng),因此這是一個復(fù)雜的過程。

刪除軟件包時也是如此,被刪除的軟件包所依賴的軟件包也可能依賴于其他軟件包。 刪除軟件包及其依賴項(xiàng)也是一個復(fù)雜的過程。

因此,需要像包管理器這樣的程序來管理它。

傳統(tǒng)的包管理器

說到管理,表面上主要是增、刪、改、查,實(shí)際上是數(shù)據(jù)庫信息的管理。 除了dpkg忽略依賴之外,其他包管理工具在功能上都差不多。

這里我們以APT包管理工具為例

1)更新索引

#?更新索引
sudo?apt?update?

Index 從軟件服務(wù)器更新最新的包索引信息,以便后續(xù)搜索和

2)搜索軟件包

您可以根據(jù)軟件包名稱或功能描述關(guān)鍵字進(jìn)行搜索

sudo?apt?search?"web?scanner"

ios應(yīng)用包安裝_sublime text 2安裝包_小米萊卡相機(jī)包安裝

查看包裹信息

sudo?apt?show?nmap?

ios應(yīng)用包安裝_sublime text 2安裝包_小米萊卡相機(jī)包安裝

該命令可以顯示nmap軟件包的基本信息,如軟件包名稱、版本、依賴項(xiàng)、大小、描述等。

查看軟件源碼信息

sudo?apt?showsrc?nmap

小米萊卡相機(jī)包安裝_ios應(yīng)用包安裝_sublime text 2安裝包

3)安裝

與下載源代碼和編譯相比,APT 等工具將安裝簡化為幾條指令。

#?安裝?nmap?軟件包
sudo?apt?install?nmap

APT是如何實(shí)現(xiàn)這種封裝的呢?

首先我要知道去哪里下載,所以就有了更新源的概念。

該系列的系統(tǒng)更新源信息存儲位置為

/etc/apt/.list 是系統(tǒng)官方定義的軟件更新源

/etc/apt/.list.d/目錄存放第三方軟件的更新源

小米萊卡相機(jī)包安裝_ios應(yīng)用包安裝_sublime text 2安裝包

格式基本一樣

軟件包/軟件源碼?軟件包服務(wù)器地址?發(fā)行版本-軟件包分類?軟件包分類目錄
deb?http://mirrors.aliyun.com/ubuntu/?bionic-security?main?restricted?universe?multiverse

只下載deb包

sudo?apt?download?nmap?

小米萊卡相機(jī)包安裝_sublime text 2安裝包_ios應(yīng)用包安裝

至此,Nmap程序的deb包已經(jīng)下載到當(dāng)前目錄,稍后可以通過dpkg進(jìn)行安裝。

只下載軟件源碼

sudo?apt?source?nmap?

小米萊卡相機(jī)包安裝_ios應(yīng)用包安裝_sublime text 2安裝包

通過瀏覽器獲取deb包和源碼

以阿里云鏡像網(wǎng)站為例

小米萊卡相機(jī)包安裝_sublime text 2安裝包_ios應(yīng)用包安裝

sublime text 2安裝包_小米萊卡相機(jī)包安裝_ios應(yīng)用包安裝

以main為例

sublime text 2安裝包_小米萊卡相機(jī)包安裝_ios應(yīng)用包安裝

以nmap為例,選擇n開頭的

ios應(yīng)用包安裝_sublime text 2安裝包_小米萊卡相機(jī)包安裝

ios應(yīng)用包安裝_sublime text 2安裝包_小米萊卡相機(jī)包安裝

這樣就可以找到nmap的deb安裝包和源碼了。

通常下載包的地方

通過sudo apt 下載安裝的軟件包在哪里?

ios應(yīng)用包安裝_小米萊卡相機(jī)包安裝_sublime text 2安裝包

sublime text 2安裝包_ios應(yīng)用包安裝_小米萊卡相機(jī)包安裝

更新或安裝完成后,下載的軟件包會自動清除

軟件包安裝在哪里

我個人很關(guān)心這個問題,因?yàn)槟J(rèn)的Linux包管理器會將一個軟件包分解成許多文件并將它們放置在適當(dāng)?shù)奈恢?,例?/p>

但事實(shí)上,這件事不是由用戶決定的,甚至不是由系統(tǒng)決定的,而是由包的維護(hù)者決定的。

以這個程序?yàn)槔?/p>

首先使用apt正常安裝

小米萊卡相機(jī)包安裝_ios應(yīng)用包安裝_sublime text 2安裝包

安裝后使用dpkg -L查看包中各個文件的位置

現(xiàn)在我們使用apt purge卸載,然后嘗試通過下載deb包修改相關(guān)文件的位置然后打包安裝進(jìn)行比較。

下載deb包并解壓

ios應(yīng)用包安裝_小米萊卡相機(jī)包安裝_sublime text 2安裝包

查看包裝內(nèi)容

小米萊卡相機(jī)包安裝_ios應(yīng)用包安裝_sublime text 2安裝包

大家看到這里應(yīng)該就明白了。 事實(shí)上sublime text 2安裝包,包管理器將包的內(nèi)容復(fù)制到相關(guān)位置并解決依賴問題。

現(xiàn)在我們嘗試在文件夾中新建一個opt/-test目錄,放置可執(zhí)行文件,并刪除默認(rèn)的/usr/bin/

小米萊卡相機(jī)包安裝_sublime text 2安裝包_ios應(yīng)用包安裝

現(xiàn)在重新包裝

dpkg-deb?-b?extract?build/

小米萊卡相機(jī)包安裝_sublime text 2安裝包_ios應(yīng)用包安裝

安裝新的 deb 包

sudo?dpkg?-i?build/proxychains_3.1-7_all.deb

小米萊卡相機(jī)包安裝_sublime text 2安裝包_ios應(yīng)用包安裝

查看包相關(guān)文件

sudo?dpkg?-L?proxychains

ios應(yīng)用包安裝_小米萊卡相機(jī)包安裝_sublime text 2安裝包

測試函數(shù)是否能夠正確執(zhí)行

sublime text 2安裝包_小米萊卡相機(jī)包安裝_ios應(yīng)用包安裝

由于/opt/-test不在當(dāng)前環(huán)境變量中,所以無法直接執(zhí)行,APT也無法識別我們安裝了這個程序。

小米萊卡相機(jī)包安裝_ios應(yīng)用包安裝_sublime text 2安裝包

通過絕對路徑執(zhí)行可以成功。 現(xiàn)在讓我們配置/etc/.conf來測試該功能。

ios應(yīng)用包安裝_小米萊卡相機(jī)包安裝_sublime text 2安裝包

sublime text 2安裝包_小米萊卡相機(jī)包安裝_ios應(yīng)用包安裝

sublime text 2安裝包_ios應(yīng)用包安裝_小米萊卡相機(jī)包安裝

如果我們把配置文件的位置改為/tmp//.conf,程序還能正常執(zhí)行嗎?

卸載

sublime text 2安裝包_小米萊卡相機(jī)包安裝_ios應(yīng)用包安裝

重新解壓、修改、打包

小米萊卡相機(jī)包安裝_ios應(yīng)用包安裝_sublime text 2安裝包

小米萊卡相機(jī)包安裝_ios應(yīng)用包安裝_sublime text 2安裝包

小米萊卡相機(jī)包安裝_ios應(yīng)用包安裝_sublime text 2安裝包

小米萊卡相機(jī)包安裝_sublime text 2安裝包_ios應(yīng)用包安裝

結(jié)果打包的時候出現(xiàn)了錯誤。 這說明配置文件中記錄了一些元信息。

記錄配置文件位置的文件為 //

小米萊卡相機(jī)包安裝_sublime text 2安裝包_ios應(yīng)用包安裝

嘗試修改文件內(nèi)容為/tmp//.conf

成功打包安裝測試功能

ios應(yīng)用包安裝_小米萊卡相機(jī)包安裝_sublime text 2安裝包

小米萊卡相機(jī)包安裝_ios應(yīng)用包安裝_sublime text 2安裝包

sublime text 2安裝包_ios應(yīng)用包安裝_小米萊卡相機(jī)包安裝

經(jīng)過測試發(fā)現(xiàn),雖然安裝成功,但是在使用過程中,仍然發(fā)現(xiàn)/etc/.conf配置文件。

如何判斷文件屬于哪個包

dpkg?-S?xxxx

ios應(yīng)用包安裝_小米萊卡相機(jī)包安裝_sublime text 2安裝包

4)卸載

sudo?apt?remove?nmap

sudo?apt?purge?nmap

軟件程序和幫助文檔將被刪除,但配置文件不會被刪除。

ios應(yīng)用包安裝_sublime text 2安裝包_小米萊卡相機(jī)包安裝

sublime text 2安裝包_小米萊卡相機(jī)包安裝_ios應(yīng)用包安裝

purge 會刪除配置文件

sublime text 2安裝包_小米萊卡相機(jī)包安裝_ios應(yīng)用包安裝

但是,purge 和 purge 都不會刪除該軟件程序在用戶目錄中創(chuàng)建的配置文件。

以魚為例

sublime text 2安裝包_小米萊卡相機(jī)包安裝_ios應(yīng)用包安裝

~/.local/share/fish/ 是fish的配置文件夾。 現(xiàn)在我們嘗試分別使用 purge 和 purge 來卸載fish。

小米萊卡相機(jī)包安裝_sublime text 2安裝包_ios應(yīng)用包安裝

sublime text 2安裝包_ios應(yīng)用包安裝_小米萊卡相機(jī)包安裝

purge和purge都不能刪除軟件包在用戶目錄下創(chuàng)建的配置文件。

5) 清理空間

#?刪除下載過的所有軟件包的安裝包
sudo?apt?clean

#?刪除已經(jīng)過期的軟件包的安裝包
sudo?apt?autoclean

#?刪除未使用的依賴項(xiàng),主要是由軟件包卸載后,沒有其他軟件包依賴這些項(xiàng),于是處于未使用狀態(tài)
sudo?apt?autoremove

sublime text 2安裝包_小米萊卡相機(jī)包安裝_ios應(yīng)用包安裝

軟件在用戶目錄下留下的配置項(xiàng)不屬于這三者的清理范圍。

獨(dú)立包管理器

包管理也在不斷完善。 準(zhǔn)確的說,可能是探索。 APT、DNF等包管理器給部分用戶留下了依賴解決方案的不完美體驗(yàn),大家都開始創(chuàng)建新的依賴解決方案。

總體思路是封裝程序和一切,使得依賴不再共享,同一個依賴包可以包含不同的版本。

最重要的是,開發(fā)人員不再需要為各種包管理器打包并發(fā)布單獨(dú)的包,因此出現(xiàn)了以下具有代表性的獨(dú)立包管理器; 同時,通過對這些軟件包進(jìn)行虛擬化或者沙箱處理,在安全性方面更加可控

1) 捕捉

Snap是由開發(fā)公司,即開發(fā)商開發(fā)的。 開發(fā)snap的目的是創(chuàng)建一個跨平臺的解決方案,包括桌面、服務(wù)器、IoT,甚至手機(jī),同時兼顧安全性。

如今,snap包管理器基本上可以安裝在所有主流的Linux系統(tǒng)上。 過去,官方在推動snap上甚至做出了一些更為激進(jìn)的舉動和決定。

小米萊卡相機(jī)包安裝_ios應(yīng)用包安裝_sublime text 2安裝包

snap的用法與apt類似,只是軟件包格式為.snap,部分指令略有不同。

搜索程序

Snap目前只有官方來源,所以不需要配置來源。

sudo?snap?find?nmap

查看節(jié)目信息

sudo?snap?info?nmap

sublime text 2安裝包_小米萊卡相機(jī)包安裝_ios應(yīng)用包安裝

安裝人員

sudo?snap?install?nmap?

sublime text 2安裝包_小米萊卡相機(jī)包安裝_ios應(yīng)用包安裝

更新程序

sudo?snap?refresh?nmap

小米萊卡相機(jī)包安裝_ios應(yīng)用包安裝_sublime text 2安裝包

回滾到之前的版本

sudo?snap?revert?nmap?

小米萊卡相機(jī)包安裝_ios應(yīng)用包安裝_sublime text 2安裝包

由于我這里直接安裝了最新版本,所以沒有回滾版本。

查看已安裝的快照

sudo?snap?list

sublime text 2安裝包_小米萊卡相機(jī)包安裝_ios應(yīng)用包安裝

卸載程序

sudo?snap?remove?nmap

快照文件存儲

通過環(huán)境變量可以發(fā)現(xiàn)與snap直接相關(guān)的目錄是/snap/bin

查看/snap/可以看到這個目錄的介紹

/snap/ 目錄是已安裝的 snap 包中的文件和文件夾出現(xiàn)在系統(tǒng)上的位置

/snap/bin 該目錄存儲指向?qū)嶋H snap 包的鏈接文件。

/snap//掛載點(diǎn)信息

小米萊卡相機(jī)包安裝_sublime text 2安裝包_ios應(yīng)用包安裝

這里是 nmap,其中 2944

/snap//代表當(dāng)前版本。 由于snap有版本回滾功能,所以我猜這個文件應(yīng)該是為版本記錄和回滾而準(zhǔn)備的。

既然上面我們提到了掛載點(diǎn),那么我們可以過濾一下掛載信息,看看是否有對應(yīng)關(guān)系。

sudo?mount?|?grep?nmap

ios應(yīng)用包安裝_sublime text 2安裝包_小米萊卡相機(jī)包安裝

可以看到目錄/snap/nmap/2944其實(shí)就是設(shè)備的掛載(文件)/var/lib/snapd/snaps/.snap

sudo?lsblk?-a

小米萊卡相機(jī)包安裝_ios應(yīng)用包安裝_sublime text 2安裝包

這就是snap的工作模式。 .snap快照文件放置在/var/lib/snapd/snaps/下,然后通過塊文件掛載的方式掛載到/snap//目錄下。

用戶使用snap程序生成的數(shù)據(jù)存儲在~/snap目錄下,格式與/snap下基本相同。

程序目錄控制

snap把程序和它的依賴包打包在一起,通過一個叫的東西給程序分配權(quán)限,這就涉及到程序可以訪問的路徑。 這件事對于安全人員和運(yùn)維人員來說有著不同的意義。 現(xiàn)在是通過樹 這個應(yīng)用程序可以讓你探索這個

安裝?tree
sudo?snap?install?tree

查看?tree?這個軟件包的?connections
sudo?snap?connections?tree

sublime text 2安裝包_ios應(yīng)用包安裝_小米萊卡相機(jī)包安裝

可以看到tree可以訪問的目錄包括/home和可移動設(shè)備。 目前,/home 上有一個插槽,而可移動設(shè)備上沒有插槽。 因此,tree可以訪問/home目錄,但不能訪問其他目錄。 測試。 一度

sublime text 2安裝包_ios應(yīng)用包安裝_小米萊卡相機(jī)包安裝

可以看出

這樣限制了單個程序的目錄訪問,一定程度上增強(qiáng)了安全性,但易用性卻降低了。

程序權(quán)限控制

快照相當(dāng)有趣。 該程序旨在以插槽和插頭的形式獲取某些系統(tǒng)資源。

所謂插槽sublime text 2安裝包,就是系統(tǒng)提供的一些資源,比如文件資源、音頻播放、攝像頭、網(wǎng)絡(luò)接口等。插頭也是如此,只不過插頭和插槽需要連接起來,形成一個接口()允許程序獲取此資源。

ios應(yīng)用包安裝_sublime text 2安裝包_小米萊卡相機(jī)包安裝

接口如何使用插頭和插座

一般情況下,程序包需要哪些接口已經(jīng)過審核,可以通過以下命令查看

sudo?snap?connections?nmap

小米萊卡相機(jī)包安裝_sublime text 2安裝包_ios應(yīng)用包安裝

nmap有四個接口,其中三個插在插槽上,這樣nmap就有主目錄的訪問權(quán)限,可以使用網(wǎng)絡(luò)并進(jìn)行網(wǎng)絡(luò)綁定。

查看所有插槽

snap?connections?--all?|?cut?-d?"?"?-f?1?|?sort?|?uniq

sublime text 2安裝包_ios應(yīng)用包安裝_小米萊卡相機(jī)包安裝

現(xiàn)在我想插入最后一個nmap插件

sudo?snap?connect?nmap:network-control?:network-control

ios應(yīng)用包安裝_sublime text 2安裝包_小米萊卡相機(jī)包安裝

注意插頭和插座名稱必須一致。

如果我想將插頭插入不存在的系統(tǒng)插槽,會發(fā)生什么情況?

以手動分配nmap錄音為例

sudo?snap?connect?nmap:audio-record?:audio-record

小米萊卡相機(jī)包安裝_sublime text 2安裝包_ios應(yīng)用包安裝

正如您所看到的,對不存在的插頭進(jìn)行操作將會失敗。

斷開接口也很簡單

sudo?snap?disconnect?nmap:network-control?:network-control

sublime text 2安裝包_小米萊卡相機(jī)包安裝_ios應(yīng)用包安裝

程序配置項(xiàng)

Snap還提供對需要配置的軟件包的支持。 您需要先安裝此軟件包,然后才能獲取、設(shè)置和取消設(shè)置某些配置項(xiàng)。

以官網(wǎng)為例。 這是一個文件管理和共享工具,類似于百度網(wǎng)盤。

使用快照安裝

sudo?snap?install?nextcloud

ios應(yīng)用包安裝_小米萊卡相機(jī)包安裝_sublime text 2安裝包

獲取配置信息

sudo?snap?get?nextcloud

sublime text 2安裝包_小米萊卡相機(jī)包安裝_ios應(yīng)用包安裝

配置以key和value的形式顯示。 可以看到mode的值為,表示當(dāng)前處于生產(chǎn)模式。 其他選項(xiàng)如http對應(yīng)的值為{...},表示有多個配置,下面還有子配置。

以獲取到的ports配置項(xiàng)為例

sudo?snap?get?nextcloud?ports

小米萊卡相機(jī)包安裝_sublime text 2安裝包_ios應(yīng)用包安裝

根據(jù)經(jīng)驗(yàn)我們可以知道這是配置http和https的端口號

設(shè)置配置項(xiàng)

sudo?snap?set?nextcloud?ports.https=8443

小米萊卡相機(jī)包安裝_sublime text 2安裝包_ios應(yīng)用包安裝

如有侵權(quán)請聯(lián)系刪除!

13262879759

微信二維碼