Questions tagged «package-management»

用于安装和维护软件包的工具



2
软件包名称为何包含版本号?
在使用Ubuntu和其他基于Debian的发行版时,我注意到软件存储库中的软件包通常包含主要版本号。 例如, 阿帕奇: apache2 Tomcat: tomcat7 PHP: php5 葡萄酒: wine1.4 MySQL: mysql-server-5.5 但是我注意到没有apache1可用的软件包,其余的都类似。如果软件包名称随软件更新而变化,这是否不会成为软件包管理的主要目标之一(轻松升级)? 如果Apache 3明天发布,apache3如果我想升级,我是否必须手动安装该软件包?

3
如何负责地在Arch Linux上自动运行更新?
我是Arch Linux的新手,并且仍然习惯于它的某些范例。我从另一个发行版中吸取了很多习惯,该发行版结构化了很多,并且在某些方面可以预见。 我想在少数系统上做的一件事¹是使cron作业能够自动更新所有系统软件包。这似乎很容易,除了我还希望从系统中得到一些有意义的反馈,告诉我事情进展得不是那么冗长,以至于我最终忽略了它,直到发现系统正在运行。 的完整输出pacman是不必要的。我不在乎下载用了多长时间,或者它是否在53的更新46中。 在大多数情况下,我并不关心成功。 我确实关心错误。如果更新运行失败,我想知道它,任何特定的错误消息都应打补丁。 我确实关心安装过程中发出的“通知”。例如,今天的systemd更新说: :: coredumps are no longer sent to the journal by default. To re-enable: echo >/etc/sysctl.d/50-coredump.conf \ "kernel.core_pattern=|/usr/lib/systemd/systemd-coredump %p %u %g %s %t %e" 或文件系统产生此: warning: /etc/group installed as /etc/group.pacnew warning: /etc/passwd installed as /etc/passwd.pacnew warning: /etc/shadow installed as /etc/shadow.pacnew 最后一个类别实际上是促使我问这个问题的原因,因为似乎在整个包装组中这些不一致。其中一些似乎是由生成的post_upgrade(),其他是由install()等等生成的。有时将它们写入stdout,有时写入stderr。消息的格式差异很大:有时整个块以某种方式以缩进为前缀,而其他时候则只是一个裸露的回显字符串。 我想了解可能需要我干预系统但又不会打扰的事情。是否有工具可以智能地管理这些数据并简化系统管理?有什么方法可以使软件包生成的输出与安装它们的pacman进程分开吗?还是我自己编写一种解析器,以从安装日志中过滤掉良性内容? ¹在您跳到多么愚蠢的状态之前,请注意,我足够聪明,不会在生产服务器上执行此操作,并且也不会没有基于快照的完整系统备份,如果发生灾难,恢复将很容易。

1
“ dnf历史记录回滚”和“ dnf历史记录撤消”之间有什么区别?
让我们阅读官方文档: dnf history rollback <transaction-spec> 撤消在指定事务之后执行的所有事务。如果无法撤销任何交易,由于rpmdb中的当前状态,不撤消任何交易。 重点是我的。因此,该命令是指该undo命令。好的,让我们阅读有关撤消的文档: dnf history undo <transaction-spec> 执行与指定事务中执行的所有操作相反的操作。如果由于RPMDB的当前状态而无法撤消任何操作,请不要撤消任何操作。 听起来这两个命令执行相同的操作,除了前者可以撤消多个事务,而后者只能撤消一个事务。 这种理解正确吗?(我希望从第一手经验中得到答案,而不是从您如何理解本手册的角度出发,我对事实感兴趣,而不是猜测。) 上下文:我需要编写一个脚本,该脚本可以运行dnf upgrade -y,然后运行一些测试,如果测试失败,则撤消dnf更改。我正在寻找实现这一目标的最佳方法。

3
如何可靠地“保留” Debian中的软件包?
我在Debian中有一个已手动修补的软件包(我知道这不是理想的),我必须保持其当前版本,以便升级不会覆盖已修补的更改(我将手动检查并应用安全更新)。据我了解,有几种方法可以解决此问题: apt固定(请参阅apt_preferences(5)) aptitude hold dpkg --set-selections 设置dselect吗? 我已经读过一个保留不会影响另一保留(例如,使用aptitude hold不会阻止apt-get或dselect升级软件包)。需要采取什么措施才能100%确保Debian的工具除非取消保留就永远不会升级软件包?


3
如何在Cygwin上获取traceroute?
在Windows和Unix上,traceroute(tracert)的实现有所不同。我想将两者与Wireshark进行比较。我现在在Windows 7上,我想快速获得Unix traceroute的实现。 我的第一个想法是使用MSYS或Cygwin获得它。我安装了Cygwin并检查了“ inetutils *”软件包,但是在中没有traceroute命令和相应的可执行文件/usr/bin/。 我还尝试使用Cygwin软件包搜索来搜索 “ traceroute”,并在“ zsh”文件列表中找到了此子字符串。我安装的zsh和尝试traceroute,并tcptraceroute没有结果。 我应该检查哪个软件包来安装traceroute,并且Cygwin完全有traceroute吗?


4
我可以禁用所有手册页吗?
特别是在树莓派(运行Raspbian Wheezy)上,但总体而言,我可以禁用所有手册页吗? 这将意味着没有存储的手册页,没有“处理man-db的触发器”,依此类推。由于手册页始终可以在Internet上找到,因此我真的不需要安装它们,而生成和存储它们似乎是不必要的。

1
如何在运行“稳定” Debian的计算机上从“不稳定” Debian安装一些软件包?
在运行“稳定” Debian的计算机上,当尝试使用aptitude install <package>/unstable命令安装Debian网站不稳定列表中的软件包时,我得到类似以下的输出: Couldn't find any package whose name or description matched "<package>" Couldn't find any package whose name or description matched "<package>" No packages will be installed, upgraded, or removed. 0 packages upgraded, 0 newly installed, 0 to remove and 0 not upgraded. Need to get 0 B …


2
如何在NixOS上找出文件属于哪个(未安装)软件包?
我在NixOS上使用Nix软件包管理器。假设我要安装一个提供文件的软件包。我如何找到提供此文件的软件包,类似于其他GNU / Linux发行版?libgtk-x11-2.0.so.0 目前,我必须搜索该文件并找出它可能属于哪个程序包,然后在Nix存储库中找到相应的程序包,但是我想使用一种更加惯用的方法。

4
如何在没有X11库的情况下使用YUM安装emacs?
我已经在VirtualBox VM中安装了CentOS 6.3的最小安装。现在,我只想安装Emacs以便从命令行使用。 当我使用yum search emacs唯一的应用程序级软件包搜索emacs时,似乎是“ emacs”,因此我运行了yum install emacs,它向我显示了要下载的依赖项列表。 这些依赖项libcairo和libasound,以及libX*为下载Emacs副本而无需安装和安装大量业务的软件包,这些软件包只能从命令行使用(我试图将其保留为最小,因为对于每个开发人员计算机,此副本将被克隆10次。网络模拟,但确实需要文本编辑器)。 因此,是否需要设置一些标志来阻止所有与图形相关的软件包的安装?我记得Gentoo的出现有这样的参数,还是我安装的软件包错误?

4
是否允许非管理员用户通过apt或rpm安装软件包?
是否可以允许非root用户使用apt或rpm在系统范围内安装软件包? 我现在工作的地方在linux机器上安装了过时的设置,管理员厌倦了必须根据用户要求进行所有安装的操作,因此他们正在考虑将全部sudo权限授予所有用户。这具有明显的安全缺点。因此,我想知道是否存在允许普通用户安装软件以及升级和删除软件的方法?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.