Lorsque je veux compiler quelque chose à partir du source dans Ubuntu/Debian, j’obtiens généralement des dépendances de construction en exécutant "Sudo apt-get build-dep PACKAGE_NAME
" dans le terminal.
Ils sont (généralement) inutiles une fois le travail de compilation terminé.
Alors, comment puis-je supprimer tous les dépendances de la construction pour un paquet particulier?
Pour connaître les dépendances de construction d'un programme, vous pouvez exécuter apt-cache showsrc pkgname
et répertorier, entre autres informations, le Build-Depends
, qui sont souvent des fichiers se terminant par -dev
; bien qu’il soit utile de vérifier si l’un des fichiers (en particulier ceux qui ne sont pas marqués -dev
) est requis par d’autres programmes. Vous pouvez le savoir en utilisant apt-cache depends file
et apt-cache rdepends file
. L'exemple suivant concerne Shotwell
:
apt-cache showsrc shotwell
Build-Depends: debhelper (> = 7.0.50 ~), m4, valac-0.16 (> = 0.15), libgee-dev (> = 0.5.0), libgtk-3-dev (> 3.0.11), libexif -dev (> = 0.6.16), libsqlite3-dev (> = 3.5.9), libgexiv2-dev (> = 0.4.1-1build1), libgnomevfs2-dev (> = 2.24.2), libgphoto2-2-dev (> = 2.4.2), libsoup2.4-dev (> = 2.26.0), libxml2 (> = 2.6.32), libunique-3.0-dev (> = 1.0.0), libwebkitgtk-3.0-dev (> = 1.1.5), libgudev-1.0-dev (> = 145), libdbus-glib-1-dev (> = 0.80), libraw-dev (> 0.13.1-2), libusb-dev, libjson-glib -dev (> = 0.7.6), libgstreamer0.10-dev (> = 0.10.28), libgstreamer-plugins-base0.10-dev (> = 0.10.32), python-scour, libunity-dev, liblaunchpad- integration-3.0-dev (> = 0.1.36), librest-dev
Il y a une commande pour tout faire en une fois à le site webupd8 , mais J'ai constaté que ce n'était pas le cas semble fonctionner de manière fiable avec la version actuelle d’Ubuntu en ce sens qu’il semble trop supprimer . Je l'ai essayé avec Pinta et il a suggéré de supprimer toute la bibliothèque mono. L'utilisation de commandes telles que celle de webupd8 sur Launchpad est discutée. Soyez très prudent lorsque vous essayez des solutions que vous pourriez trouver.
Il est dommage qu'il n'y ait pas de commande autoremove
pour build-dep
packages installés.
Rappelez-vous quels paquets ont été installés par Sudo apt-get build-dep PACKAGE_NAME
et supprimez-les après la construction.
apt-cache showsrc
donne de nombreuses informations sur les paquets sources, y compris une liste de dépendances de la construction.
apt-cache showsrc PACKAGE_NAME
Par exemple:
$ apt-cache showsrc pithos
Package: pithos
Binary: pithos
Version: 0.3.17~git07dcbd86a1
Section: python
Maintainer: Kevin Mehall <[email protected]>
Build-Depends: cdbs (>= 0.4.43), debhelper (>= 6), python, python-central (>= 0.6.11), python-distutils-extra (>= 2.10)
Architecture: all
Standards-Version: 3.8.2
Format: 1.0
Directory: pool/main/p/pithos
Files:
cdf2129923e62bb62c246965453b40bd 2023031 pithos_0.3.17~git07dcbd86a1.tar.gz
97689e8ada8be527d689f2c83415d3b0 1544 pithos_0.3.17~git07dcbd86a1.dsc
Python-Version: current
Checksums-Sha1: 35cbf3ae52922e50a0b81afcce2cd97a86afb254 2023031 pithos_0.3.17~git07dcbd86a1.tar.gz
Package-List: pithos deb python extra
Checksums-Sha256: 2b704d86f3dc1d36d180177d11e578bdcf74ea97b09b530144afe754e570b262 2023031 pithos_0.3.17~git07dcbd86a1.tar.gz
$ Sudo apt-get remove cdbs debhelper python python-central python-distutils-extra
Le risque avec cette option est que vous pouvez supprimer un paquet important pour quelque chose en plus de bâtiment PACKAGE_NAME. Lisez simplement la liste des paquets à supprimer avant de continuer.
Tumbleweed écrit :
Pour l’avenir, je recommande vivement d’utiliser _
mk-build-deps
_ ... au lieu de _aptitude build-dep
_. Cela laisse un paquet ... sur votre système, [qui a des dépendances] sur les dépendances de construction, que vous pourrez facilement désinstaller par la suite.
mk-build-deps
peut être installé avec _Sudo apt install devscripts
_