如何确定将apt-get install <package>安装哪个软件版本?
谢谢,博达·西多。
我正在尝试从 Debian 存储库安装软件包。由于缺少或不完整的依赖项,我正在尝试手动安装 dpkg 错误。这让我想知道,将 Debian 存储库添加到我的 apt 源是否是错误的?
更具体地说,我正在尝试安装Guake(控制台包装器)。
我正在尝试安装 Guake 0.4.1。这解决了我遇到的透明度问题。
在 Ubuntu 10.04 LTS 服务器上,我想列出已安装的软件包并查看它们来自哪个存储库。
列出已安装的包很容易,但它不包括存储库的名称(例如“main”或“universe”)。并且此信息不在 中/var/lib/dpkg/status,因此dpkg-query也不显示。
我想得到一个“不受支持”软件的列表——也就是说,那些不是来自“主”存储库的软件,并且 Ubuntu 不保证安全更新。
注意:这是一个服务器。它没有安装 X、GNOME 或 KDE。
我最近安装了 Debian 6.0.1,当我发出简单的 apt-get 时,完成时(99% 说)要求安装 CD。
Cambio de medio:赞成,插入 el disco etiquetado como «Debian GNU/Linux 6.0.1a Squeeze - Official i386 CD Binary-1 20110322-15:11» en la unidad «/media/cdrom/» y pulse Intro
就像是:
更改来源:请在 «/media/cdrom/» 中插入标记为 «Debian GNU/Linux 6.0.1a Squeeze - official i386 CD Binary-1 20110322-15:11» 的 CD,然后按 Intro (Return)
你能告诉我为什么会这样,我该如何解决。我不想让 CD 在服务器中。
非常感谢!
我需要一个简单的监控脚本,我不想以 root 身份运行它...
我们在本地 Apt 存储库 (reprepro) 中有许多手工构建的(使用 fpm 和 jenkins).deb 文件。这些 .debs 包含一个 .desktop 文件,该文件将由 xdg-desktop 在 post-inst 脚本中获取。
如果我们手动安装 deb 文件,在新系统上,一切正常。
如果我们使用 apt-get install 安装新版本,则会收到此错误
xdg-desktop-menu: file '/usr/local/share/applications/customthingy.desktop' does not exist
Run Code Online (Sandbox Code Playgroud)
如果我使用 apt-get install -d customthingy 下载 deb 文件,然后运行
dpkg -i /var/cache/apt/archives/customthingy_2-r3_all.deb
Run Code Online (Sandbox Code Playgroud)
我得到了xdg-desktop和以前一样的错误。所以这排除了apt的问题。
如果我列出下载的 deb 的内容,
tom.oconnor@charcoal-black:~$ dpkg --contents /var/cache/apt/archives/customthingy_2-r3_all.deb |grep ".desktop"
-rw-r--r-- root/root 201 2011-07-28 20:02 ./usr/local/share/applications/customthingy.desktop
Run Code Online (Sandbox Code Playgroud)
可以看到文件存在。
但是..如果我们在重新安装之前清除,
tom.oconnor@charcoal-black:~$ sudo apt-get purge customthingy
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages …Run Code Online (Sandbox Code Playgroud) 刚刚在我的一台专用服务器上运行了 apt-get 更新,留下了一个相对可怕的警告:
Processing triggers for initramfs-tools ...
update-initramfs: Generating /boot/initrd.img-2.6.26-2-686-bigmem
W: mdadm: the array /dev/md/1 with UUID c622dd79:496607cf:c230666b:5103eba0
W: mdadm: is currently active, but it is not listed in mdadm.conf. if
W: mdadm: it is needed for boot, then YOUR SYSTEM IS NOW UNBOOTABLE!
W: mdadm: please inspect the output of /usr/share/mdadm/mkconf, compare
W: mdadm: it to /etc/mdadm/mdadm.conf, and make the necessary changes.
W: mdadm: the array /dev/md/2 with UUID 24120323:8c54087c:c230666b:5103eba0
W: mdadm: is currently active, but it is …Run Code Online (Sandbox Code Playgroud) 我使用 puppet 来管理工作中的一堆 Debian 服务器,如果这包括安装软件包的话。我在多个系统上安装的一个软件包是 nmap,它用于验证防火墙规则设置是否正确。在 Debian 7.0 上,如果你启用了 APT::Install-Recommends,你会得到一堆废话和 nmap(见下文)。
我不希望包含启用推荐的所有安装 nmap 的废话。一种解决方案是使用APT::Install-Recommends "0";. 但我不想让它成为默认值。大多数时候我想要推荐包括在内。推荐的包大多都很好,我没有得到很多我不需要的东西。但是有一些包裹带来了我不想要/不需要的东西。
package { 'nmap':
ensure => installed,
require => Class['apt'],
}
Run Code Online (Sandbox Code Playgroud)
在使用“apt”软件包提供程序时,是否有任何方法可以控制是否通过 puppet 安装了推荐? 我不想与 aptitude 提供者混为一谈,因为 apt 和 aptitude 彼此并不完全兼容。
有推荐
root@fw-01:~# apt-get install nmap
Reading package lists... Done
Building dependency tree
Reading state information... Done
...
The following NEW packages will be installed:
fonts-droid fonts-liberation ghostscript gnuplot gnuplot-nox groff gsfonts
imagemagick imagemagick-common libblas3 libblas3gf libcroco3 libcupsimage2
libdjvulibre-text libdjvulibre21 libexiv2-12 libgfortran3 libgs9 …Run Code Online (Sandbox Code Playgroud) 我一直试图了解这两个命令之间的区别,并注意到我得到了不同的结果。
apt-get install -t testing appX
apt-get install appX/testing
Run Code Online (Sandbox Code Playgroud)
背景
我按照https://serverfault.com/a/382101/132528设置了我的源列表和固定配置
目前的成果
root@home:/etc/apt# apt-cache policy i3
i3:
Installed: (none)
Candidate: 4.2-2
Version table:
4.8-1 0
750 http://debian.mirror.ac.za/debian/ testing/main amd64 Packages
750 http://ftp.us.debian.org/debian/ testing/main amd64 Packages
50 http://debian.mirror.ac.za/debian/ unstable/main amd64 Packages
50 http://ftp.us.debian.org/debian/ unstable/main amd64 Packages
4.8-1~bpo70+1 0
100 http://debian.mirror.ac.za/debian/ wheezy-backports/main amd64 Packages
4.2-2 0
995 http://debian.mirror.ac.za/debian/ wheezy/main amd64 Packages
995 http://debian.mirror.ac.za/debian/ stable/main amd64 Packages
995 http://ftp.us.debian.org/debian/ stable/main amd64 Packages
Run Code Online (Sandbox Code Playgroud)
它选择4.2-2,当做
apt-get install -t testing appX
Run Code Online (Sandbox Code Playgroud)
并且在做的时候选择4.8
apt-get install …Run Code Online (Sandbox Code Playgroud) 所以我的 fail2ban 没有工作,为了让它工作,配置文件变得混乱。决定从头开始。
我以 sudo 的身份运行这些
apt-get remove fail2ban
apt-get purge fail2ban
rm -r /etc/fail2ban
Run Code Online (Sandbox Code Playgroud)
希望我能完全删除它,因为前两个命令保留了凌乱的配置文件。
所以现在当我 apt-get install fail2ban 它下载并安装包,但是当我尝试运行它时有这个
* Starting authentication failure monitor fail2ban ERROR Found no accessible config files for 'fail2ban' under /etc/fail2ban
ERROR No section: 'Definition'
ERROR No section: 'Definition'
ERROR Found no accessible config files for 'fail2ban' under /etc/fail2ban
ERROR Found no accessible config files for 'jail' under /etc/fail2ban
ERROR No section: 'Definition'
ERROR No section: 'Definition'
Run Code Online (Sandbox Code Playgroud)
这些配置文件确实丢失了。为什么我重新安装 F2B 时没有重新创建它们?如何从头开始并将其重新安装为默认值?
我使用的是 Ubuntu 14.04.2 LTS