Não, isso não é algum poder sobrenatural ou algo parecido que vamos dar ao nosso querido sistema, o que trata esta dica é sobre como tornar seu Debian (ou derivado) o mais pronto possível no que tange a compilar ou empacotar pacotes.
pronto para compilar|empacotar?
Diferentemente do Slackware que é um sistema pronto para compilação (embora alguns digam que isso pode abrir brechas de segurança), o Debian praticamente vem pelado no que se refere a pacotes -dev, e isso inclui alguns pacotes necessários para a obtenção de fontes (repositórios de pacotes, como o git, bzr, svn e mercurial), mas isso pode mudar se você seguir os pequenos passos a seguir:
# apt-get update # apt-get install linux-headers-`uname -r` build-essential dkms packaging-dev
O dkms inclui de buxa na estória, pois não sei se o mesmo seria incluido na lista de pacotes a serem instalados, mas ele é importante para a criação automática de módulos de seus drivers num novo kernel, abaixo vejam uma lista demonstrando o que é instalado após uma instalação mínima do Debian:
Lendo listas de pacotes... Construindo árvore de dependências... Lendo informação de estado... Os pacotes extra a seguir serão instalados: adequate apt-file autoconf automake autopoint autotools-dev bzr bzr-builddeb cdbs cmake cmake-data cowbuilder cowdancer curl dctrl-tools debhelper debian-keyring debian-policy debootstrap debsums developers-reference devscripts dh-autoreconf diffstat distro-info-data dpkg-dev dput emacsen-common equivs fakeroot file g++ g++-4.7 gcc gcc-4.7 gettext git git-buildpackage git-man hardening-includes html2text intltool-debian javascript-common libalgorithm-diff-perl libalgorithm-diff-xs-perl libalgorithm-merge-perl libapr1 libaprutil1 libapt-pkg-perl libarchive-zip-perl libarchive12 libasprintf-dev libasprintf0c2 libauthen-sasl-perl libcapture-tiny-perl libclass-accessor-perl libclass-inspector-perl libclone-perl libcommon-sense-perl libconfig-file-perl libconvert-binhex-perl libcrypt-ssleay-perl libcurl3 libdigest-hmac-perl libdistro-info-perl libdpkg-perl libemail-valid-perl libencode-locale-perl liberror-perl libexporter-lite-perl libfcgi-perl libfile-basedir-perl libfile-fcntllock-perl libfile-fnmatch-perl libfile-libmagic-perl libfile-listing-perl libfont-afm-perl libgettextpo-dev libgettextpo0 libgpgme11 libhtml-form-perl libhtml-format-perl libhtml-parser-perl libhtml-tagset-perl libhtml-template-perl libhtml-tree-perl libhttp-cookies-perl libhttp-daemon-perl libhttp-date-perl libhttp-message-perl libhttp-negotiate-perl libio-pty-perl libio-socket-ip-perl libio-socket-ssl-perl libio-string-perl libio-stringy-perl libipc-run-perl libitm1 libjs-jquery libjson-perl libjson-xs-perl liblist-moreutils-perl libltdl-dev liblwp-mediatypes-perl liblwp-protocol-https-perl libmagic1 libmail-sendmail-perl libmailtools-perl libmime-tools-perl libnet-dns-perl libnet-domain-tld-perl libnet-http-perl libnet-ip-perl libnet-smtp-ssl-perl libnet-ssleay-perl libnettle4 libossp-uuid-perl libossp-uuid16 libparse-debcontrol-perl libparse-debianchangelog-perl libperlio-gzip-perl libregexp-assemble-perl libserf-1-1 libsoap-lite-perl libsocket-perl libstdc++6-4.7-dev libsub-name-perl libsvn-perl libsvn1 libsys-hostname-long-perl libtask-weaken-perl libtext-levenshtein-perl libtie-ixhash-perl libtimedate-perl libtool libunistring0 liburi-perl libwww-perl libwww-robotrules-perl libxml-namespacesupport-perl libxml-parser-perl libxml-sax-base-perl libxml-sax-expat-perl libxml-sax-perl libxml-simple-perl lintian make patchutils pbuilder pbzip2 piuparts piuparts-common po-debconf pristine-tar python-bzrlib python-configobj python-crypto python-dateutil python-distro-info python-gpgme python-httplib2 python-keyring python-launchpadlib python-lazr.restfulclient python-lazr.uri python-oauth python-paramiko python-pkg-resources python-simplejson python-wadllib python-zope.interface python3 python3-apt python3-chardet python3-debian python3-magic python3-minimal python3-six python3.2 python3.2-minimal quilt rsync strace subversion sudo svn-buildpackage t1utils unp unzip wdiff wwwconfig-common Pacotes sugeridos: autoconf2.13 autoconf-archive gnu-standards autoconf-doc bzr-doc bzr-gtk bzr-svn python-bzrlib.tests bzrtools python-lzma codeblocks eclipse debtags dh-make doc-base bsd-mailx mailx cvs-buildpackage devscripts-el gnuplot libfile-desktopentry-perl libterm-size-perl libyaml-syck-perl mutt mini-dinstall g++-multilib g++-4.7-multilib gcc-4.7-doc libstdc++6-4.7-dbg gcc-multilib automake1.9 flex bison gdb gcc-doc gcc-4.7-multilib libmudflap0-4.7-dev gcc-4.7-locales libgcc1-dbg libgomp1-dbg libitm1-dbg libquadmath0-dbg libmudflap0-dbg libcloog-ppl0 libppl-c2 libppl7 binutils-gold gettext-doc git-daemon-run git-daemon-sysvinit git-doc git-el git-email git-gui gitk gitweb git-arch git-bzr git-cvs git-mediawiki git-svn python-notify apache2 httpd libgssapi-perl gpgsm libdata-dump-perl libipc-sharedcache-perl libtool-doc libio-socket-inet6-perl uuid libapache2-mod-perl2 libmime-lite-perl libnet-jabber-perl libstdc++6-4.7-doc automaken gfortran fortran95-compiler gcj libauthen-ntlm-perl binutils-multiarch libtext-template-perl libyaml-perl make-doc gnome-pkg-tools mercurial-buildpackage pbuilder-uml gdebi-core schroot libmail-box-perl python-kerberos python-pycurl python-bzrlib-dbg xdg-utils python-crypto-dbg python-crypto-doc gir1.2-gnomekeyring-1.0 python-fs python-gdata python-gi python-kde4 python-keyczar python-testresources python-distribute python-distribute-doc python3-doc python3-tk python3-apt-dbg python-apt-doc python3.2-doc binfmt-support procmail graphviz default-mta mail-transport-agent openssh-server subversion-tools unrar unrar-free xdms p7zip p7zip-full cabextract orange mysql-client postgresql-client Pacotes recomendados: python-secretstorage Os NOVOS pacotes a seguir serão instalados: adequate apt-file autoconf automake autopoint autotools-dev build-essential bzr bzr-builddeb cdbs cmake cmake-data cowbuilder cowdancer curl dctrl-tools debhelper debian-keyring debian-policy debootstrap debsums developers-reference devscripts dh-autoreconf diffstat distro-info-data dpkg-dev dput emacsen-common equivs fakeroot g++ g++-4.7 gcc gcc-4.7 gettext git git-buildpackage git-man hardening-includes html2text intltool-debian javascript-common libalgorithm-diff-perl libalgorithm-diff-xs-perl libalgorithm-merge-perl libapr1 libaprutil1 libapt-pkg-perl libarchive-zip-perl libarchive12 libasprintf-dev libauthen-sasl-perl libcapture-tiny-perl libclass-accessor-perl libclass-inspector-perl libclone-perl libcommon-sense-perl libconfig-file-perl libconvert-binhex-perl libcrypt-ssleay-perl libcurl3 libdigest-hmac-perl libdistro-info-perl libdpkg-perl libemail-valid-perl libencode-locale-perl liberror-perl libexporter-lite-perl libfcgi-perl libfile-basedir-perl libfile-fcntllock-perl libfile-fnmatch-perl libfile-libmagic-perl libfile-listing-perl libfont-afm-perl libgettextpo-dev libgettextpo0 libgpgme11 libhtml-form-perl libhtml-format-perl libhtml-parser-perl libhtml-tagset-perl libhtml-template-perl libhtml-tree-perl libhttp-cookies-perl libhttp-daemon-perl libhttp-date-perl libhttp-message-perl libhttp-negotiate-perl libio-pty-perl libio-socket-ip-perl libio-socket-ssl-perl libio-string-perl libio-stringy-perl libipc-run-perl libitm1 libjs-jquery libjson-perl libjson-xs-perl liblist-moreutils-perl libltdl-dev liblwp-mediatypes-perl liblwp-protocol-https-perl libmail-sendmail-perl libmailtools-perl libmime-tools-perl libnet-dns-perl libnet-domain-tld-perl libnet-http-perl libnet-ip-perl libnet-smtp-ssl-perl libnet-ssleay-perl libnettle4 libossp-uuid-perl libossp-uuid16 libparse-debcontrol-perl libparse-debianchangelog-perl libperlio-gzip-perl libregexp-assemble-perl libserf-1-1 libsoap-lite-perl libsocket-perl libstdc++6-4.7-dev libsub-name-perl libsvn-perl libsvn1 libsys-hostname-long-perl libtask-weaken-perl libtext-levenshtein-perl libtie-ixhash-perl libtimedate-perl libtool libunistring0 liburi-perl libwww-perl libwww-robotrules-perl libxml-namespacesupport-perl libxml-parser-perl libxml-sax-base-perl libxml-sax-expat-perl libxml-sax-perl libxml-simple-perl lintian make packaging-dev patchutils pbuilder pbzip2 piuparts piuparts-common po-debconf pristine-tar python-bzrlib python-configobj python-crypto python-dateutil python-distro-info python-gpgme python-httplib2 python-keyring python-launchpadlib python-lazr.restfulclient python-lazr.uri python-oauth python-paramiko python-pkg-resources python-simplejson python-wadllib python-zope.interface python3 python3-apt python3-chardet python3-debian python3-magic python3-minimal python3-six python3.2 python3.2-minimal quilt rsync strace subversion sudo svn-buildpackage t1utils unp unzip wdiff wwwconfig-common Os pacotes a seguir serão atualizados: file libasprintf0c2 libmagic1 3 pacotes atualizados, 190 pacotes novos instalados, 0 a serem removidos e 33 não atualizados. É preciso baixar 151 kB/119 MB de arquivos. Depois desta operação, 243 MB adicionais de espaço em disco serão usados. Você quer continuar [S/n]?
onde menos é mais!
Mas se quer algo mais básico, pode tentar:
# apt-get update # apt-get install linux-headers-`uname -r` # apt-get install autoconf automake automoc bin86 binutils build-essential bison bzr checkinstall cmake cpp dkms fakeroot flex g++ gcc gettext git intltool kernel-package libasound2-dev libcurl4-openssl-dev libevent-dev libgl1-mesa-dri libglib2.0-dev libgtk2.0-dev libncurses5 libncurses5-dev libnotify-dev libtool libxml2-dev make mercurial mesa-utils module-assistant pkg-config qt4-dev-tools qt4-qmake subversion qt4-doc-
empacotando!
Porém, advirto que com a primeira lista você não precisará entrar na corrida das dependências de compilação, bastará rodar um mk-build-deps dentro da pasta do pacote que deseja empacotar, que automagicamente um meta-pacote de dependências será criado, daí bastará executar:
$ sudo dpkg -i pacote-buil-deps.deb $ sudo apt-get -f install
Após instalar as dependências, você cria um pacote Debian com um dos comandos abaixo:
$ dpkg-buildpackage -us -uc -b $ debuild -us -uc -b
E o instala com (o pacote estará num nível acima do diretório corrente):
$ sudo dpkg -i ../pacote.deb $ sudo apt-get -f install
isso sim é bom!
E além deste básico ainda há outras coisas, como o pbuilder (que permite usarmos pacotes de diferentes distribuições numa outra, como os do Debian no Ubuntu e vice-versa) e o dget (que faz parte do pacote devscripts) que baixa os sources de pacotes dos repos Debian e os empacota, como da forma manual:
$ dget http://ftp.de.debian.org/debian/pool/main/c/compton/compton_0.1~beta2-1.dsc $ dpkg-source -x compton_0.1~beta2-1.dsc $ cd compton-0.1~beta2/ $ mk-build-deps $ sudo dpkg -i compton-build-deps_0.1~beta2-1_all.deb $ sudo apt-get -f install $ dpkg-buildpackage -us -uc -b $ sudo dpkg -i ../pacote.deb $ sudo apt-get -f install
Ou algo mais prático (que baixa suprimindo as mensagens do downloader, extrai e empacota), como em:
$ dget -q -u -x --build http://ftp.de.debian.org/debian/pool/main/c/compton/compton_0.1~beta2-1.dsc $ sudo dpkg -i compton_0.1~beta2-1_i386.deb
Vejam o log:
266/2023MB 0.77 0.64 0.62 1/277 14116 [8445:8441 0:683] 04:44:09 Sex Ago 01 [edps@debian: +1] ~/build (1:683)$ dget -q -u -x --build http://ftp.de.debian.org/debian/pool/main/c/compton/compton_0.1~beta2-1.dsc dpkg-buildpackage: source package compton dpkg-buildpackage: source version 0.1~beta2-1 dpkg-buildpackage: source changed by Scott Leggett <scott@sl.id.au> dpkg-buildpackage: host architecture i386 dpkg-source --before-build compton-0.1~beta2 fakeroot debian/rules clean dh clean dh_testdir dh_auto_clean make[1]: Entrando no diretório `/mnt/backup/build/compton-0.1~beta2' make[1]: Saindo do diretório `/mnt/backup/build/compton-0.1~beta2' dh_clean debian/rules build dh build dh_testdir dh_auto_configure dh_auto_build make[1]: Entrando no diretório `/mnt/backup/build/compton-0.1~beta2' cc -std=c99 -DCONFIG_XINERAMA -DCONFIG_LIBCONFIG -DCONFIG_REGEX_PCRE -DCONFIG_REGEX_PCRE_JIT -DCONFIG_VSYNC_DRM -DCONFIG_VSYNC_OPENGL -DCONFIG_VSYNC_OPENGL_GLSL -DCONFIG_VSYNC_OPENGL_FBO -DCONFIG_VSYNC_OPENGL_VBO -DCONFIG_DBUS -DCONFIG_C2 -DCOMPTON_VERSION=""0.1~beta2"" -D_FORTIFY_SOURCE=2 -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -Wall -I/usr/include/libdrm -I/usr/include/dbus-1.0 -I/usr/lib/i386-linux-gnu/dbus-1.0/include -c src/compton.c In file included from src/compton.c:11:0: src/compton.h: In function ‘set_tgt_clip’: src/compton.h:663:3: warning: enumeration value ‘NUM_BKEND’ not handled in switch [-Wswitch] src/compton.c: In function ‘win_paint_win’: src/compton.c:1641:5: warning: enumeration value ‘NUM_BKEND’ not handled in switch [-Wswitch] src/compton.c: In function ‘init_filters’: src/compton.c:6140:5: warning: enumeration value ‘NUM_BKEND’ not handled in switch [-Wswitch] src/compton.c: At top level: src/compton.c:2536:1: warning: ‘win_upd_run’ defined but not used [-Wunused-function] cc -std=c99 -DCONFIG_XINERAMA -DCONFIG_LIBCONFIG -DCONFIG_REGEX_PCRE -DCONFIG_REGEX_PCRE_JIT -DCONFIG_VSYNC_DRM -DCONFIG_VSYNC_OPENGL -DCONFIG_VSYNC_OPENGL_GLSL -DCONFIG_VSYNC_OPENGL_FBO -DCONFIG_VSYNC_OPENGL_VBO -DCONFIG_DBUS -DCONFIG_C2 -DCOMPTON_VERSION=""0.1~beta2"" -D_FORTIFY_SOURCE=2 -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -Wall -I/usr/include/libdrm -I/usr/include/dbus-1.0 -I/usr/lib/i386-linux-gnu/dbus-1.0/include -c src/opengl.c src/opengl.c:1425:1: warning: ‘glx_render_color’ defined but not used [-Wunused-function] src/opengl.c:1463:1: warning: ‘glx_render_dots’ defined but not used [-Wunused-function] cc -std=c99 -DCONFIG_XINERAMA -DCONFIG_LIBCONFIG -DCONFIG_REGEX_PCRE -DCONFIG_REGEX_PCRE_JIT -DCONFIG_VSYNC_DRM -DCONFIG_VSYNC_OPENGL -DCONFIG_VSYNC_OPENGL_GLSL -DCONFIG_VSYNC_OPENGL_FBO -DCONFIG_VSYNC_OPENGL_VBO -DCONFIG_DBUS -DCONFIG_C2 -DCOMPTON_VERSION=""0.1~beta2"" -D_FORTIFY_SOURCE=2 -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -Wall -I/usr/include/libdrm -I/usr/include/dbus-1.0 -I/usr/lib/i386-linux-gnu/dbus-1.0/include -c src/dbus.c cc -std=c99 -DCONFIG_XINERAMA -DCONFIG_LIBCONFIG -DCONFIG_REGEX_PCRE -DCONFIG_REGEX_PCRE_JIT -DCONFIG_VSYNC_DRM -DCONFIG_VSYNC_OPENGL -DCONFIG_VSYNC_OPENGL_GLSL -DCONFIG_VSYNC_OPENGL_FBO -DCONFIG_VSYNC_OPENGL_VBO -DCONFIG_DBUS -DCONFIG_C2 -DCOMPTON_VERSION=""0.1~beta2"" -D_FORTIFY_SOURCE=2 -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -Wall -I/usr/include/libdrm -I/usr/include/dbus-1.0 -I/usr/lib/i386-linux-gnu/dbus-1.0/include -c src/c2.c cc -std=c99 -DCONFIG_XINERAMA -DCONFIG_LIBCONFIG -DCONFIG_REGEX_PCRE -DCONFIG_REGEX_PCRE_JIT -DCONFIG_VSYNC_DRM -DCONFIG_VSYNC_OPENGL -DCONFIG_VSYNC_OPENGL_GLSL -DCONFIG_VSYNC_OPENGL_FBO -DCONFIG_VSYNC_OPENGL_VBO -DCONFIG_DBUS -DCONFIG_C2 -DCOMPTON_VERSION=""0.1~beta2"" -D_FORTIFY_SOURCE=2 -Wl,-z,relro -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -Wall -o compton compton.o opengl.o dbus.o c2.o -lGL -lm -lrt -L/usr/lib/i386-linux-gnu -lpcre -lXcomposite -lXdamage -lXfixes -lXrender -lX11 -lXext -lXrandr -lXinerama -lconfig -ldbus-1 make[1]: Saindo do diretório `/mnt/backup/build/compton-0.1~beta2' dh_auto_test fakeroot debian/rules binary dh binary dh_testroot dh_prep dh_installdirs dh_auto_install make[1]: Entrando no diretório `/mnt/backup/build/compton-0.1~beta2' a2x --format manpage man/compton.1.asciidoc a2x --format manpage man/compton-trans.1.asciidoc asciidoc man/compton.1.asciidoc asciidoc man/compton-trans.1.asciidoc make[1]: Saindo do diretório `/mnt/backup/build/compton-0.1~beta2' dh_install dh_installdocs dh_installchangelogs dh_installexamples dh_installman dh_installcatalogs dh_installcron dh_installdebconf dh_installemacsen dh_installifupdown dh_installinfo dh_installinit dh_installmenu dh_installmime dh_installmodules dh_installlogcheck dh_installlogrotate dh_installpam dh_installppp dh_installudev dh_installwm dh_installxfonts dh_installgsettings dh_bugfiles dh_ucf dh_lintian dh_gconf dh_icons dh_perl dh_usrlocal dh_link dh_compress dh_fixperms dh_strip dh_makeshlibs dh_shlibdeps dpkg-shlibdeps: warning: package could avoid a useless dependency if debian/compton/usr/bin/compton was not linked against librt.so.1 (it uses none of the library's symbols) dh_installdeb dh_gencontrol dh_md5sums dh_builddeb dpkg-deb: construindo pacote 'compton' em '../compton_0.1~beta2-1_i386.deb'. dpkg-genchanges -b >../compton_0.1~beta2-1_i386.changes dpkg-genchanges: binary-only upload - not including any source code dpkg-source --after-build compton-0.1~beta2 dpkg-buildpackage: binary only upload (no source included) 205/2023MB 0.72 0.57 0.59 1/277 14602 [8445:8441 0:684] 04:46:23 Sex Ago 01 [edps@debian: +1] ~/build (1:684)$ sudo dpkg -i compton_0.1~beta2-1_i386.deb dpkg: aviso: a fazer downgrade a compton de 0.1~beta2-1.1 para 0.1~beta2-1 (Lendo banco de dados ... 222746 ficheiros e directórios actualmente instalados.) Preparando para substituir compton 0.1~beta2-1.1 (usando compton_0.1~beta2-1_i386.deb) ... Desempacotando substituto compton ... Configurando compton (0.1~beta2-1) ... Processando gatilhos para man-db ... 181/2023MB 0.37 0.46 0.55 1/277 15093 [8445:8441 0:685] 04:47:58 Sex Ago 01 [edps@debian: +1] ~/build (1:685)$
No exemplo acima, um pacote do Debian SID (compton) foi empacotado e instalado no Debian Wheezy.
Provavelmente no futuro farei algo mais completo no que se refere a empacotamento no Debian, mas o que está exposto aqui já é um bom caminho e é o método que uso aqui para poder rodar pacotes do Debian Jessie/Testing em meu Wheezy/Stable, caso do Compton, SoundKonverter, K3B e muitos outros.
bleachbit_1.3-1.1_all.deb bleachbit-bonus_0.8.2-1_all.deb bleachbit-build-deps_1.3-1_all.deb compton_0.1~beta2-1.1_i386.deb compton-build-deps_0.1~beta2-1_all.deb deadbeef_0.6.2-git-1_i386.deb decibel-audio-player-1.09.deb k3b_2.0.2-7.2_i386.deb k3b-build-deps_2.0.2-7.1_i386.deb k3b-data_2.0.2-7.2_all.deb k3b-dbg_2.0.2-7.2_i386.deb k3b-extrathemes_2.0.2-7.2_all.deb k3b-i18n_2.0.2-7.2_all.deb lame_3.99.5+repack1-3.1_i386.deb lame-build-deps_3.99.5+repack1-3_i386.deb lame-doc_3.99.5+repack1-3.1_all.deb libdvdread4_4.2.1-2.1_i386.deb libdvdread-build-deps_4.2.1-2_all.deb libdvdread-dbg_4.2.1-2.1_i386.deb libdvdread-dev_4.2.1-2.1_i386.deb libk3b6_2.0.2-7.2_i386.deb libk3b6-extracodecs_2.0.2-7.2_i386.deb libk3b-dev_2.0.2-7.2_i386.deb libmenu-cache3_0.5.1-1.1_i386.deb libmenu-cache-bin_0.5.1-1.1_i386.deb libmenu-cache-dbg_0.5.1-1.1_i386.deb libmenu-cache-dev_0.5.1-1.1_i386.deb libmenu-cache-doc_0.5.1-1.1_all.deb libmp3lame0_3.99.5+repack1-3.1_i386.deb libmp3lame-dev_3.99.5+repack1-3.1_i386.deb libtag1c2a_1.9.1-2.2_i386.deb libtag1-dev_1.9.1-2.2_i386.deb libtag1-doc_1.9.1-2.2_all.deb libtag1-vanilla_1.9.1-2.2_i386.deb libtagc0_1.9.1-2.2_i386.deb libtagc0-dev_1.9.1-2.2_i386.deb logkeys_0.1.1a-1_all.deb lxpanel_0.5.12-3.1_i386.deb lxpanel-build-deps_0.5.12-3_i386.deb lxpanel-dbg_0.5.12-3.1_i386.deb menu-cache-build-deps_0.5.1-1_all.deb minirok_2.1-1.1_all.deb minirok-build-deps_2.1-1_all.deb obsession_20130609-1_i386.deb obsession_20140726-1_i386.deb pogo_0.8.3-1.1_all.deb pogo-build-deps_0.8.3-1_all.deb quiterss_0.16.1+dfsg-1.1_i386.deb quiterss_20140715-1_i386.deb quiterss-build-deps_0.16.1+dfsg-1_all.deb quiterss-dbg_0.16.1+dfsg-1.1_i386.deb rtorrent_0.9.2-1.1_i386.deb rtorrent-build-deps_0.9.2-1_all.deb screengrab_1.0-1_i386.deb screengrab_1.0-git-1_i386.deb screengrab-build-deps_1.0-ubuntu1_all.deb selene_2.4.4+nmu1_i386.deb selene-build-deps_2.4.4_all.deb skippy-xd_0.5.1~hg-1_i386.deb soundkonverter_2.1.1-1.1_i386.deb soundkonverter-build-deps_2.1.1-1_all.deb taglib-build-deps_1.9.1-2.1_all.deb ted-2.23-i386.deb ted_pt_BR-2.23.all.deb xfce4-whiskermenu-plugin_1.3.2-1_i386.deb xfce4-whiskermenu-plugin-build-deps_1.3.2-1_all.deb yarock_20140717-1_i386.deb
Os meta-pacotes de dependências (pacote-buil-deps), são interessantes também porque ao removê-los, todos os pacotes instalados por ele também serão removidos, o que tornará o sistema mais enxuto, exemplo:
$ dpkg --get-selections | awk '{if ($2=="install") print $1}' > build-deps.pkgs && cat build-deps.pkgs | grep build-deps | xargs -l1 sudo apt-get --purge remove -y $ sudo apt-get autoremove --purge
Vejam o log pro caso do compton:
140/2023MB 0.70 0.70 0.68 1/291 15544 [15474:15469 0:818] 05:07:55 Sex Ago 01 [edps@debian: +1] ~ (1:818)$ dpkg --get-selections | awk '{if ($2=="install") print $1}' > build-deps.pkgs && cat build-deps.pkgs | grep build-deps | xargs -l1 sudo apt-get --purge remove -y Lendo listas de pacotes... Pronto Construindo árvore de dependências Lendo informação de estado... Pronto Os pacotes a seguir serão REMOVIDOS: compton-build-deps* libconfig-dev* libconfig-doc* libdbus-1-dev* libdrm-dev* libkms1* xsltproc* 0 pacotes atualizados, 0 pacotes novos instalados, 7 a serem removidos e 1 não atualizados. Depois desta operação, 3.095 kB de espaço em disco serão liberados. (Lendo banco de dados ... 222745 ficheiros e directórios actualmente instalados.) Removendo compton-build-deps ... Removendo libconfig-dev:i386 ... Removendo libconfig-doc ... Removendo libdbus-1-dev ... Removendo libdrm-dev ... Removendo libkms1:i386 ... Expurgando arquivos de configuração de libkms1:i386 ... Removendo xsltproc ... Processando gatilhos para man-db ... Processando gatilhos para install-info ... 182/2023MB 0.80 0.71 0.69 1/291 18902 [15474:15469 0:818] 05:08:28 Sex Ago 01 [edps@debian: +1] ~ (1:818)$ sudo apt-get autoremove --purge Lendo listas de pacotes... Pronto Construindo árvore de dependências Lendo informação de estado... Pronto 0 pacotes atualizados, 0 pacotes novos instalados, 0 a serem removidos e 1 não atualizados. 182/2023MB 0.57 0.67 0.67 1/291 18916 [15474:15469 0:815] 05:08:45 Sex Ago 01 [edps@debian: +1] ~ (1:815)$
Ou algo sério pra valer:
remove-build-deps-DEBIAN by edps
E em imagens a economia de espaço em disco gerada pela remoção manual desses pacotes:
Para que a remoção dos meta-pacotes e das dependências para compilação seja automática, será necessária a inserção da linha abaixo em seu arquivo /etc/apt/apt.conf:
APT::Get::AutomaticRemove "1";
acho que está bom por hoje!
Obrigado mago EDPS volto mais tarde para reler suas dicas sobrenaturais.
Muito bom
CurtirCurtir
com essa me senti o próprio gandalf! rs
CurtirCurtir
Feitiço do bom para fechar o corpo do caboclo Debian!
CurtirCurtir
rsrs
CurtirCurtir
é muito bom isso para quem usa Debian, mostra que existe toda uma infraestrutura para compilar e empacotar, que facilita bem.
CurtirCurtir
Eu queria saber um pouco mais sobre empacotar no Debian, seguindo o método padrão dos desenvolvedores, mas como um típico usuário, acho que está bom por enquanto.
Um abraço.
CurtirCurtir