小编Got*_*bel的帖子

如何安装特定版本的 Ubuntu 软件包?

我想使用提供的一些指定包(名称和版本)设置一个新的虚拟机。

例如2.2.20-1ubuntu1具有所有依赖项的apache2 版本。即使服务器上有此软件包的新版本,也应安装此软件包。

该解决方案必须与多个(n)“设置”一起工作/扩展。另一个虚拟机可能需要旧版本的 apache2。

我目前知道一些安装确切软件包的可能性,但不能很好地扩展:

  1. *.deb手动将所有需要的内容复制到每个虚拟机并输入:dpkg -i... -> 可以工作,但很容易出错。(手动脚本等)
  2. 为每个设置创建并使用一个新的 Ubuntu 存储库。-> 不起作用,因为我需要 n 个存储库。
  3. 设置一次机器并复制虚拟机/创建快照。-> 不起作用,因为我需要存储 n 个 VM。

我的问题可能被标记为补丁管理,但我不想将我的包更新到当前版本。我的目标是安装旧包。

versions patch repository

280
推荐指数
5
解决办法
42万
查看次数

如何安静地使用find?

我想<searchterm>在我的机器上搜索所有出现的情况。现在当我执行这样的搜索时

find / <searchterm>
Run Code Online (Sandbox Code Playgroud)

我可以看到搜索运行的所有路径。如何将结果限制为我的搜索词?

抽象例子

我有一个文件夹,我们称之为my-own-folder。现在,当我想知道是否还有其他同名文件夹并运行搜索时

find / my-own-folder
Run Code Online (Sandbox Code Playgroud)

输出显示像这样的几百行

/var/www/my-own-folder/index.php
/var/www/my-own-folder/lib/1.php
/var/www/my-own-folder/templates/2.php
/var/www/my-own-folder/log/3.log
Run Code Online (Sandbox Code Playgroud)

紧接着又上千行(〜380K线),它们包含/usr/lib/proc/var等,实施例:

/etc/gshadow
/etc/fonts
/dev/ram7
/media/user
/run/udev/watch
/bin/gzexe
/vmlinuz
/lost+found
Run Code Online (Sandbox Code Playgroud)

并且这些行不包含my-own-folder. 我非常怀疑它们是否都连接到该文件夹​​。那么为什么要输出呢?

精确示例

我想为 openldap 应用补丁,但不知道在哪里可以找到文件夹以运行补丁。所以当我搜索

find / openldap
find / slapd
Run Code Online (Sandbox Code Playgroud)

它似乎输出执行搜索的所有位置,而不仅仅是出现openldapor slapd

更新

我的错是没有-name像这样在我的搜索中使用

find / -name "<searchterm>"
Run Code Online (Sandbox Code Playgroud)

find

5
推荐指数
2
解决办法
2891
查看次数

标签 统计

find ×1

patch ×1

repository ×1

versions ×1