mathtick Asked: 2023-07-27 00:42:01 +0800 CST2023-07-27 00:42:01 +0800 CST 2023-07-27 00:42:01 +0800 CST “apt-get remove openssl -y”非常危险吗? 772 刚刚运行了这个,它看起来无法取消。 很多东西正在被清理掉。 我只是想删除并重新安装所有 ssl ssh 设备。 存在可怕的版本不匹配。 ssh 2 个回答 Voted Best Answer mchid 2023-07-27T11:11:40+08:002023-07-27T11:11:40+08:00 您可以轻松地重新安装已删除的软件包。 Apt 有一个历史文件。这个文件是/var/log/apt/history.log. 运行以下命令在终端中查看: cat /var/log/apt/history.log 您将看到开始日期、使用的命令行、请求者用户名等。 所以运行: grep -hA5 "remove openssl" /var/log/apt/history.log | grep "Remove" 这应该打印出被删除的包。“删除”一词只能出现一次,即在列表的开头。 如果此列表似乎是已删除的列表,则继续。 首先,cd 进入用户的主目录,然后将列表发送到名为“removedpackages”的文件。 cd grep -hA5 "remove openssl" /var/log/apt/history.log | grep "Remove" > removedpackages 现在我们需要先清理列表,然后再将其发送到apt. 此命令应在新行上打印所有内容: sed -e "s/ [a-z0-9(]/\n&/g" removedpackages 这应该只 grep 包名称(以空格开头,后跟小写字母或数字的行)。 sed -e "s/ [a-z0-9(]/\n&/g" removedpackages | grep '^ [a-z0-9]' 现在软件包应该以 packagename:amd64 或 packagename:all 或 packagename:i386 等形式列出。 如果是这样,则将该列表发送到名为removedlist.txt的新文件。 sed -e "s/ [a-z0-9(]/\n&/g" removedpackages | grep '^ [a-z0-9]' > removedlist 最后要重新安装软件包,请将文件的内容发送到apt. sudo apt update sudo apt install $(cat removedlist) 并删除您的工作文件: rm removedlist removedpackages 用于以下选项的说明: sed -e "s/ [a-z0-9(]/\n&/g" -e打印或回显输出而不是编辑文件 s///g是替代字符串的标准形式 [a-z0-9(]匹配任何空格后跟小写字母或数字或左括号。 \n&\n比赛前用新线替换&。 还: 为了grep -hA5 -h说不要在输出中列出文件名 A5说还要列出比赛后的 5 行 Levente 2023-07-27T01:26:01+08:002023-07-27T01:26:01+08:00 它是操作系统的命令行界面。 在这种环境中,许多命令可能变得非常危险,特别是在复制粘贴它们时,尤其是在无意或不知情的选项(例如-y留在其中)的情况下。 我似乎观察到,很多人(新手,但有时也包括系统管理员)似乎只能付出自己的代价(有时甚至是巨大的代价)才能学会尊重这种环境。 同时,我建议依靠命令apt-get或--simulate等效--dry-run选项来审查此类命令的影响,而不必承担后果。
您可以轻松地重新安装已删除的软件包。
Apt 有一个历史文件。这个文件是
/var/log/apt/history.log
. 运行以下命令在终端中查看:您将看到开始日期、使用的命令行、请求者用户名等。
所以运行:
这应该打印出被删除的包。“删除”一词只能出现一次,即在列表的开头。
如果此列表似乎是已删除的列表,则继续。
首先,cd 进入用户的主目录,然后将列表发送到名为“removedpackages”的文件。
现在我们需要先清理列表,然后再将其发送到
apt
.此命令应在新行上打印所有内容:
这应该只 grep 包名称(以空格开头,后跟小写字母或数字的行)。
现在软件包应该以 packagename:amd64 或 packagename:all 或 packagename:i386 等形式列出。
如果是这样,则将该列表发送到名为removedlist.txt的新文件。
最后要重新安装软件包,请将文件的内容发送到
apt
.并删除您的工作文件:
用于以下选项的说明:
-e
打印或回显输出而不是编辑文件s///g
是替代字符串的标准形式[a-z0-9(]
匹配任何空格后跟小写字母或数字或左括号。\n&
\n
比赛前用新线替换&
。还:
为了
grep -hA5
-h
说不要在输出中列出文件名A5
说还要列出比赛后的 5 行它是操作系统的命令行界面。
在这种环境中,许多命令可能变得非常危险,特别是在复制粘贴它们时,尤其是在无意或不知情的选项(例如
-y
留在其中)的情况下。我似乎观察到,很多人(新手,但有时也包括系统管理员)似乎只能付出自己的代价(有时甚至是巨大的代价)才能学会尊重这种环境。
同时,我建议依靠命令
apt-get
或--simulate
等效--dry-run
选项来审查此类命令的影响,而不必承担后果。