Por que bloquear arquivos e dpkg ao fazer a instalação de aplicativos e atualizações.

1

Na verdade, se suspendermos qualquer aplicativo que esteja instalando no meio ou suspendendo atualizações, automaticamente, enquanto retomamos, teremos alguns problemas como

E: Could not get lock /var/cache/apt/archives/lock - open (11: Resource temporarily unavailable)
E: Unable to lock directory /var/cache/apt/archives/

E: Could not get lock /var/lib/dpkg/lock - open (11: Resource temporarily unavailable)
E: Unable to lock the administration directory (/var/lib/dpkg/), is another process using it?

Eu sei como resolver essas coisas removendo o bloqueio. mas eu quero saber por que vai haver um bloqueio durante a execução de atualizações / instalação.

    
por rɑːdʒɑ 13.08.2012 / 20:10

1 resposta

3

Simplesmente, os bloqueios são usados para sua intenção original: impedir que outros processos passem por instalações. Imagine o seguinte cenário:

  1. Process1 é iniciado para instalar basex , que depende de default-jre

  2. O Process2 começa a remover default-jre . basex já está em andamento, por isso não pode ser informado sobre essa remoção.

  3. Process2 termina.

  4. Process1 termina. Existe um sistema não funcional. Isso é pior se o mesmo pacote for instalado e removido simultaneamente.

Embora isso possa ser resolvido mantendo um bloqueio por pacote mantido para o pacote e quaisquer pacotes que devem existir (Dependências), não sei por que isso não é feito.

Um problema semelhante pode ocorrer se houver pacotes conflitantes. Por exemplo, um pacote pode ser instalado e outro conflitante pode ser instalado simultaneamente (como dependência ou não).

    
por hexafraction 13.08.2012 / 20:17