You can easily reinstall the removed packages.
Apt has a history file. This file is /var/log/apt/history.log
. Run the following command to view it in the terminal:
cat /var/log/apt/history.log
You will see a Start date, Commandline used, Requested-By username, etc.
So run:
grep -hA5 "remove openssl" /var/log/apt/history.log | grep "Remove"
This should print out the packages that were removed. The word "Remove" should only appear once, at the beginning of the list.
If this list appears to be what was removed, then proceed.
First, cd into your user's home directory and then send the list to a file named "removedpackages".
cd
grep -hA5 "remove openssl" /var/log/apt/history.log | grep "Remove" > removedpackages
Now we need to clean up the list before sending it to apt
.
This command should print everything on a new line:
sed -e "s/ [a-z0-9(]/\n&/g" removedpackages
This should grep for only the package names (lines that begin with a blank space followed by a lower case letter or number).
sed -e "s/ [a-z0-9(]/\n&/g" removedpackages | grep '^ [a-z0-9]'
Now the packages should be listed in the form of packagename:amd64 or packagename:all or packagename:i386 etc.
If so, then send the list to a new file named removedlist.
sed -e "s/ [a-z0-9(]/\n&/g" removedpackages | grep '^ [a-z0-9]' > removedlist
Finally to reinstall the packages, send the contents of the file to apt
.
sudo apt update
sudo apt install $(cat removedlist)
And remove your work files:
rm removedlist removedpackages
An explanation of the options used for:
sed -e "s/ [a-z0-9(]/\n&/g"
-e
prints or echos the output instead of editing the file
s///g
is the standard form of a substitute string
[a-z0-9(]
match any blank space followed by a lowercase letter or number or open parenthesis.
\n&
substitute with a new line \n
before the match &
.
Also:
For grep -hA5
-h
says do not list the file name in the output and
A5
says to also list the 5 lines after the match