溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

怎么在基于Ubuntu或Debian的Linux 發(fā)行版中查看一個軟件包的依賴

發(fā)布時間:2021-10-23 11:10:00 來源:億速云 閱讀:307 作者:小新 欄目:系統(tǒng)運維

這篇文章將為大家詳細講解有關(guān)怎么在基于Ubuntu或Debian的Linux 發(fā)行版中查看一個軟件包的依賴,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

什么是 Ubuntu 中的包依賴?

當(dāng)你在 Linux 中安裝一個軟件包,有時這個軟件包還需要其他的軟件包來使它工作正常。這些額外的軟件包就叫作這個包的依賴。假如這些軟件包之前沒有在系統(tǒng)中被安裝,那么這些依賴在安裝這個軟件包的同時會被自動安裝上。

舉個例子,用來轉(zhuǎn)換視頻格式的 GUI 工具 HandBrake 需要 FFmpeg、GStreamer 軟件包。所以對于 HandBrake 來說, FFmpeg 和 GStreamer 就是它的包依賴。

假如在你的系統(tǒng)上這些軟件包沒有被安裝,則當(dāng)你 在 Ubuntu 上安裝 HandBrake 時,就會自動安裝上它們。

在 Ubuntu 和基于 Debian 的發(fā)行版中查看一個軟件包的依賴

正如在 Linux 上經(jīng)常發(fā)生的那樣,有多種方法來達到相同的目標(biāo)。下面讓我們一起瞧瞧查看一個軟件包依賴的多種方法。

使用 apt show 來查看依賴

你可以使用 apt show 命令 來展示一個包的詳細信息。其中依賴信息就是其中一部分,你可以在以 “Depends” 打頭的那些行中看到它們。

例如,下面展示的是使用 apt show 展示 ubuntu-restricted-extras 這個包的詳細信息:

abhishek@itsfoss:~$ apt show ubuntu-restricted-extras Package: ubuntu-restricted-extrasVersion: 67Priority: optionalSection: multiverse/metapackagesOrigin: UbuntuMaintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>Bugs: https://bugs.launchpad.net/ubuntu/+filebugInstalled-Size: 14.3 kBDepends: ubuntu-restricted-addonsRecommends: libavcodec-extra, ttf-mscorefonts-installer, unrarDownload-Size: 3,200 BAPT-Manual-Installed: yesAPT-Sources: http://us.archive.ubuntu.com/ubuntu focal/multiverse amd64 PackagesDescription: Commonly used media codecs and fonts for Ubuntu This collection of packages includes:  - MP3 and other audio codec software to play various audio formats    (GStreamer plugins)  - software to install the Microsoft Web fonts  - the Adobe Flash plugin  - LAME, software to create compressed audio files. . This software does not include libdvdcss2, and will not let you play encrypted DVDs. For more information, see https://help.ubuntu.com/community/RestrictedFormats/PlayingDVDs . These software packages are from the Multiverse channel, restricted by copyright or legal issues in some countries. For more information, see http://www.ubuntu.com/ubuntu/licensing

如你所見,ubuntu-restricted-extras 包依賴于 ubuntu-restricted-addons 這個軟件包。

但你得小心的是依賴包還可能依賴于其他包,這樣一直循環(huán)往復(fù)直到盡頭。但幸好 APT 包管理器可以為你處理這些復(fù)雜的依賴關(guān)系,自動地安裝所有的依賴(大多數(shù)情況下)。

什么是推薦包?

你注意到了上面結(jié)果輸出中以 “Recommends” 開頭的那些行了嗎?

推薦包不是軟件包的直接依賴,但它們可以開啟軟件包的一些額外功能。

正如你上面看到的那樣, ubuntu-restricted-extras 包有 ttf-mscorefonts-installer 這個推薦包,用來在 Ubuntu 上安裝 Microsoft 的字體。

這些推薦包也會默認(rèn)被一同安裝上,假如你想顯式地禁止這些推薦包的安裝,你可以像下面這樣使用 &ndash;-no-install-recommends 選項。

sudo apt install --no-install-recommends package_name
使用 apt-cache 來直接獲取依賴信息

上面通過 apt show 的方式會獲取到大量信息,假如你想在腳本中獲取到依賴信息,那么 apt-cache 命令將會給你一個更好且更簡潔的輸出結(jié)果。

apt-cache depends package_name

下面的輸出看起來更加干凈,不是嗎?

怎么在基于Ubuntu或Debian的Linux 發(fā)行版中查看一個軟件包的依賴

使用 dpkg 來查看一個 DEB 文件的依賴

apt 和 apt-cache 都作用于軟件倉庫中的軟件包,但假如你下載了一個 DEB 文件,那么這兩個命令就不起作用了。

在這種情形下,你可以使用 dpkg 命令的 -I 或 --info 選項。

dpkg -I path_to_deb_file

依賴信息就可以在以 “Depends” 開頭的那些行中找到。

怎么在基于Ubuntu或Debian的Linux 發(fā)行版中查看一個軟件包的依賴

使用 apt-rdepends 來查看依賴及依賴的依賴

假如你想查看更多關(guān)于依賴的信息,那么你可以使用 apt-rdepends 工具。這個工具可以創(chuàng)建完整的依賴樹。這樣你就可以得到一個軟件包的依賴以及這些依賴的依賴。

它不是一個常規(guī)的 apt 命令,所以你需要從 universe 軟件倉庫中安裝上它:

sudo apt install apt-rdepends

這個命令的輸出通常很多,取決于依賴樹的大小。

Reading package lists... DoneBuilding dependency treeReading state information... Doneshutter  Depends: procps  Depends: xdg-utilsimagemagick  Depends: imagemagick-6.q16 (>= 8:6.9.2.10+dfsg-2~)imagemagick-6.q16  Depends: hicolor-icon-theme  Depends: libc6 (>= 2.4)  Depends: libmagickcore-6.q16-6 (>= 8:6.9.10.2)  Depends: libmagickwand-6.q16-6 (>= 8:6.9.10.2)hicolor-icon-themelibc6  Depends: libcrypt1 (>= 1:4.4.10-10ubuntu4)  Depends: libgcc-s1libcrypt1  Depends: libc6 (>= 2.25)

apt-rdepends 工具的功能非常多樣,它還可以用來計算反向依賴。這意味著你可以查看某個特定的包被哪些軟件包依賴。

apt-rdepends -r package_name

輸出可能會非常多,因為它將打印出反向依賴樹。

abhishek@itsfoss:~$ apt-rdepends -r ffmpegReading package lists... DoneBuilding dependency tree       Reading state information... Doneffmpeg  Reverse Depends: ardour-video-timeline (>= 1:5.12.0-3ubuntu4)  Reverse Depends: deepin-screen-recorder (5.0.0-1build2)  Reverse Depends: devede (4.15.0-2)  Reverse Depends: dvd-slideshow (0.8.6.1-1)  Reverse Depends: green-recorder (>= 3.2.3)

關(guān)于“怎么在基于Ubuntu或Debian的Linux 發(fā)行版中查看一個軟件包的依賴”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學(xué)到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI