【问题标题】:How to force RPM to install files in a single directory, Is it possible? [closed]如何强制 RPM 将文件安装在单个目录中,可以吗? [关闭]
【发布时间】:2012-12-06 07:38:49
【问题描述】:

rpm install 命令,在各处安装文件,例如:/usr/bin、/usr/sbin、/etc/、/usr/share

这样很难弄清楚安装的所有内容。 是否可以强制 rpm 将所有内容安装在单个目录中?

【问题讨论】:

  • 不要那样做。 Linux 标准库很好地定义了事物应该在哪里,并且有充分的理由。你当然希望有有用的目录。如果没有任何目录,您的系统会更加混乱......
  • 这是一个完全合理的问题。 OP 可能有一个他想安装某些应用程序的备用分区。
  • 这个问题不是关于编程的。它应该属于 unix.stackexchange.com,并且可能已经被询问过。

标签: linux installation rpm


【解决方案1】:

您可以使用--relocate更改安装过程的1个目录

rpm -i --relocate /usr/sbin=/some/other/path/sbin packagename.rpm

或者在整个安装过程中使用--prefix

rpm  -i --prefix=/some/other/path/ packagename.rpm

【讨论】:

  • [elioliu@SWEBVM000017 ~/p]$ rpm -i --prefix=/data/elioliu/mysql/mysql-community-server-5.7.21-1.el7.x86_64.rpm 警告: mysql-community-server-5.7.21-1.el7.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY error: package mysql-community-server is not relocatable
  • 您遇到的问题是某些数据包不可重定位,但这是 mysql 的问题,但并非所有人都看到fedoraproject.org/wiki/…
【解决方案2】:

如其他地方所述,不要这样做

但是,如果您想查看哪些文件将安装在哪里:

rpm -qlp packagename.rpm

如果您想将它们提取到不同的根目录以检查它们(例如查看配置​​文件等),从临时目录

rpm2cpio /path/to/rpm/packagename.rpm | cpio -div

【讨论】:

  • 感谢 Aaron...理解您让 rpm 在其选择的目录中安装文件的意义。
猜你喜欢
  • 2020-11-26
  • 1970-01-01
  • 2014-11-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多