在 Ubuntu 8.04 系统上工作时,我经常发现自己缺少程序、手册页或其他文件。有没有简单的方法来查找包含给定文件的包(无论它是否已经安装)?也许 apt 或 dpkg 的一些晦涩的选项?
如何删除与当前版本并排安装的过时版本的Homebrew软件包?
在基于 Debian 的系统(包括 Ubuntu)上,如何在不实际开始下载的情况下知道将从哪个存储库下载软件包?aptitude show并且apt-cache info将显示部分(例如,元数据包,碱,图形),而不是存储库,其包属于(例如,http://ppa.launchpad.net/mactel-support/ppa/ubuntu或HTTP://我们.archive.ubuntu.com/ubuntu/)。
安装软件包时,实际存储库会在下载过程中出现(它在 apt 和类似程序的“从...下载”输出中打印出来),但是如何获取有关包含该软件包的存储库(或特定包的版本)而不先下载并安装它?
此外,如何确定已安装软件包的源存储库?
pip freeze 向我显示了已安装的软件包,但是如何检查 pypi 哪些已过时?
我需要Dockerfile构建一个基于 Alpine Linux 的 Docker 镜像。现在我需要安装一个包作为这个的一部分Dockerfile。
目前我有:
RUN apk update && \
apk upgrade && \
apk add git
Run Code Online (Sandbox Code Playgroud)
显然这是一个坏主意,因为结果是不确定的。相反,它取决于我构建映像的时间点,以及git正在安装的版本。
这样做的正确方法是什么?
我想我必须告诉updated,upgrade以及add使用哪些版本,但我该怎么做?
我已经看到apk支持固定存储库,但这不是我想要的(至少我是这么认为的),因为我不想固定存储库,而是一个包。
换句话说:如果git可以通过安装npm,我将能够运行:
npm install git@1.9.2
Run Code Online (Sandbox Code Playgroud)
(或我想要的任何版本)。对于 Alpine Linux,这相当于什么?
我是 Linux 新手,正在运行 CentOS。我遇到过四种更新或安装软件的方法。
到目前为止,我已经看到:
yum install [program]apt-get install [program]rpm -i [program].rpmwget [program].tar.gz-> unpack-> ./configure-> make->make install最后一个是一个真正的痛苦,尤其是来自 Windows,在 Windows 中,程序安装通常只需单击一下,并且有一个不错的安装向导。
所以,我的问题是:
我在 iMac 上安装了 MacPorts,并安装了相当数量的端口。
不过,我对试用 Homebrew 很感兴趣,因为我听说过很多关于它的好消息,并且因为我注意到它包含我使用的几个工具的更新版本。
但是两者可以在同一台机器上共存,还是我需要先完全卸载 MacPorts?
还有,如果两者可以同时安装,是不是就完全独立了?Homebrew 的特点之一是它不会重新安装系统中已经包含的东西的新版本(例如python)。这是否也扩展到不安装 MacPorts 已经维护的版本?
如果我随后卸载 MacPorts 会怎样?
使用 APT,您可以使用以下命令安装特定版本的软件包:
apt-get install package=1.0
Run Code Online (Sandbox Code Playgroud)
但你做不到
apt-get install package=1.*
Run Code Online (Sandbox Code Playgroud)
那么,我如何才能找出package特定存储库或我的所有存储库中的哪些版本可用/etc/apt/sources.list?
找出我正在使用的 Debian 软件包架构的命令是什么?
例如,在64位x86,我期望类似的东西amd64,i386在32位x86和darwin-x86_64从OSX 10.6(通过Fink)。