Excluído / usr / bin / touch e / bin / touch. Não consegue instalar nada agora, nem criar arquivos?

1

Depois de atualizar o GNOME para o 3.20.2, tive alguns problemas com o touchpad, então, nessa confusão, eu excluí o / usr / bin / touch e, depois disso, fiquei ainda mais estúpido e excluído / bin / touch.

Agora, depois disso, parece que não consigo instalar nenhum dos programas. Aqui está o erro gerado na instalação de um programa ..

user1@pqrx:~$ sudo apt-get install gir1.2-gtop-2.0
[sudo] password for user1: 

Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following NEW packages will be installed:
gir1.2-gtop-2.0
0 upgraded, 1 newly installed, 0 to remove and 1 not upgraded.
Need to get 0 B/54.6 kB of archives.
After this operation, 104 kB of additional disk space will be used.
Selecting previously unselected package gir1.2-gtop-2.0:amd64.
(Reading database ... 351267 files and directories currently installed.)
Preparing to unpack .../gir1.2-gtop-2.0_2.34.0-1_amd64.deb ...
Unpacking gir1.2-gtop-2.0:amd64 (2.34.0-1) ...
Setting up gir1.2-gtop-2.0:amd64 (2.34.0-1) ...
sh: 1: touch: not found
update-kali-menu: error: Can't open /var/lock/kali-menu: No such file or directory
E: Problem executing scripts DPkg::Post-Invoke '[ ! -x /usr/share/kali-menu/update-kali-menu ] || /usr/share/kali-menu/update-kali-menu wait_dpkg'
E: Sub-process returned an error code

Qualquer ajuda será muito apreciada.

    
por Kanhaiya Murarka 26.07.2016 / 21:55

3 respostas

1

Eu fiquei muito agradecido por todo o valioso tempo que vocês passaram respondendo à minha pergunta e combinando as duas respostas que encontrei a melhor solução.

Se você tiver bagunçado o coreutils , o melhor a fazer é baixar o arquivo coreutils do repositório. Como todos sabemos que os arquivos .deb são basicamente archive , abra-o com o file-roller e extraia o pacote e substitua os arquivos necessários, defina as permissões necessárias e reinicialize.

Está feito.

    
por 29.07.2016 / 09:09
5

touch está incluído nos utilitários principais do GNU . Desde que você excluiu o programa, você pode usar este comando para tentar reinstalá-lo:

sudo apt-get install --reinstall coreutils 

Usando apenas este comando, os programas /usr/bin/touch e /bin/touch foram excluídos e reinstalados em uma nova instalação do Kali Linux 2016.1.

Para outras distribuições, especialmente o Mint (testado em 17.3 Cinnamon), é possível executar sudo apt-get update primeiro.

    
por 26.07.2016 / 22:35
4

Você pode contornar (a maioria) os usos fazendo um script de shell /bin/touch e usando isso para reparar o sistema o suficiente para reinstalar o pacote que contém o executável real.

Alguns aplicativos usarão touch para definir registros de data e hora. Isso é mais difícil em um script de shell.

Por exemplo:

#!/bin/sh
for name in "$@"
do
    chmod +w "$name"
    printf '' >> "$name"
done
    
por 26.07.2016 / 22:32