Just ran this and it looks unancellable.
MUCH is being cleared out.
I simply want to remove and re-insall all ssl ssh apparatus.
There is horrible version mismatch.
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.
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
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
apt
.sudo apt update
sudo apt install $(cat removedlist)
And remove your work files:
rm removedlist removedpackages
sed -e "s/ [a-z0-9(]/\n&/g"
-e
prints or echos the output instead of editing the files///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 &
.For grep -hA5
-h
says do not list the file name in the output andA5
says to also list the 5 lines after the matchIt's the operating system's command line interface.
In this environment, a lot of commands can become very dangerous, especially when they are being copy-pasted, and especially when unintended, or unaware options, such as -y
are being left in them.
I seem to observe that a lot of people —novices, but on occasion, sysadmins alike— appear to learn to respect this environment only at their own, sometimes significant expenses.
In the meanwhile, I suggest relying on the apt-get
command's --simulate
or equivalent --dry-run
options to review the impact of such commands without having to live with the consequences.
-y
. You just told the system that you don't want a chance to review or cancel. Do not interrupt. When it finishes, installubuntu-desktop
, which should reinstall most of what was lost. – user535733 Jul 26 '23 at 16:45Can't believe Ubuntu upgrade has left in broken ssl ssh state. These are fundamental things. They should be packaged together I on Ubuntu surely.
– mathtick Jul 26 '23 at 16:55sudo
and-y
, so if there was a third level of protection you might still have turned that off accidentally as well. – IMSoP Jul 27 '23 at 10:54apt-get remove -y
. But that only covers things that are truly critical, basically the minimum to boot to a local shell. It doesn't cover things that not everybody would want, such as an SSH server. – Gilles 'SO- stop being evil' Jul 28 '23 at 12:58apt-get remove openssl -y
does not remove SSH. Not that “remove and reinstall” is a good idea in the first place: whatever problem you're trying to solve, this probably won't resolve it, or if it does thenapt-get install --reinstall
would be a less risky way of resolving it. – Gilles 'SO- stop being evil' Jul 28 '23 at 13:00