当我们在基于 Ubuntu/Debian 的系统上使用 apt-clone,包安装会变得更加容易。如果你需要在少量系统上安装相同的软件包时,apt-clone 会适合你。

如果你想在每个系统上手动构建和安装必要的软件包,这是一个耗时的过程。它可以通过多种方式实现,Linux 中有许多程序可用。我们过去曾写过一篇关于 Aptik 的文章。它是能让 Ubuntu 用户备份和恢复系统设置和数据的程序之一。

什么是 apt-clone?

apt-clone 能让你为 Debian/Ubuntu 系统创建所有已安装软件包的备份,这些软件包可以在新安装的系统(或容器)或目录中恢复。

该备份可以在相同操作系统版本和架构的多个系统上还原。

如何安装 apt-clone?

apt-clone 包可以在 Ubuntu/Debian 的官方仓库中找到,所以,使用 apt 包管理器 或 apt-get 包管理器 来安装它。

使用 apt 包管理器安装 apt-clone

$ sudo apt install apt-clone
复制代码

使用 apt-get 包管理器安装 apt-clone

$ sudo apt-get install apt-clone
复制代码

如何使用 apt-clone 备份已安装的软件包?

成功安装 apt-clone 之后。只需提供一个保存备份文件的位置。我们将在 /backup 目录下保存已安装的软件包备份。

apt-clone 会将已安装的软件包列表保存到 apt-clone-state-Ubuntu18.2daygeek.com.tar.gz 中。

$ sudo apt-clone clone /backup
复制代码

我们同样可以通过运行 ls 命令来检查。

$ ls -lh /backup/
total 32K
-rw-r--r-- 1 root root 29K Apr 20 19:06 apt-clone-state-Ubuntu18.2daygeek.com.tar.gz
复制代码

运行以下命令,查看备份文件的详细信息。

$ apt-clone info /backup/apt-clone-state-Ubuntu18.2daygeek.com.tar.gz
Hostname: Ubuntu18.2daygeek.com
Arch: amd64
Distro: bionic
Meta: libunity-scopes-json-def-desktop, ubuntu-desktop
Installed: 1792 pkgs (194 automatic)
Date: Sat Apr 20 19:06:43 2019
复制代码

根据上面的输出,备份文件中总共有 1792 个包。

如何恢复使用 apt-clone 进行备份的软件包?

你可以使用任何远程复制程序来复制远程服务器上的文件。

$ scp /backup/apt-clone-state-ubunt-18-04.tar.gz Destination-Server:/opt
复制代码

复制完成后,使用 apt-clone 执行还原。

使用以下命令进行还原。

$ sudo apt-clone restore /opt/apt-clone-state-Ubuntu18.2daygeek.com.tar.gz
复制代码

请注意,还原将覆盖现有的 /etc/apt/sources.list 并安装/删除包。所以要小心。

如果你要将所有软件包还原到文件夹而不是实际还原,可以使用以下命令。

$ sudo apt-clone restore /opt/apt-clone-state-Ubuntu18.2daygeek.com.tar.gz --destination /opt/oldubuntu
复制代码

via: www.2daygeek.com/apt-clone-b…

作者:Magesh Maruthamuthu 选题:lujun9972 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

apt-clone:备份已安装的软件包并在新的 Ubuntu 系统上恢复它们相关推荐

  1. ubuntu 恢复apt_apt-clone:备份已安装的软件包并在新的 Ubuntu 系统上恢复它们

    如果你需要在少量系统上安装相同的软件包时,apt-clone 会适合你. -- Magesh Maruthamuthu(作者) 当我们在基于 Ubuntu/Debian 的系统上使用 apt-clon ...

  2. android备份:apk安装过程及原理,备份已安装应用的apk包技术实现方案

    安卓设备上备份已安装应用的apk包技术实现方案 需求的目的 在只有安装应用, 没有该应用的apk,而我们又想活取应用apk,用来分享给别人,或是应用的备份, 说是应用的增量升级的, 怎么办? 本文将告 ...

  3. Centos8 初体验 (二)最小化安装下查看已安装的软件包列表,并尝试dnf安装vim软件,以及dnf常用的一些操作

    目录 通过dnf list 查看最小化安装的软件包都有哪些 用dnf 安装软件 dnf 下载源查看: dnf 下载包到当前目录,或指定目录 查看所有包或指定包的依赖关系 检查包文件所依赖的前置条件和配 ...

  4. ubuntu安装java_如何在Ubuntu系统上安装Java

    作为Java开发人员,您将需要一次或两次在系统上安装它.与普遍的看法相反,在Ubuntu计算机上安装Java非常简单.在本文中,我们将说明以下三种在Ubuntu系统上安装稳定版本的Java的方法: 通 ...

  5. 如何安装linux_在Ubuntu系统上如何制作Linux安装U盘

    请关注本头条号,每天坚持更新原创干货技术文章. 如需学习视频,请在微信搜索公众号"智传网优"直接开始自助视频学习 1. 前言 本文主要讲解如何在Ubuntu系统中制作Linux启动 ...

  6. 在ubuntu系统上安装lammps与QUIP插件

    在ubuntu系统上安装lammps与QUIP插件 注:一定在安装之前确定自己的Ubuntu版本,太新的版本可能导致安装后出现莫名奇妙的错误,系统还不会"告诉"你 我自己一开始安装 ...

  7. 在ubuntu系统上安装指定版本的gfortran

    在ubuntu系统上安装指定版本的gfortran,具体步骤如下: zhao@ubuntu:~$ sudo apt-get install gfortran-6 Reading package lis ...

  8. 如何在ubuntu系统上安装多个cudn环境(及对应cudnn、pytorch 、torchvision安装方法 )

    如何在ubuntu系统上安装多个cudn环境 第二版本的cuda的安装 cuda的切换设置 对应cudnn的安装 安装pytorch及torchvision 后话 转载请注明出处 在跑模型的时候报错说 ...

  9. Ubuntu系统上远程桌面,samba,ftp,vncserver,ssh服务器,teamviewer安装配置

    [说明]本文摘录和收集了很多网上前辈写的教程,在此表示感谢,本文都是经过自己的实践证明可行的,希望可以对他人有所帮助! 远程桌面安装配置: 1. ubuntu配置[(1)(2)必做,(3)选做] (1 ...

最新文章

  1. C语言 | 变量的存储方式
  2. grep -e命令详解_grep中的正则表达式
  3. springboot使用JSR303对数据进行校验
  4. 向服务器上传本地大文件的方法xshell
  5. 程序员就要独“一”无“二”
  6. windows10-seaslog安装笔记
  7. 【魔改蜗牛星际】A单主板变“皇帝板”扩展到8个SATA口
  8. 微信小程序上传头像,使用wx.chooseImage; wx.uploadFile
  9. 百度编辑器Ueditor多文本域实现
  10. 前后端分离 -- 深入浅出 Spring Boot + Vue 实现工程项目进度管理系统 Vue不过如此~
  11. 恢复grub 修复分区表
  12. SAP采购计划协议(SA)中的计划行统计清单
  13. 信息系统集成有以下几个显著特点
  14. NYOJ-366:D的小L
  15. PostgreSQL的学习心得和知识总结(五十三)|语法级自上而下完美实现MySQL数据库的 insert set 的实现方案
  16. 01基础-算法第四版红黑树-红黑树-数据结构和算法(Java)
  17. 联想y7000p 2019 安装ubuntu20.04 双系统 设置efi分区
  18. Matlab中repmat函数使用方法
  19. G. Good Key, Bad Key(暴力)
  20. python series转置储存到excel_P9:pythonpandas玩转excel文件

热门文章

  1. c语言L文件,frexpl - [ C语言中文开发手册 ] - 在线原生手册 - php中文网
  2. dockerfile 安装mysql_dockerfile构建mysql镜像
  3. jsp,div 限制字数,超出部分用省略号代替
  4. UNIX(多线程):13---condition_variable、wait、notify_one、notify_all
  5. C++:38---final关键字和禁止类继承
  6. C++:43---派生类向基类转换、静态/动态的类变量
  7. C++:18---const关键字(附常量指针、指针常量、常量指针常量)
  8. 我对STL的一些看法(一)初步认识STL
  9. 算法章节 数组、链表、栈、队列
  10. 使用opensll的md5对于string进行加密