我看到了类似问题的答案,https://askubuntu.com/a/280843/808169,只是有一个空白。答案几乎完全符合我的情况,但没有回答我如何在安装已删除的软件包的同时卸载新安装的软件包的问题。
要重现我的系统上发生的情况,您需要做的就是运行这行命令(请不要运行它,除非您在有充足时间和很多善意的情况下在 VM 上执行此操作):
bash <(wget -q -O -https://bitbucket.org/DataspeedInc/dbw_mkz_ros/raw/default/dbw_mkz/scripts/ros_install.bash)
尽管有警告,但由于我熬夜不眠,我还是意外地运行了它,到目前为止我没有任何备份。我也不想全新安装 Ubuntu,因为我在 /usr/... 文件子树中安装了很多库。
我链接的答案表明 Ubuntu 会保留日志文件,如果您了解足够的 bash 脚本,可以使用这些文件来回溯命令。有人能帮我制定这样的脚本吗?我将不胜感激。
顺便说一句,我的系统仍然有效,但感觉不对劲,好像核心上有些不对劲,而且我在隐私方面感到不安全。
先感谢您。
答案1
事实上,逆转脚本是不可能的。
我们拥有当前提供的文件 - 但我们无法验证是否已向您提供该文件。基本上,您可能已收到任何文件 - rootkit、bitlocker、键盘记录器、蠕虫等等。
也就是说,假设脚本https://bitbucket.org/DataspeedInc/dbw_mkz_ros/raw/default/dbw_mkz/scripts/ros_install.bash是运行的内容,它并没有做太多的事情:
sudo apt-get remove -y thunderbird transmission-gtk transmission-common unity-webapps-common brasero-common
sudo apt-get purge unity-webapps-common apport
可以通过以下方式逆转
sudo apt install thunderbird unity-webapps-common
或任何您想要安装的已删除程序。您可以检查/var/log/apt/history.log
已删除和已安装的程序。AFAIAA,它们都不是必不可少的。
一次运行这些行。
sudo apt purge ros-*-desktop ros-*-dbw-mkz
sudo rm -i /etc/apt/sources.list.d/ros-*
sudo apt-key del 421C365BD9FF1F717815A3895523BAEEB01FA116 # not required but cleans up your keys
sudo apt-key del 66F84AE1EB71A8AC108087DCAF677210FF6D3CDA # not required but cleans up your keys
#sudo rm -rf /etc/ros
#sudo rm -rf /opt/ros
rm ~/.config/autostart/joystick_demo.desktop
并检查错误。请注意,在这两行中,您必须从开头删除 #,它们是非常强大的删除操作,如果它们错误,将破坏您的系统。它们将删除两个ros
目录中的所有内容。
有线条ros_install.bash
喜欢:
gsettings set org.gnome.desktop.screensaver lock-enabled false
据我所知,没有办法确定你之前的设置是什么。这些设置似乎都不错,但你可能需要检查一下(它们很清晰,也很明显)。
您将需要检查添加的行的末尾~/.bashrc
;使用类似的编辑器将其删除gedit
。
这似乎会逆转ros_install.bash
剧本中所做的主要改变。
有一些地方做了一些未知的事情,需要更深入地研究,该ros-$VAR-desktop
软件包可能依赖于各种各样的东西,并弄乱您的系统。 和rosdep init
上面rosdep update
没有探讨,而且可能再次进行了任意更改。yaml
sdk_install.bash 中的文件可能正在执行任何操作,我没有检查。
为了圆满结束,你需要
sudo apt update && sudo apt dist-upgrade
然后重新启动。