Como instalar dois aplicativos / pacotes simultaneamente?

6

Exemplo: O FlightGear (2GB) está instalando e eu só preciso instalar udftools rapidamente, e eu não quero quebrar a instalação gigante do flightgear para isso.

O Windows também suporta a instalação de dois programas simultaneamente, mas se eu tentar no Linux, mesmo em um usuário diferente e tty, ele falhará.

Como instalo dois aplicativos simultaneamente?

    
por neverMind9 11.04.2018 / 16:49

3 respostas

16

Você não pode; O APT usa um bloqueio para garantir que uma única operação de gerenciamento de pacotes esteja em andamento a qualquer momento. Isso é feito para reforçar a consistência: é importante manter o estado do banco de dados de pacotes e o estado dos pacotes, coerente, e a maneira mais fácil de fazer isso é garantir que eles nunca passem por várias modificações concorrentes.

    
por 11.04.2018 / 16:53
2

Como Stephen Kitt disse, você não pode pedir a um gerenciador de pacotes para instalar um pacote enquanto ele já está ocupado instalando outros pacotes, porque isso gera preocupações de consistência no sistema. No entanto, como o psusi disse em um comentário, se o seu gerenciador de pacotes ainda está na etapa de baixar o pacote, isso é perfeitamente interrompível. Você pode Ctrl + C, instalar udftools e, em seguida, reinvoke o apt para continuar instalando seu pacote grande. Deveria ter mantido o pacote parcialmente baixado e continuar o download de onde parou.

O motivo pelo qual você não pode invocar seu gerenciador de pacotes para instalar ou remover coisas enquanto ele já está modificando o sistema em outro processo é porque isso acrescentaria muita complexidade para que os processos se comuniquem uns com os outros e coordenem seus problemas. ações para garantir a consistência do sistema. Por exemplo, e se você pedir para instalar um pacote que entre em conflito com um pacote que outro processo esteja em algum lugar no processo de instalação? E se você pedir para remover um pacote que outro processo já tinha verificado foi instalado porque os pacotes que ele vai instalar dependem dele? E se você pedir para instalar um pacote que dependa de um pacote de outro processo na instalação agora, mas o pacote dependente acaba sendo instalado primeiro porque ganhou a condição de corrida e executa um script de instalação que depende do pacote que não tem terminou de instalar?

É mais simples e seguro usar um bloqueio para restringir um processo de cada vez.

    
por 11.04.2018 / 18:44
0

Dado o seu exemplo, é razoável supor que algum simulador de voo comum, ou até mesmo enorme, não fará alterações nas mesmas partes do sistema de arquivos que udftools faz.

Eu sei que se yum está preocupado com alguma transação maior, então rpm ainda pode ser usado para instalar, atualizar ou apagar pacotes , porque yum cria um bloqueio que outros yum processos devem respeitar, mas rpm não precisa.

Da mesma forma, dpkg pode ser usado para instalar .deb pacotes sem ter que negociar com apt , embora eles possam estar mais integrados, caso em que se você estiver preparado para comer o risco, vá em frente e delete /var/lib/dpkg/lock . Quero dizer, o que diabos? é apenas a integridade de todo o seu banco de dados de pacotes do SO!

    
por 11.04.2018 / 21:49