Listing the packages on Debian/Ubuntu in one line

You can use dpkg to list all the packages that are selected on your Debian or Ubuntu system:

[sourcecode language=”plain”]# dpkg –get-selections[/sourcecode]

But today I needed a way to list only the installed packages in just one line, so I could copy their names and use apt-get to install the same packages on another system. So I used the following command:

[sourcecode language=”plain”]# dpkg –get-selections | grep "[ \t]*install$" | sed ‘s/[ \t]*install$//g’ | awk ‘BEGIN { packages = "" } { packages = packages " " $1 } END { print packages }’
acpi-support-base acpid adduser apt apt-utils […] long list of packages […] xsltproc xz-utils yelp zenity zlib1g zlib1g-dev[/sourcecode]

You can use the output above to easily install the same packages on another system using apt-get install <packages>.

Upgrading packages built from AUR

Some Arch Linux users, like me, are used to build packages from AUR. After some time they become out-of-date and it’s a hard work to upgrade them.

But yaourt comes to save us, with a single line:

[code]yaourt -Su –aur[/code]

It upgrades all packages that aren’t in Arch Linux official repositories. And you can see its friendly output below:

Yaourt

Baixando pacotes pré-compilados no FreeBSD

Após instalar o FreeBSD 8.0 no meu modesto computador para tarefas rotineiras, veio a necessidade de instalar alguns pacotes. O FreeBSD tem duas modalidades de instalação de pacotes:

  • O sistema de ports, que automatiza a tarefa de baixar código-fonte e compilá-lo, além de adaptar alguns pacotes ao seu gosto: o sistema ajuda você a habilitar ou desabilitar opções de vários pacotes, como suporte a Unicode, X11, bibliotecas adicionais etc.
  • Pacotes binários pré-compilados, familiares pra quem vem do Linux (como eu).

O FreeBSD possui uma ferramenta simpática chamada pkg_add que lembra o apt-get, pacman ou yum do Linux, baixando pacotes nos repositórios do FreeBSD. Porém, ao pedir pro pkg_add instalar alguns pacotes, como o Transmission, ele instalou versões mais antigas. Fuçando no FTP do FreeBSD, achei pacotes mais recentes dos pacotes. A próxima briga foi pra fazer o pkg_add usar apenas esses pacotes mais novos (dum diretório amigavelmente chamado Latest).

O truque é simples: quando você executa pkg_add -r nomedopacote, o pkg_add busca por $PACKAGESITE/nomedopacote.tbz. Se você fuçar pelos diretórios dos mirrors do FreeBSD vai perceber que os pacotes normalmente se chamam nomedopacote-versão.tbz, exceto os do diretório Latest, que instalam automaticamente a última versão disponível. Nos comandos abaixo, reparem que usei o sistema para arquitetura 64 bits (amd64), se sua instalação for para x86 32 bits, troque amd64 por i386.

Assim, pra instalar o vim, usei o seguinte comando no bash:

[sourcecode language=”text” light=”true” wraplines=”false”][root@tinhoso /home/esdras]# export PACKAGESITE="ftp://ftp4.freebsd.org/pub/FreeBSD/ports/amd64/packages-8-stable/Latest/"
[root@tinhoso /home/esdras]# pkg_add -r vim[/sourcecode]

Você pode, ainda, acrescentar o comando do export no seu arquivo ~/.profile, o que fará o comando ser executado automaticamente a cada login:

[sourcecode language=”text” light=”true” wraplines=”false”][root@tinhoso ~]# echo export PACKAGESITE=\"ftp://ftp4.freebsd.org/pub/FreeBSD/ports/amd64/packages-8-stable/Latest/\" &gt;&gt; ~/.profile[/sourcecode]

Caso você use csh (shell padrão no FreeBSD!), o comando muda:

[sourcecode language=”text” light=”true” wraplines=”false”]tinhoso# setenv PACKAGESITE ftp://ftp4.freebsd.org/pub/FreeBSD/ports/amd64/packages-8-stable/Latest/
tinhoso# pkg_add -r nano[/sourcecode]

Para tornar a variável permanente, acrescente esse comando no arquivo ~/.cshrc:

[sourcecode language=”text” light=”true” wraplines=”false”]tinhoso# echo setenv PACKAGESITE ftp://ftp4.freebsd.org/pub/FreeBSD/ports/amd64/packages-8-stable/Latest/ >> ~/.cshrc[/sourcecode]

Fontes

Instalando pacotes do Arch Linux com Yaourt

O Arch Linux contém, em seus repositórios, milhares de pacotes úteis. Alguns pacotes, porém, ainda não entraram nessa lista. Isso levou à criação do AUR (Arch User Repository), um repositório de scripts que os usuários podem baixar e usar para construir seus pacotes usando a ferramenta makepkg do Arch Linux. Essa tarefa, porém, pode ficar chata quando você a faz com frequência ou precisa também instalar dependências.

Pensando nisso, alguns usuários de Arch Linux criaram o Yaourt, um frontend para o pacman (o gerenciador de pacotes do Arch) e para o já citado makepkg. Ele automatiza o processo de baixar os scripts do AUR e criar o pacote para você, inclusive as dependências do pacote.

Instalação do yaourt

Há 2 maneiras de instalar o yaourt no seu Arch Linux:

Método 1: via AUR

Para instalar via AUR, é só seguir a sequência de passos (a saída dos comandos foi omitida):

# pacman -S wget base-devel
# wget http://aur.archlinux.org/packages/yaourt/yaourt.tar.gz
# tar xvzf yaourt.tar.gz
# cd yaourt
# makepkg
# pacman -U yaourt-versao-arquitetura.tar.gz

Repare que a versão e arquitetura, citados em negrito acima, podem variar de acordo com seu sistema e a versão que você está instalando.

Método 2: via repositório Archlinux-fr

Considero essa a maneira mais simples. Caso seu Arch seja a versão para i686, acrescente as seguintes linhas no seu /etc/pacman.conf:

[archlinuxfr]
Server = http://repo.archlinux.fr/i686

Caso seja a versão x86-64, acrescente as seguintes linhas:

[archlinuxfr]
Server = http://repo.archlinux.fr/x86_64

Em seguida, instale com o pacman:

# pacman -Sy yaourt

Usando o yaourt

A sintaxe do yaourt parece com a do próprio pacman. Recomendo uma boa lida na página oficial do yaourt para isso. Eu costumo usar o yaourt como um usuário comum, mas com permissões para uso do comando sudo sem senha.

O uso mais comum, instalar um pacote qualquer, é simples. Para instalar o VirtualBox, por exemplo:

$ yaourt -S virtualbox_bin

O usuário irá notar que o yaourt pede para você dar uma lida nos scripts, verificar se não há nada inseguro neles, confirmar a instalação do pacote… Caso você prefira a praticidade à segurança, use

$ yaourt -S virtualbox_bin --noconfirm

Isso fará o yaourt não solicitar nenhuma confirmação para as perguntas que ele costuma fazer.

Links e fontes