广告合作
  • 今日头条

    今日头条

  • 百度一下

    百度一下,你就知道

  • 新浪网

    新浪网 - 提供新闻线索,重大新闻爆料

  • 搜狐

    搜狐

  • 豆瓣

    豆瓣

  • 百度贴吧

    百度贴吧——全球领先的中文社区

  • 首页 尚未审核订阅工具 订阅

    Debian / Ubuntu apt-get回滚

    来源:网络收集  点击:  时间:2024-04-21
    【导读】:
    Rolling回到以前的版本可以解决问题,或释放磁盘空间。双方的CentOS / RHEL支持回滚功能(可以参考《Linux就该这么学》),但我学到了艰辛的道路既Debian和Ubuntu不支持回滚功能呢。工具/原料moreUbuntu/Debian方法/步骤1/6分步阅读

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

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

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

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

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

    2/6

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

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

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

    示例输出

    3/6

    回滚/撤销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

    4/6

    删除包

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

    # 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

    5/6

    执行卸载的脚本

    # Run as root

    # Store packages name in $p

    p=$(/tmp/final.packages.txt)

    # 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

    6/6

    结论

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

    2. 三思而后行

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

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

    本文关键词:

    版权声明:

    1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。

    2、本站仅提供信息发布平台,不承担相关法律责任。

    3、若侵犯您的版权或隐私,请联系本站管理员删除。

    4、文章链接:http://www.1haoku.cn/art_557684.html

    相关资讯

    ©2019-2020 http://www.1haoku.cn/ 国ICP备20009186号05-06 11:48:25  耗时:0.026
    0.0258s