Vou mudar meu sistema de 32 bits para 64 bits e continuarei o mesmo que tinha antes, o Debian Squeeze, mas não quero perder os programas que instalei antes, porque não me lembro do nome de todos eles.
Então, eu queria um comando para fazer isso por mim, salve o nome de todos os programas que instalei em um arquivo, mas não os programas padrão que acompanham o sistema e, quando estiver usando o outro sistema, mencionarei o nome de o arquivo e seu diretório para que tudo seja instalado automaticamente.
Mais uma pergunta: é possível fazer isso com programas que foram instalados manualmente dpkg-i package.deb
? Se sim, como posso fazer isso?
Nas versões atuais do Debian, você pode obter uma lista de pacotes explicitamente instalados com
Para aqueles que executam versões antigas do Debian onde
apt-mark showmanual
não existe, ou se você deseja executar seleções adicionais, pode usar o aptitude.~i
corresponde aos pacotes instalados;!~M
omite os pacotes que foram instalados automaticamente como uma dependência de algum outro pacote.-F %p
altera o formato de saída para incluir apenas o nome do pacote.Posteriormente, você pode instalar esses pacotes com
O Debian squeeze não possui
apt-mark showmanual
, mas possuiapt-mark showauto
quais listas de pacotes instalados automaticamente. Se você usar isso, poderá listar todos os pacotes no sistema antigodpkg --get-selections >package.list
, restaurar todos eles e marcar os pacotes automáticos comapt-mark markauto
. Para o seu caso de uso (32 bits a 64 bits), é provável que essa abordagem deixe algumas bibliotecas marcadas como manuais, porque elas têm nomes diferentes em arquiteturas diferentes.Note que se o caso de uso é reproduzir uma instalação idêntica, em vez de manter o conjunto de pacotes, mas alterar a arquitetura, agora existe uma ferramenta chamada apt-clone (distribuída no Debian desde o wheezy) que faz tudo automaticamente.
fonte
acl
poderia ser considerado uma parte importante do sistema base e, portanto, seria marcado como instalado manualmente. Ele foi instalado "manualmente" pelo instalador inicial e não pelo usuário, mas, mesmo assim, o significado de "instalado automaticamente" é "você pode removê-lo com segurança se não quebrar as dependências" e os pacotes fundamentais necessários para tornar o sistema funcionar corretamente não se encaixa na conta.Não vejo uma maneira simples e padrão de fazê-lo. Receio que você precise mexer
dpkg
nos logs e opções, porquedpkg
não distingue os "programas padrão que acompanham o sistema" e os outros.ESTE NÃO SERÁ DIREITO , prefiro deixar claro usando texto em maiúscula em negrito , mas você pode fazer algo assim
Extraia a lista de software instalado dos
/var/log/dpkg.log*
arquivos.Remova os instalados durante a instalação do sistema. (Use o tempo de instalação para detectá-los)
Salve a lista no
dpkg --get-selections
formatoEt voilà! Quando o sistema estiver funcionando, reinstale os programas com o
fonte