Przypadkowo usunąłem folder „/ usr / share”

16

System nie uruchamia się. Zrobiłem to rm - Rprzypadkowo. Jak mogę odzyskać system?

Mouvre
źródło
czy na pewno usunąłeś /usr/sharefolder ... spróbuj .. zaloguj się podczas sesji na żywo .. skopiuj i wklej /usr/sharefolder z sesji na żywo do partycji głównych/usr/share
YuganTej
1
To, co sugeruje @PRATAP, może go uzyskać, aby można było zalogować się ponownie, ale wiele programów użytkownika przechowuje tam dane aplikacji, dzięki czemu w najlepszym razie naprawią tylko programy używane przez system „na żywo” (instaluj nośnik). Będziesz wtedy musiał do install --reinstallinnych programów; lub możesz po prostu ponownie zainstalować przy użyciu „czegoś innego”, bez formatu i zanotuje zainstalowane aplikacje, wyczyści katalogi systemowe, a następnie zainstaluje, a następnie ponownie zainstaluje dodatkowe programy (jeśli w repozytoriach Ubuntu); ale i tak ta opcja może być awaryjna, ponieważ prawdopodobnie nauczysz się więcej, próbując najpierw ją naprawić. Zawsze przywracane są kopie zapasowe.
guiverc
-> tylko z rm -R w / usr / share NIC nie zostanie usunięte. Zawartość jest własnością root, więc zwykły użytkownik nie może jej usunąć
Rinzwind
@Rinzwind A jeśli tak, to dlaczego system się nie ładuje? Jak mogę uzyskać root, aby to naprawić?
Mouvre,
może zrobiłeś sudo rm -R? Odpowiedź wysłana przez n0rbert wygląda mi dobrze. To jest droga
Rinzwind,

Odpowiedzi:

48

Musisz ponownie zainstalować wszystkie aplikacje zawierające pliki /usr/share.

  1. Uruchom system z trybu odzyskiwania z poleceniem roota .

  2. Ponownie podłącz rootfs do trybu odczytu i zapisu za pomocą mount -o rw,remount /.

  3. Podnieś interfejs Ethernet i uzyskaj adres IP z serwera DHCP: dhclient enp0s3(sprawdź poprawną nazwę interfejsu w ip alub ifconfig -a).

  4. Określ serwer DNS według

    rm /etc/resolv.conf
    echo "nameserver 192.168.1.1" > /etc/resolv.conf
    

    (zmień 192.168.1.1na swoją bramę / router)

  5. Musisz naprawić dpkgpakiet, ponieważ pomija on /usr/share/dpkg/cputableplik (w przeciwnym razie napotkasz "E: error reading the cpu table"dowolne polecenie apt / apt-get)

    wget http://mirrors.kernel.org/ubuntu/pool/main/d/dpkg/dpkg_1.19.0.5ubuntu2.1_amd64.deb
    dpkg -i dpkg_1.19.0.5ubuntu2.1_amd64.deb
    

    lub instalując go z pamięci podręcznej:

    dpkg -i /var/cache/apt/archives/dpkg_*.deb
    
  6. zaktualizuj pamięć podręczną pakietu:

    apt-get update
    
  7. zainstaluj ponownie niezbędne komponenty

    apt-get install --reinstall debconf linux-base
    mkdir /usr/share/python
    apt-get install --reinstall python2.7-minimal python3-minimal
    
  8. a następnie użyj jednej linijki poniżej:

    apt-get install --reinstall $(dpkg -S /usr/share/ | sed 's/,//g' | sed 's/: \/usr\/share//g')
    

    Powyżej:

    • dpkg -S /usr/share/ pokazuje listę pakietów oddzielonych przecinkami
    • sed 's/,//g' - usuwa przecinki
    • sed 's/: \/usr\/share//g'- usuwa : /usr/sharena końcu

    Ta część może zawieść z komunikatami o niektórych pakietach. Na przykład na mojej maszynie wirtualnej miałem problem bsdmainutils, więc ponownie ją zainstalowałem:

    dpkg -i /var/cache/apt/archives/bsdmainutils_*.deb
    

    a następnie przegrupuj jedną linijkę powyżej.

  9. napraw uszkodzone pakiety

    dpkg --configure -a
    apt-get install -f
    
  10. w końcu napraw /etc/resolv.conflink przez

    rm /etc/resolv.conf
    ln -s /run/systemd/resolve/stub-resolv.conf /etc/resolv.conf
    
  11. restart.

Uwaga: wynikowy naprawiony system nie wykazuje żadnych problemów podczas działania sudo apt-get checklub sudo debsums --all --changed.

N0rbert
źródło
z tego polecenia należy korzystać podczas sesji na żywo?
YuganTej
@PRATAP z trybu odzyskiwania wystarczy.
N0rbert,
OK, to dobrze .. ale nawet po usunięciu /usr/sharegrub będzie działać normalnie i wyświetli menu grub? myślę, że muszę go usunąć i zobaczyć na moim praktycznym komputerze .. ładna odpowiedź ..
Dziękuję
1
Właśnie przetestowałem to na maszynie wirtualnej. To prawie działa rozwiązanie.
N0rbert
1
@ N0rbert Dziękujemy za pomoc, to naprawdę działa!
Mouvre
2

Krótka odpowiedź: nie możesz i musisz ponownie zainstalować aplikacje, zgodnie z wcześniejszą odpowiedzią.

Przedtem jednak zamontowałem dysk na innym komputerze i przetestowałem narzędzia cofania, które są dostępne dla ext3 / ext4. Szybkie wyszukiwanie w Google wskazuje na następujące:

extundelete: http://extundelete.sourceforge.net/

easus: https://www.easeus.com/resource/drive/ext3.htm

TestDisk: https://www.cgsecurity.org/wiki/TestDisk

Poradnik: http://translatedby.com/you/howto-recover-deleted-files-on-an-ext3-file-system/original/

itp.

Jose Manuel Gomez Alvarez
źródło
Sugeruję, testdeleteponieważ raz doświadczyłem: p
αғsнιη