每当我yaourt -Syua
在 Manjaro Linux 系统中使用时,它都会给我
Edit PKGBUILD ? [Y/n] ("A" to abort)
有时
Edit chromium-pepper-flash.install ? [Y/n] ("A" to abort)
我在某个地方读到对编辑这些文件说不。
维基百科:https://wiki.archlinux.org/index.php/PKGBUILD
说这PKGBUILD
只是安装时要更改的一些开关,那么保留默认值可以吗?
我没有找到有关这些.install
文件的信息,它们是什么?
答案1
你为什么不彻底阅读一下你所看到的维基页面呢?链接的:
Arch Linux 中的软件包是使用以下命令构建的makepkg存储在 PKGBUILD 中的实用程序和信息。什么时候makepkg正在运行,它 搜索 PKGBUILD在当前目录中和遵循其中的说明编译或以其他方式获取文件以构建包文件
所以,PKGBUILD
是一个“食谱”用于创建包(类似于RPM
spec
,gentoo
ebuild
)。有时,当安装/删除/升级软件包时,可能需要在将软件包文件写入磁盘/从磁盘中删除之前/之后自动执行一些脚本/程序,因此需要额外的“食谱”需要,即.install
(摘自同一链接):
安装
的名称。安装要包含在包中的脚本。 pacman 能够在安装、删除或升级软件包时存储和执行特定于软件包的脚本。该脚本包含以下在不同时间运行的函数:
pre_install - The script is run right before files are extracted. One argument is passed: new package version. post_install - The script is run right after files are extracted. One argument is passed: new package version. pre_upgrade - The script is run right before files are extracted. Two arguments are passed in the following order: new package version, old package version. post_upgrade - The script is run after files are extracted. Two arguments are passed in the following order: new package version, old package version. pre_remove - The script is run right before files are removed. One argument is passed: old package version. post_remove - The script is run right after files are removed. One argument is passed: old package version.
通常,您可以进行编辑PKGBUILD
以自定义包的构建方式(例如添加/删除--configure
选项、更改安装前缀、修补源代码、从包中排除文件等)。同样,您可以编辑.install
以添加或删除应在软件包安装/升级/删除之前/之后自动执行的命令。
我想说,最好在出现提示时打开这些文件并阅读其内容,以确保一切正常。