当前位置:酷酷问答>生活百科>Debian / Ubuntu apt-get回滚

Debian / Ubuntu apt-get回滚

2024-11-26 03:55:23 编辑:zane 浏览量:596

Debian / Ubuntu apt-get回滚

的有关信息介绍如下:

Debian / Ubuntu apt-get回滚

Rolling回到以前的版本可以解决问题,或释放磁盘空间。双方的CentOS / RHEL支持回滚功能(可以参考《Linux就该这么学》),但我学到了艰辛的道路既Debian和Ubuntu不支持回滚功能呢。

在选择解决方案之前了解问题

我远程管理一个Ubuntu 14.04.3 LTS服务器,其中一个这些廉价云,我会定期使用apt-get命令来安装软件包或进行升级。我想在我的系统上设置“行星金星”(灵活的饲料聚合器)软件。对于一些奇怪的原因,我跑了:

$ sudo apt-get -y --install-suggests install planet-venus

我应该停止安装。但是,那天我太累了,过度劳累了。结果是一场灾难。我用完了磁盘空间,并在系统上安装了1764个软件包。

我的apt-get安装也崩溃了。那是我犯错误的一天,忘了拍摄快照/备份。

如何从命令行回滚apt-get升级?

运行以下命令找到相关的历史记录:

# grep -A 2 'Start-Date: 2016-01-17 07:56:42' /var/log/apt/history.log

示例输出

回滚/撤销apt-get install命令

创建列表:

grep -A 2 'Start-Date:2016-01-17 07:56:42' / var / log / apt / history.log | tail -1 > / tmp / packages.txt

编辑/tmp/packages.txt文件并删除Install:word:

vi / tmp / packages.txt

要么

sed -i 's/Install://' /tmp/packages.txt

最后,我需要清理几件事情:

tr ',' '\n' < /tmp/packages.txt | sed '/automatic)/d' | awk '{ print $1}' > /tmp/final.packages.txt

wc -l /tmp/final.packages.txt

示例输出:

1764 /tmp/final.packages.txt

删除包

现在,我有一个完整的列表,安装在这一天安装的所有软件包。

# less /tmp/final.packages.txt

libmaa3:amd64

ant:amd64

libmimic0:amd64

dc:amd64

libparse-yapp-perl:amd64

gir1.2-clutter-1.0:amd64

libjna-java:amd64

python-egenix-mxbeebase:amd64

libxkbcommon-x11-0:amd64

libmpeg2-4:amd64

libopencv-core2.4:amd64

libdvdread4:amd64

libhunspell-1.3-0:amd64

fonts-lobster:amd64

libtotem-plparser18:amd64

libodbcinstq4-1:amd64

jed-common:amd64

....

..

...

xfonts-cyrillic:amd64

postgresql:amd64

db5.3-util:amd64

libopencore-amrnb0:amd64

firebird2.5-examples:amd64

libboost-random1.54-dev:amd64

libtbb2:amd64

libwxgtk2.8-0:amd64

libc6-x32:amd64

magicfilter:amd64

执行卸载的脚本

# Run as root

# Store packages name in $p

p="$(

# Nuke it

apt-get --purge remove $p

#clears out the local repository of retrieved package files

apt-get clean

# Just in case ...

apt-get autoremove

# Verify disk space

df -H

结论

1. 在服务器上做主要操作之前,最好先进行备份。

2. 三思而后行

3. 永远不要盲目地信任apt-get或任何具有-y选项的命令。

4. 始终制作快照。不幸的是,这个盒子还是使用ext4。没有选择将此文件系统设置为该云服务器提供商的BTRFS / ZFS(ZFS上的Linux)。所以现在我被ext4困住了。

版权声明:文章由 酷酷问答 整理收集,来源于互联网或者用户投稿,如有侵权,请联系我们,我们会立即处理。如转载请保留本文链接:https://www.kukuwd.com/life/139697.html
热门文章