在不将 SQLite 数据库放在 NFS 上的情况下 createrepo 的解决方法?
Workaround for createrepo without placing the SQLite DB on NFS?
我想在(我的)NFS 上构建一个本地 YUM 存储库,这样它就不会占用主机的 space,并且其他人可以访问它。当我尝试在 NFS 目录中创建存储库时,出现以下错误。
[root@d62539456920 /]# createrepo /data/docker-ce-stable/ -g comps.xml
Could not create exclusive lock in /data/docker-ce-stable/repodata and sqlite database generation enabled. Is this path on nfs? Is your lockd running?
有没有人想出一种方法可以让 createrepo
使用目录而不将 SQLite 数据库放在 NFS 中?
您可以使用临时文件夹进行构建,然后 sync/copy 将 sqlite 文件夹 (repodata) 放回您的 nfs 共享中。例如:
createrepo path_to_repo_folder -o /tmp
rsync -a --delete /tmp/repodata/ path_to_repo_folder/repodata/
如果您有一个大型存储库并且正在使用 --update
,您可能希望双向同步
您可以使用 nolock 选项挂载 NFS 挂载。我也遇到了同样的问题,它似乎有效。
autofs 示例:
/mnt/sata/software -fstype=nfs,nolock,soft 10.0.0.251:/storage/sata/files/software
我想在(我的)NFS 上构建一个本地 YUM 存储库,这样它就不会占用主机的 space,并且其他人可以访问它。当我尝试在 NFS 目录中创建存储库时,出现以下错误。
[root@d62539456920 /]# createrepo /data/docker-ce-stable/ -g comps.xml
Could not create exclusive lock in /data/docker-ce-stable/repodata and sqlite database generation enabled. Is this path on nfs? Is your lockd running?
有没有人想出一种方法可以让 createrepo
使用目录而不将 SQLite 数据库放在 NFS 中?
您可以使用临时文件夹进行构建,然后 sync/copy 将 sqlite 文件夹 (repodata) 放回您的 nfs 共享中。例如:
createrepo path_to_repo_folder -o /tmp
rsync -a --delete /tmp/repodata/ path_to_repo_folder/repodata/
如果您有一个大型存储库并且正在使用 --update
,您可能希望双向同步您可以使用 nolock 选项挂载 NFS 挂载。我也遇到了同样的问题,它似乎有效。
autofs 示例:
/mnt/sata/software -fstype=nfs,nolock,soft 10.0.0.251:/storage/sata/files/software