Accidentally deleted the "/usr/share" folder
The system does not start. Did it by using rm - R
accidentally. How can I recover the system?
You need to reinstall all applications which have files in /usr/share
.
Boot system from Recovery Mode with root prompt.
Remount rootfs to read-write mode with
mount -o rw,remount /
.Raise up ethernet interface and get IP address from DHCP server:
dhclient enp0s3
(check correct interface name inip a
orifconfig -a
).-
Specify DNS server by
rm /etc/resolv.conf echo "nameserver 192.168.1.1" > /etc/resolv.conf
(change
192.168.1.1
to yours gateway/router) -
You need to fix the
dpkg
package as it misses the/usr/share/dpkg/cputable
file (otherwise you will face the"E: error reading the cpu table"
on any apt/apt-get command)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
or installing it from cache:
dpkg -i /var/cache/apt/archives/dpkg_*.deb
-
update package cache:
apt-get update
-
reinstall essential componenets
apt-get install --reinstall debconf linux-base mkdir /usr/share/python apt-get install --reinstall python2.7-minimal python3-minimal
-
and then use one-liner below:
apt-get install --reinstall $(dpkg -S /usr/share/ | sed 's/,//g' | sed 's/: \/usr\/share//g')
Above:
-
dpkg -S /usr/share/
shows the list of comma-separated packages -
sed 's/,//g'
- removes commas -
sed 's/: \/usr\/share//g'
- removes: /usr/share
in the end
This part may fail with messages about some packages. For example on my VM I have had a problem with
bsdmainutils
, so I reinstalled them with:dpkg -i /var/cache/apt/archives/bsdmainutils_*.deb
and then reran one-liner above.
-
-
fix broken packages
dpkg --configure -a apt-get install -f
-
finally fix
/etc/resolv.conf
link byrm /etc/resolv.conf ln -s /run/systemd/resolve/stub-resolv.conf /etc/resolv.conf
reboot.
Note: the resulting fixed system do not show any problems while running sudo apt-get check
or sudo debsums --all --changed
.
Short answer: you can't and you have to reinstall the apps, as suggested by a previous answer.
However, before that, I would mount the drive in another computer and test undelete utilities which are available for ext3/ext4. A quick search in Google points to these ones:
extundelete: http://extundelete.sourceforge.net/
easeus: https://www.easeus.com/resource/drive/ext3.htm
TestDisk: https://www.cgsecurity.org/wiki/TestDisk
How to guide: http://translatedby.com/you/howto-recover-deleted-files-on-an-ext3-file-system/original/
etc.