Tôi muốn làm gì
Xây dựng kho lưu trữ yum / dnf của tôi trên chia sẻ cifs.
Phiên bản dài
Máy chủ windows của tôi là máy chủ tệp chính của tôi và tôi lưu trữ thư mục Hỗ trợ / Nền tảng / Korora22 / của tôi ở đó vào lúc này. Tôi có rpms của tôi ở đó, một số tải xuống và một số tự cuộn.
Tôi muốn lưu trữ một kho lưu trữ ở đó, nhưng createrepo .
lệnh của tôi ném lại lỗi này:
[root@linux-05|/mnt/smash/Support/Platforms/Korora22]# createrepo .
Spawning worker 0 with 3 pkgs
Spawning worker 1 with 3 pkgs
Spawning worker 2 with 2 pkgs
Spawning worker 3 with 2 pkgs
Workers Finished
Saving Primary metadata
Saving file lists metadata
Saving other metadata
Generating sqlite DBs
(process:368): GLib-CRITICAL **: g_timer_stop: assertion 'timer != NULL' failed
(process:368): GLib-CRITICAL **: g_timer_destroy: assertion 'timer != NULL' failed
Traceback (most recent call last):
File "/usr/share/createrepo/genpkgmetadata.py", line 308, in <module>
main(sys.argv[1:])
File "/usr/share/createrepo/genpkgmetadata.py", line 280, in main
mdgen.doRepoMetadata()
File "/usr/lib/python2.7/site-packages/createrepo/__init__.py", line 1005, in doRepoMetadata
rp.getOtherdata(complete_path, csum)
File "/usr/lib64/python2.7/site-packages/sqlitecachec.py", line 61, in getOtherdata
self.repoid))
TypeError: Can not create db_info table: database is locked
/etc/yum.repose.d/bgstack.repo
[bgstack]
name=bgstack
baseurl=file:///mnt/smash/Support/Platforms/Korora22/
gpgcheck=0
Các bước tôi đã thử mà không giúp được
rm -rf /var/lib/rpm/__db*
rpm --rebuilddb
dnf clean all
My / etc / fstab bao gồm dòng này:
//win-server1/smash /mnt/smash cifs rw,user,uid=bgstack,credentials=/root/.bgstack.example.com,exec,soft
Quan sát rằng nó sẽ gắn kết thư mục của tôi với tư cách là người dùng bgstack, vì vậy tôi thực sự đã bỏ qua và gắn với root uid (một cách hiệu quả, bằng cách bỏ phần đó ra):
mount -t cifs -o credentials=/root/.bgstack.example.com //win-server1/smash /mnt/smash
Nó vẫn không hoàn thành thành công một lệnh commeepo.
Những gì xuất hiện để làm việc nhưng không tối ưu
Điều này hoạt động, nhưng rất clunky.
Lưu trữ tất cả các rpms cục bộ và tạo kho lưu trữ ở đó. Sau đó chuyển dữ liệu repo vào chia sẻ cifs.
# as root: createrepo does not like regular users
mkdir -p ~/localrepo
cp -pr /mnt/smash/Support/Platforms/Korora22/*rpm ~/localrepo
createrepo ~/localrepo
cp -pr ~/localrepo/repodata /mnt/smash/Support/Platforms/Korora22/