Considerando o software instalado com o APT / DPKG
Na maioria dos sistemas Linux, incluindo o Ubuntu, não há um único diretório de instalação para um pacote, embora algumas vezes o software de terceiros possa ter todos os seus arquivos em um único diretório.
Em vez disso, um pacote contém um conjunto de arquivos que são colocados em vários locais do sistema de arquivos. A execução de whereis
em um pacote mostra os diretórios que contêm suas partes principais:
$ whereis gimp
gimp: /usr/bin/gimp /usr/lib/gimp /etc/gimp /usr/share/gimp /usr/share/man/man1/gimp.1.gz
Podemos ver que o gimp tem arquivos em pelo menos /usr/bin
, /usr/lib
, /etc
e /usr/share
, todos contendo muitos arquivos pertencentes a outros pacotes.
Você pode usar a opção dpkg-query -L
ou --listfiles
para ler a lista de arquivos de um pacote conhecido pelo dpkg:
$ dpkg --listfiles g++
/.
/usr
/usr/bin
/usr/share
/usr/share/doc
/usr/share/man
/usr/share/man/man1
/usr/bin/g++
/usr/bin/x86_64-linux-gnu-g++
/usr/share/doc/g++
/usr/share/man/man1/g++.1.gz
/usr/share/man/man1/x86_64-linux-gnu-g++.1.gz
Note que a listagem inclui todos os diretórios pai, mesmo que o pacote g ++ obviamente não os tenha fornecido (para obter apenas arquivos você pode fazer algo como for i in $(dpkg --listfiles g++); do [[ -f "$i" ]] && echo "$i"; done
, mas algumas instalações de pacotes criam diretórios).
O de g++
é uma listagem de arquivos muito pequena ...
$ dpkg --listfiles gimp | wc -l
254
$ dpkg --listfiles xkb-data | wc -l
331
$ dpkg --listfiles linux-image-4.10.0-24-generic | wc -l
1312
Considere também que se você simplesmente copiou todos os arquivos relevantes para todos os locais relevantes em outro sistema, o gerenciador de pacotes não saberia nada sobre isso, então o pacote não seria atualizado e suas dependências não seriam instaladas, então provavelmente não funcionaria de forma alguma por motivos difíceis de depurar.
O que isto significa é que, para o software que é instalável com o APT, a maneira mais fácil de instalá-lo é com o APT. Se você quiser economizar em download em cada sistema, veja Como posso instalar software ou pacotes sem Internet (offline)? .Algumas pessoas consideram este estilo de instalação distribuído como sendo ... um bug. E muitos deles estão fazendo algo a respeito, por exemplo, criando distros que instalam pacotes discretamente ou inventando soluções de pacotes multiplataforma como snaps que permitem instalação discreta, incluindo todas as dependências.