刚刚运行了这个,它看起来无法取消。
很多东西正在被清理掉。
我只是想删除并重新安装所有 ssl ssh 设备。
存在可怕的版本不匹配。
mch*_*hid 17
Apt 有一个历史文件。这个文件是/var/log/apt/history.log. 运行以下命令在终端中查看:
cat /var/log/apt/history.log
Run Code Online (Sandbox Code Playgroud)
您将看到开始日期、使用的命令行、请求者用户名等。
所以运行:
grep -hA5 "remove openssl" /var/log/apt/history.log | grep "Remove"
Run Code Online (Sandbox Code Playgroud)
这应该打印出被删除的包。“删除”一词只能出现一次,即在列表的开头。
首先,cd 进入用户的主目录,然后将列表发送到名为“removedpackages”的文件。
cd
grep -hA5 "remove openssl" /var/log/apt/history.log | grep "Remove" > removedpackages
Run Code Online (Sandbox Code Playgroud)
apt.此命令应在新行上打印所有内容:
sed -e "s/ [a-z0-9(]/\n&/g" removedpackages
Run Code Online (Sandbox Code Playgroud)
这应该只 grep 包名称(以空格开头,后跟小写字母或数字的行)。
sed -e "s/ [a-z0-9(]/\n&/g" removedpackages | grep '^ [a-z0-9]'
Run Code Online (Sandbox Code Playgroud)
现在软件包应该以 packagename:amd64 或 packagename:all 或 packagename:i386 等形式列出。
如果是这样,则将该列表发送到名为removedlist.txt的新文件。
sed -e "s/ [a-z0-9(]/\n&/g" removedpackages | grep '^ [a-z0-9]' > removedlist
Run Code Online (Sandbox Code Playgroud)
apt.sudo apt update
sudo apt install $(cat removedlist)
Run Code Online (Sandbox Code Playgroud)
并删除您的工作文件:
rm removedlist removedpackages
Run Code Online (Sandbox Code Playgroud)
sed -e "s/ [a-z0-9(]/\n&/g"
Run Code Online (Sandbox Code Playgroud)
-e打印或回显输出而不是编辑文件s///g是替代字符串的标准形式 [a-z0-9(]匹配任何空格后跟小写字母或数字或左括号。\n&\n比赛前用新线替换&。为了grep -hA5
-h说不要在输出中列出文件名A5说还要列出比赛后的 5 行| 归档时间: |
|
| 查看次数: |
4301 次 |
| 最近记录: |