我有一个由第三方预先构建的 rpm 包,并且必须将其安装到我的 Guix 服务器计算机中。那么如何将 rpm 包安装到 Guix 机器上呢?
谢谢。
答案1
简短的回答:你不能。没有记录的方法可以将 rpm 包转换为由 Guix 管理的包,也没有可以处理这些包的“API”。
另外,如果不转换 GuixSD 内的 RPM 包,就无法安装尼克斯。
你在这里最好的节奏是提取rpm内容在基于 RPM 的发行版中,以及在包树之外重新打包它。您将不得不处理与此转换相关的依赖关系和其他问题。祝你好运。
答案2
我还没有尝试在 Guix 系统上安装国外发行版的 RPM 包,并且建议不要在你的主系统上安装它(这可能会导致损坏),但如果只是为了测试目的,这是完全可能的:
# Generate a test RPM package.
# mkdir /var/lib/rpm
# chown root:users /var/run/rpm
# chmod g+rw /var/run/rpm
# Install it with RPM.
$ guix shell rpm
[env]$ rpm_package=$(guix pack -f rpm -R -S /usr/bin/hello=bin/hello hello hello)
[env]$ sudo -E rpm -i --prefix=/opt $rpm_package
# Validate its installation.
[env]$ rpm -q hello
hello-2.12.1-0.x86_64
[env]$ file /opt/usr/bin/hello
/opt/usr/bin/hello: symbolic link to ../../gnu/store/hccgf4lpfy2dwwmglmhsyr83yywzxhbr-profile/bin/hello
[env]$ /opt/usr/bin/hello
Hello, world!
看https://guix.gnu.org/en/manual/devel/en/html_node/Invoking-guix-pack.html#Invoking-guix-pack有关guix pack
用于生成hello
测试 RPM 包的命令的更多信息。