Gostaria de exibir uma lista de todos os pacotes instalados em um arquivo de texto para que eu possa revisar e instalar em massa em outro sistema. Como eu faria isso?
apt
package-management
Ivan
fonte
fonte
Respostas:
Ubuntu 14.04 e superior
A
apt
ferramenta no Ubuntu 14.04 e superior torna isso muito fácil.Versões mais antigas
Para obter uma lista dos pacotes instalados localmente, faça isso no seu terminal:
(A
-v
tag "inverte" grep para retornar linhas não correspondentes)Para obter uma lista de um pacote específico instalado:
Para salvar essa lista em um arquivo de texto chamado
packages
na área de trabalho, faça isso no seu terminal:Como alternativa, basta usar
(você não precisa executar nenhum desses comandos como superusuário, portanto, nenhuma
sudo
ou outras variantes são necessárias aqui)fonte
cat ~/Desktop/packages > sudo dpkg --set-selections && sudo apt-get dselect upgrade
códigosudo dpkg --set-selections < ~/Desktop/packages && sudo apt-get -u dselect-upgrade
faz o truque.apt list installed
. Um dia deveríamos parar sistematicamente de falhar no princípio "manter as coisas simples fáceis".Para obter apenas os pacotes que foram expressamente instalados (não apenas instalados como dependências), você pode executar
Isso também inclui uma breve descrição, que você pode desejar. Caso contrário, adicione também a opção
-F '%p'
, conforme mencionado por karthick87.Ainda outra opção parece ser copiar o arquivo
/var/lib/apt/extended_states
, que é um banco de dados de arquivo de texto neste formato:Auto-Installed: 0
indica que o pacote foi instalado expressamente e não é apenas uma dependência.fonte
apt-get
?Para listar todos os pacotes instalados intencionalmente (não como dependências) pelos comandos apt, execute o seguinte:
Isso fornece uma visão baseada em tempo inverso, com os comandos mais antigos listados primeiro:
Dados de instalação também mostrando o uso sináptico, mas sem detalhes (o mesmo com a data de instalação):
fornecendo o seguinte:
fonte
zgrep -hE '^(Start-Date:|Commandline:)' $(ls -tr /var/log/apt/history.log*.gz ) | egrep -v 'aptdaemon|upgrade' | egrep -B1 '^Commandline:'
dpkg
??Crie um backup de quais pacotes estão atualmente instalados:
Em seguida (em outro sistema) restaure as instalações dessa lista:
Para se livrar de pacotes obsoletos:
Para ser instalado como no momento do backup (ou seja, para instalar os pacotes definidos por
dpkg --set-selections
):fonte
ubuntu-desktop
foi desinstalado - provavelmente devido a um dos comandos do dpkg. tenha cuidado, levei horas para reparar os danos!sudo apt-mark hold name-your-package
. Isso impedirá o apt-get de atualizar para a versão atual, que é o padrão para o processo de atualização.estado das páginas de manual:
Portanto, ele deve fornecer apenas uma lista de pacotes instalados explicitamente (embora isso inclua os pacotes que faziam parte da instalação inicial padrão) sem todas as dependências incluídas devido à instalação desses pacotes.
Para gerar o resultado em um arquivo de texto:
fonte
apt-mark showmanual
não é verdade. Ele também lista vários pacotes instalados automaticamente, provavelmente parte da instalação base.apt list --manual-installed
.dpkg-query
(em vez dedpkg --get-selections
, que lista alguns pacotes que não estão instalados) da seguinte maneira:Ou:
fonte
# for pkg in `cat installed-pkgs`; do apt-get install -y $pkg; done
no segundo sistema, eu fiz isso para instalar os Pacotes.apt-get install -y $(< installed-pkgs)
fará com que o apt-get seja executado apenas uma vez e cuide de todas as dependências de uma só vez.sudo apt-get build-dep name-package; sudo apt-get install name-package;
?Para listar todos os pacotes instalados,
ou
ou
Nota:
Você obterá o arquivo 1.txt resultante na sua pasta pessoal ou poderá especificar seu próprio caminho.
fonte
Você pode usar o Synaptic para salvar o estado atual do seu pacote instalado. No Synaptic, selecione "arquivo / salvar marcações", digite o nome do arquivo no qual salvar o estado e marque a caixa "Salvar estado completo, não apenas alterações".
O arquivo salvo disso pode ser carregado em uma nova máquina usando "marcações de arquivo / leitura" no Synaptic.
fonte
Eu recomendo usar o blueprint . Embora tenha sido projetado para servidores, também pode ser usado em desktops. Ele criará um shell script / chef / fantoche que você poderá usar para reinstalar todos os seus pacotes.
fonte
Você deseja reinstalar os pacotes agora lá no 12.04, certo?
Se assim for, é muito fácil. Você precisará de uma "conta de logon único do Ubuntu". (Crie-o antes de reinstalar para que seu sistema seja sincronizado.)
Vá para o Software Center e procure a opção "Sincronizar entre computadores ..." no menu Arquivo.
Ao clicar nele, você verá seu computador registrado e uma lista de todos os aplicativos no seu computador.
Quando você instalar novamente, esse computador será considerado um novo computador.
Você só precisa fazer login na sua conta do Ubuntu e o computador anterior será mostrado.
Clique nisso; você receberá uma lista de todos os aplicativos. Selecione "instalar" no aplicativo que você deseja instalar.
fonte
Há também uma ferramenta chamada Aptik (linha de comando e GUI) que pode ajudá-lo a exibir uma lista de todos os pacotes instalados, com uma opção para selecionar / desmarcar alguns deles, fazer uma lista de backup e restaurar o mesmo conjunto de pacotes em outro sistema.
Para instalar:
Mais informações: https://teejeetech.in/aptik/
Como pode ser visto na captura de tela, o Aptik também permite fazer backup e restaurar PPAs , o que certamente será necessário para instalar alguns dos pacotes instalados.
fonte
apt-get install aptik-gtk
bemO APT-Clone é usado pelo
ubiquity
(instalador do Ubuntu) para o processo de atualização. É muito melhor que adpkg --get-selections
solução porque:Como usar
Instalar
Faça backup
Restaurar backup
Restaurar para uma versão mais recente:
Ele cria um arquivo tar compactado com gzip que pode ser facilmente editado e revisado antes de ser restaurado nas outras máquinas. Aqui está um exemplo de sua estrutura:
fonte
Há uma ótima explicação sobre o Unix StackExchange que descreve como usar o aptitude para listar pacotes não instalados como dependências e como comparar essa lista com a lista de pacotes padrão para sua versão do Ubuntu.
Para obter o arquivo de manifesto para as versões 12.04 e mais recentes da área de trabalho, visite este site , escolha sua versão e role abaixo das imagens do CD para a seção de arquivos. Você encontrará algo como "ubuntu-12.04.4-desktop-amd64 + mac.manifest" que corresponde à sua arquitetura.
Para versões do servidor, você precisará obter o arquivo de manifesto do ISO usado para instalar o sistema original. Para um servidor VPS ou em nuvem, seu provedor pode disponibilizar as imagens ou você pode precisar contatá-las.
Aqui está um exemplo usando o código da publicação mencionada, juntamente com modificações para instalar no novo servidor.
Servidor antigo (código de outra postagem, saída salva no arquivo):
No novo servidor, copie o arquivo usando scp e use sed para anexar 'install' a cada linha (-i executa uma substituição em linha). Então você pode usar a lista como entrada para 'dpkg --set-selections' e instalar os pacotes com o apt-get:
Antes de iniciar esta tarefa, recomendo ler e entender todas as partes da postagem mencionada no início e, em seguida, consulte o guia de referência do aptitude para obter detalhes sobre os padrões de pesquisa.
fonte
Você pode olhar para o
apt
log em/var/log/apt/
e odpkg
log em/var/log/
e você pode obter a lista dos pacotes instalados com apenas um comando:
fonte
Estou surpreso que o
apt-cache
comando projetado exatamente para esse fim não tenha sido mencionado acima ...Para mais informações, execute
apt-cache --help
:fonte
apt --installed list
dá o melhor resultado (conforme sugerido na resposta superior acima. Emboraapt-cache pkgnames
pareça fazer o truque à primeira vista, ele lista "todos os pacotes no sistema" (conforme o texto de ajuda acima), que também inclui pacotes que o apt conhece. . mas não são realmente instalado Há uma--installed
opção, mas não parece trabalhar compkgnames
.apt-cache pkgnames | wc -l
dá55909
pacotes (o sistema conhece), enquantoaptitude search '~i!~M' | wc -l
dá2160
(pacotes instalados explicitamente, sem dependências).Para o resumo completo, consulte:
https://help.ubuntu.com/community/SwitchingToUbuntu/FromLinux/RedHatEnterpriseLinuxAndFedora#Command_Line_Tools
a meio da página:
fonte
O comando abaixo também lista todos os pacotes instalados,
fonte
/var/log/dpkg.log*
para obter todos os logs girados.Ajude este wiki da comunidade - Adicione soluções atualizadas.
dpkg, xargs e apt-get
Este comando deve realizar a criação de um arquivo de texto contendo pacotes instalados:
Para realizar a instalação em massa dos pacotes listados, você precisará editar 'package_list.txt'. Remova as linhas estranhas na parte superior do arquivo usando um editor de texto. Você pode usar este comando para instalar pacotes a partir do arquivo criado usando:
apt-cache, xargs e apt-get
Use este método apenas se desejar que todos os pacotes atuais sejam instalados usando a lista ( que inclui automaticamente instalados, etc).
Envie a resposta de 'apt-cache pkgnames' para um arquivo que simplesmente chamaremos de "package_list.txt". Você pode fazer isso com:
Então, quando você deseja instalar pacotes a partir de "package_list.txt", você usaria este comando:
apt-mark, xargs e apt-get
Podemos usar o comando
apt-mark showmanual
para fornecer uma lista de pacotes que foram instalados manualmente ou inicialmente com o Ubuntu. Queremos enviar isso para um arquivo que chamaremos de "package-list.txt". Use este comando para fazer isso:O comando que usaríamos para instalar pacotes a partir do arquivo "package_list.txt" está abaixo.
Utilitário de migração do Aptik
Para obter informações sobre o Aptik, tente visitar sua página oficial e, para obter uma captura de tela, clique aqui ou veja o final desta seção.
A instalação do Aptik é simples. Siga esses passos:
Adicione o PPA com:
sudo add-apt-repository -y ppa:teejee2008/ppa
Atualize o apt com o comando abaixo.
sudo apt-get update
Instale o Aptik usando:
sudo apt-get install aptik
fonte
apt-mark showmanual
inclui Bash, Unity e Xorg, entre outros. Eles deveriam estar lá?Para salvar uma lista de pacotes instalados em um arquivo chamado
installed_packages.txt
, basta executar:fonte
Acho interessante notar
apt list --installed
oudpkg-query --list
usar o arquivo chamado/var/lib/dpkg/status
behind, onde todas as informações sobre os pacotes são barba.Então, se você gostaria de lidar apenas com a lista super extensa de pacotes
cat /var/lib/dpkg/status
.Nota: Não altere o
/var/lib/dpkg/status
arquivo.fonte
Além dos pacotes APT , hoje muitos pacotes da GUI são distribuídos como snaps .
Se o seu pacote não puder ser encontrado
apt list --installed
, tentesnap list
:Também é uma boa ideia adicionar
/snap/bin
ao PATH para que você possa iniciá-los a partir do terminal (feito automaticamente para usuários não root).fonte
O pacote
dctrl-tools
fornece agrep-status
ferramenta para obter a lista dos pacotes marcados como instalados no seu sistema:Uso:
Vejo :
man dctrl-tools
fonte
https://www.rosehosting.com/blog/list-all-installed-packages-with-apt-on-ubuntu/ :
fonte
Há muitas maneiras de fazer isso. Caso esteja usando o CentOS como eu, você pode usá-los: 1.
yum list installed
2.rpm -qa
fonte