AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 389617
Accepted
hornetbzz
hornetbzz
Asked: 2012-05-17 04:28:43 +0800 CST2012-05-17 04:28:43 +0800 CST 2012-05-17 04:28:43 +0800 CST

生成自动重新安装文件

  • 772

运行 Debian Lenny 发行版:

我仍然想知道如何“轻松”地安装完整的发行版设置,但目前,我希望能够轻松快速地运行重新安装,所以我在 rsync 备份 shell 中添加了这样一行:

# Store the list of installed packages
dpkg --get-selections > $PACKAGES

是否有更好的方法使用dpkg或其他工具以便在出现故障时能够从现有系统生成自动重新安装文件?

debian dpkg
  • 2 2 个回答
  • 65 Views

2 个回答

  • Voted
  1. Best Answer
    stew
    2012-05-17T09:31:47+08:002012-05-17T09:31:47+08:00

    apt 现在跟踪哪些软件包是手动安装的,哪些是自动安装的。手动安装的软件包是您明确要求安装的软件包。当您运行时apt-get install foo, foo 被标记为“手动安装”。当为了满足 foo 的依赖,它也必须安装 bar 时,则 bar 被标记为“自动安装”。这很有用,以便以后当您 时apt-get remove foo,系统可以知道您也不再需要 bar 了。

    您的方法,使用dpkg --get-selections将丢失此信息。通过获取仅手动安装的包的列表可以获得更好的包列表:

    aptitude search '~i!~M' -F %p
    

    ~i意思是“已安装的包”。 !~M表示“未自动安装”。 -F %p将输出格式化为仅包名称。

    当您安装软件包时,它们通常会提示您提供更多配置选项。这存储在“debconf”数据库中。您可能还想备份此数据库。这个数据库可以用它来备份和恢复,debconf-get-selections这debconf-set-selections将需要这个debconf-utils包。

    • 3
  2. Jeff Ferland
    2012-05-17T09:18:25+08:002012-05-17T09:18:25+08:00

    这对我来说似乎是简单的方法。

    更复杂和复杂的方法是使用 Puppet 或 Chef 等工具定义所有内容。就此而言,我尝试将我的文件归为以下三类之一:

    • 软件
      • 安装包拥有的任何东西
      • 如果我在生产中自定义安装某些东西,它应该通过自定义包
    • 配置
      • 这些可能会覆盖包定义的配置。
    • 数据

    通过 Puppet 管理和备份配置。软件包来自在线镜像和安装介质。数据是“其他一切”,理想情况下限制在它可以显示的目录中。这使得备份更简单、更小、更快,并允许轻松迁移到其他机器或出于任何原因重新安装系统。

    • 2

相关问题

  • 关闭 FTP

  • 如何在同一台电脑上从 putty 连接 debian vmware

  • debian- 文件到包的映射

  • Debian Ubuntu 网络管理器错误 [关闭]

  • 为本地网络中的名称解析添加自定义 dns 条目

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve