我有一个服务器构建脚本,它使用 apt-get 来安装软件包。然后它将预先编写的配置文件直接放置到位,因此不需要诸如 postfix 之类的包中的交互式安装后配置对话框。如何跳过此安装阶段?它创建了一个我宁愿避免的手动干预。
我知道该-qq选项,但联机帮助页警告不要在未指定无操作修饰符的情况下使用它。我确实想执行一个动作,我只想抑制它的特定部分。
为了编译一些东西,我需要zlib1g-dev安装这个包,所以我启动了一个apt-get install zlib1g-dev.
apt-get 很好地告诉我,由于另一个软件包,该软件包已经自动安装,并且它知道我现在要明确安装它:
# apt-get install zlib1g-dev
zlib1g-dev is already the newest version.
zlib1g-dev set to manually installed.
Run Code Online (Sandbox Code Playgroud)
我的编译完成了,我不再需要它了,所以我想把它的状态恢复到以前的状态:自动安装。这样,当不再需要它时,它将使用简单的apt-get autoremove.
我不能做,apt-get remove zlib1g-dev因为有些包仍然依赖它。
那么如何将包zlib1g-dev安装状态恢复为自动安装?
我知道我可能会/var/lib/apt/extended_states手动编辑
Package: zlib1g-dev
Auto-Installed: 0
Run Code Online (Sandbox Code Playgroud)
到
Package: zlib1g-dev
Auto-Installed: 1
Run Code Online (Sandbox Code Playgroud)
……但就是感觉不太对劲。
如何让 apt-get 忽略某些依赖项?例如,我想安装mailx,以便我可以使用它从 cron 脚本/报告生成工具发送电子邮件。但是,安装 mailx 也会安装exim4和一大堆依赖项(我已经安装了 Postfix)我真的不需要,我猜 mailx 也可以没有它。
如何忽略某些依赖项但仍然使用 apt-get 因为它是一个不错的工具?
我即将将服务器从一个 Ubuntu 机器移到另一个机器上。我不是将旧盒子克隆到新盒子;我正在创建一个新系统,并将根据需要移动数据。我想将旧盒子上的所有软件安装到新盒子上。
有没有一种简单的方法可以找到我随时间给出的所有“sudo apt-get install”命令的历史记录?也就是说, dpkg -l 向我显示所有已安装的软件包,但不显示安装了它们的顶级软件包。如果dpkg有办法给我安装包,我可以在那里找到唯一的;否则,我想说“你安装了这 24 个软件包”。
是否有命令可以查看某个 ppa 存储库中可用的软件包?
当我 apt-get 一个包时,如何获取已安装或将要安装的文件列表?相反,我能否找到导致安装特定文件的软件包?
我正在为 a ubuntu vagrant vm, on a构建配置脚本ubuntu host,12.10 64bit当安装以下软件包时:
sudo apt-get -y install php5-xsl graphviz php-pear unison
Run Code Online (Sandbox Code Playgroud)
我收到警告:
dpkg-reconfigure: unable to re-open stdin: No file or directory
Run Code Online (Sandbox Code Playgroud)
已经尝试过搜索,但结果是使用 apt-get 可能抛出所有其他错误,无法找到如何抑制上述警告。安装工作,但上面的警告导致 vagrant up 标准输出中的错误行。
任何人都知道可能是什么原因或如何抑制警告
我刚刚安装了 Debian,当我看到这条消息时,我只是在使用 apt-get instal 安装一些软件包:
debconf: delaying package configuration, since apt-utils is not installed
Run Code Online (Sandbox Code Playgroud)
这是什么意思?一旦我安装了 apt-utils,如何配置软件包?
我的系统配置脚本执行“apt-get install -y postfix”。不幸的是,当 postfix 安装程序显示配置屏幕时,脚本会停止。有没有一种方法可以强制 postfix 在安装过程中使用默认值,以便自动化脚本可以持续到最后?
postfix 安装程序是否可能会检查 /etc/postfix 中的现有配置,如果存在,不要用配置屏幕打扰用户?
我负责管理我们的生产服务器(邮件、网络、数据库都在一台服务器上)和我们的测试服务器。两者都建立在 Debian 上。但是,由于我对系统管理非常陌生,因此我只在遇到必须更新的内容时才安装更新,以便我可以拥有更新的功能并获得错误修复。它现在是一个非常特别的过程,我想让它不那么重要。
所以我想知道知道他们在做什么的人如何处理这个问题?您多久对服务器执行一次升级?测试和生产之间的升级过程是否不同?您是否总是先升级任何测试服务器?您是对所有软件进行完整更新,还是只安装选定的更新?
apt ×10
debian ×6
ubuntu ×6
dpkg ×3
linux ×3
automation ×1
dependencies ×1
email ×1
installation ×1
postfix ×1
repository ×1
update ×1
vagrant ×1