dpkg-repack / apt-clone:重新打包 已安装的 软件,一键迁移 (***)

如何在 Debian/Ubuntu/Kali 上重新打包 已安装的 软件

ubuntu迁移环境 软件包一键迁移

----------------------------------------------------------------------

一键迁移:有时并不容易。

由于有些包缺少必要的文件,或破损,此时未必能够成功地 clone, 或打包。

----------------------------------------------------------------------

参考:

dpkg-repack / apt-clone:重新打包 已安装的 软件,一键迁移 (***)  dpkg-repack / apt-clone:重新打包 已安装的 软件,一键迁移 (***)-CSDN博客

Linux 中的 dpkg 命令及示例 (**)https://blog.csdn.net/ken2232/article/details/136598371

利用 appimagetool 工具对开发好的项目进行打包 (***带笔记*)  https://blog.csdn.net/ken2232/article/details/131313613

========================================

ubuntu迁移环境 软件包一键迁移

安装

sudo apt-get install apt-clone

原来机器备份:

sudo  apt-clone clone  backupname  --with-dpkg-repack

备份到backupname 下,当前目录会生成一个tar包

查看包信息

apt-clone info backupname
Hostname: codewar-virtual-machine
Arch: amd64
Distro: bionic
Meta: libunity-scopes-json-def-desktop, ubuntu-desktop
Installed: 1625 pkgs (60 automatic)
Date: Tue Mar 24 22:40:42 2020
说明有1625个pkgs

新机器安装:

sudo apt-clone restore  backupname
backupname 就是上面生成的tar包


————————————————
版权声明:本文为CSDN博主「勤奋的Alivon」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_43619065/article/details/105083672

如何在 Debian/Ubuntu/Kali 上重新打包 已安装的 软件

划重点:

    1. 如何将 Debian系 Linux系统或服务器上已安装的软件重新打包,制作 deb 安装包;
    2. 能否实现软件环境的克隆,以避免因缺失依赖而项导致的无法安装;
    3. 保持软件原来的设置状态迁徙,减少后续重新设置时的工作量。

面对如上困境,博主推荐使用 dpkg-repack 和 apt-clone工具 ~~

一、 Dpkg-Repack

dpkg-repack 是一款能对已安装软件进行deb打包的软件。
 

安装方法:

    sudo apt install dpkg-repack -y


安装成功后,以我 Kali Linux 操作系统中的 百度输入法为例:
打包百度输入法 Linux版:

     dpkg-repack fcitx-baidupinyin

----------------------

如果由于任何权限问题而无法重建 deb 文件,请从fakeroot环境中运行命令:

    fakeroot -u dpkg-repack <package-name>

我们可以在运行原始软件的主服务器上打印依赖项:

    apt-cache depends Package_name |awk '{print $2}'

也可尝试创建脚本来自动安装依赖项:

package=package
dpkg-repack $(apt-cache depends --false-suggests $package |awk '{print $2}') $package

————————————————

、Apt-Clone

   apt-clone 是一款非常使用的程序,能够 帮助 dekg-repack 重新构建deb的同时保留被打包软件的设置项和依赖环境。

该软件同样可通过CLI进行安装:

    apt-get install apt-clone -y

注:需要下载安装: Debian -- Details of package apt-clone in sid

apt 先查阅软件依赖项:

     C:\root> apt-cache depends fcitx-baidupinyin | awk '{print $2}'

指定构建被迁徙软件的 apt-clone.tar.gz 环境包:

     apt-clone clone fcitx-baidupinyin --with-dpkg-repack

最后将构建好的 apt-clone.tar.gz 移动到目标服务器中恢复构建即可:

    apt-clone restore fcitx-baidupinyin.apt-clone.tar.gz

You can manually install the same packages from one server to another with the below commands :

    dpkg -l | grep ^ii | awk '{print $2}' > installed
    # another server
    sudo apt-get install $(cat installed)

Usually, the settings are saved in the /etc/ directory. There are tools such as etckeeper which can be used with git to restore the settings :
http://etckeeper.branchable.com/

————————————————
版权声明:本文为CSDN博主「~晨曦静竹~」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_43515862/article/details/126457255

bash-在Debian上使用dpkg-repack备份可升级软件包

(Backup upgradable packages with dpkg-repack on debian)

发布于 2021-03-19 01:37:37

我想列出可升级的软件包并自动将其重新打包为.debs。我的尝试:

fakeroot -u dpkg-repack `apt list --upgradable | cut -f1 -d"/" | awk '{if(NR>2)print}'`

因此它获取包名称,然后将名称重定向到dpkg-repack。它部分起作用,因为当amd64和i386软件包同时存在且名称相同时,dpkg-repack会引发错误-在这种情况下,它希望将体系结构添加到软件包名称中。

你是否知道如何管理它,并且在存在多个拱门的情况下,自动生成两个Deb?似乎dpkg-repack不够智能,无法自动生成多个体系结构,它仅抛出错误消息,提示已安装多个具有相同名称的软件包

  在Debian上使用dpkg-repack备份可升级软件包 - 糯米PHP

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值