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

当我们在基于 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中国 荣誉推出

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/448838.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

分布式消息中间件 : Rocketmq

简述 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。 分布式消息中间件,主要是实现分布式系统中解耦、异步消息、流量销锋、日志处理等场景。生产中用的最多的消息队…

PV、UV、UIP、VV、CPC、CPM、RPM、CTR指的是什么?

PV(PageView):网站浏览量,指页面的浏览次数,用以衡量网站用户访问的网页数量。用户没打开一个页面便记录1次PV,多次打开同一页面则浏览量累计;UV(UniqueVistor):独立访客数,指1天内访问某站点的…

linux opencl(AMD) Example

最近对并行计算很感兴趣。不过搞MPI对我来说暂时没什么用,基于GPU的并行计算倒是挺实用。网上的资料都是CUDA的。实质上我对CUDA一点兴趣都没有。无论别人的架构多么先进,我这个只有AMD显卡的小孩都是旁观者而已。在这里记录一下一个opencl程序的编译过程…

php使用supervisor管理进程脚本

supervisor是用python开发的一个在linux系统下的进程管理工具,可以方便的监听,启动,停止一个或多个进程。当一个进程被意外杀死后,supervisor监听到后,会自动重新拉起进程。 一、supervisor的安装 1、通过easy_install…

重写规则和重载规则

重写规则: 发生在有继承关系的类之间(同一类就是重载了)相同的方法名,参数列表,返回类型可见性(public,protected,private)不能被缩小异常不能被放大规则与c中不一样静态类型不能被重写方法重载…

消息中间件:RocketMQ 介绍(特性、术语、原理、优缺点、消息顺序、消息重复)

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。 消息中间件的作用 1. 应用解耦 2. 异步处理 比如用户注册场景,注册主流程完成以后,需要调用邮件系统发送邮件…

C# JsonHelper类

记录一下&#xff0c;方便下次用。 public class JsonHelper{#region Json/// <summary>/// JavaScriptSerializer/// </summary>/// <typeparam name"T"></typeparam>/// <param name"obj"></param>/// <returns&…

[译】Redux入门教程(一)

前言 老外写技术文章真是叼&#xff0c;这是国外的一个程序员写的一个简单易懂,循序渐进的Redux教程&#xff0c;本着共享的精神&#xff0c;就翻译出来给大家一起看&#xff0c;文章最后有链接&#xff0c;不想看我翻译的直接去看原文吧。 下面是原教程的英文目录 这篇先更三分…

使用 Intellij Idea 打包 java 工程为可执行 jar 包

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 其实还有个简单多了方法&#xff0c;见&#xff1a; 超简单方法&#xff1a; Intellij Idea 把 java 工程打成可运行的 jar 步骤&#x…

QuickStart系列:docker部署之Gitlab本地代码仓库

gitlab是可以在本地搭建的使用git作为源代码管理的仓库。 运行环境&#xff1a; win10vmware14docker7docker 1. 使用命令拉取镜像&#xff08;非必须&#xff0c;耗时比较久&#xff0c;这里以ce为准&#xff0c;ce是社区版&#xff0c;ee是企业版&#xff09;&#xff1a; do…

超简单方法: Intellij Idea 把 java 工程打成可运行的 jar

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 1. 找到 Intellij Idea 最下面的 Terminal 选项&#xff0c;并点击进入该界面。 2. 在光标位置输入命令&#xff1a;mvn clean 。清理…

LDAP-轻量级目录访问协议(统一认证)

概念 LDAP是轻量目录访问协议&#xff0c;英文全称是Lightweight Directory Access Protocol&#xff0c;一般都简称为LDAP。 参考资料 LDAP概念和原理介绍 我花了一个五一终于搞懂了OpenLDAP LDAP-Apache Directory Studio使用&#xff08;创建DC.OU及用户&#xff09; 转载于…

kafka集群搭建(消息)

1、Kafka使用背景在我们大量使用分布式数据库、分布式计算集群的时候&#xff0c;是否会遇到这样的一些问题&#xff1a;我们想分析下用户行为&#xff08;pageviews&#xff09;&#xff0c;以便我们设计出更好的广告位我想对用户的搜索关键词进行统计&#xff0c;分析出当前的…

[转]在Windows 下使用OpenCL

目前&#xff0c;NVIDIA和AMD的Windows driver均有支援OpenCL&#xff08;NVIDIA的正式版driver是从195.62版开始&#xff0c;而AMD则是从9.11版开始&#xff09;。NVIDIA的正式版driver中包含OpenCL.dll&#xff0c;因此可以直接使用。AMD到目前为止&#xff0c;则仍需要安装其…

docker 之 Dockerfile 实践

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 上一篇介绍了Dockerfile中使用的指令&#xff0c;现在开始进行指令实践 先查看下本地的镜像&#xff0c;选一个作为base image&#xf…

tomcat启动后命令行日志中文乱码

这是日志的编码设置和窗体的编码格式不一致。 将 conf\logging.properties 文件中的 UTF-8 改成 GBK 重启tomcat &#xff08;右键cmd标题栏部分&#xff0c;可以查看cmd属性&#xff09; 转载于:https://www.cnblogs.com/Echiops/p/10974587.html

Coursera机器学习笔记(一) - 监督学习vs无监督学习

转载 http://daniellaah.github.io/2016/Machine-Learning-Andrew-Ng-My-Notes-Week-1-Introduction.html 一. 监督学习 什么是监督学习? 我们来看看维基百科中给出的定义: 监督式学习&#xff08;英语&#xff1a;Supervised learning&#xff09;&#xff0c;是一个机器学习…

基于OpenCL的mean filter性能

1.对于一个标准的3*3 均值滤波&#xff0c;kernel代码如下&#xff1a; 使用buffer/image缓冲对象 __kernel void filter(__global uchar4* inputImage, __global uchar4* outputImage, uint N) {int x get_global_id(0);int y get_global_id(1);int width get_global_size(…

Docker 实战:编写 Dockerfile

一、编译镜像 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 1. 编译镜像 Dockerfile类似于Makfile&#xff0c;用户使用docker build就可以编译镜像&#xff0c;使用该命令可以设置编译…

dubbo-环境搭建,实现一个简单地dubbo实例(附github地址)

一、建立maven模块和provider、consumer、service子模块&#xff0c;其中service是开发接口的模块 建立一个maven模块&#xff0c;不选择样板&#xff0c;直接next知道完成&#xff0c;建立三个子模块,建立完后发现各个模块的java目录不是源目录 右键——>make Directory as…