You are not logged in.
I have an arch nfs server with
**/etc/exports.d/archLocalRepo.exports**
/archLocalRepo 192.168.0.0/16(rw,sync,insecure,no_subtree_check,no_root_squash)
**/etc/exports.d/pacmanCache.exports**
/var/cache/pacman/pkg 192.168.0.0/16(rw,sync,insecure,no_subtree_check,no_root_squash)
**/etc/exports.d/pacmanSync.exports**
/var/lib/pacman/sync 192.168.0.0/16(rw,sync,insecure,no_subtree_check,no_root_squash)On another system, booted on the 7/1/15 arch cd (/mnt/root is a btrfs subvolume that will be mounted as the /)
mkdir -p /mnt/root/archLocalRepo
mount 192.168.1.2:/archLocalRepo /mnt/root/archLocalRepo
mkdir -p /mnt/root/var/cache/pacman/pkg
mount 192.168.1.2:/var/cache/pacman/pkg /mnt/root/var/cache/pacman/pkg
mkdir -p /mnt/root/var/lib/pacman/sync
mount 192.168.1.2:/var/lib/pacman/sync /mnt/root/var/lib/pacman/sync
vim /etc/pacman.conf --- adding archLocalRepo with: Server = file:///mnt/root/archLocalRepo
pacstrap -i -d /mnt/root base grub nfs-utilsShows
==> Creating install root at /mnt/root
==> Installing packages to /mnt/root
warning: database file for 'core' does not exist
warning: database file for 'extra' does not exist
warning: database file for 'community' does not exist
warning: database file for 'archLocalRepo' does not exist
error: target not found: base
error: target not found: grub
error: target not found: nfs-utils
==> ERROR: Failed to install packages to new rootRunning pacstrap with --debug also shows:
debug: database path for tree core set to /mnt/root/var/lib/pacman/sync/core.db
debug: "/mnt/root/var/lib/pacman/sync/core.db" is not readable: No such file or directory
warning: database file for 'core' does not exist
debug: setting usage of 15 for core repoistory
debug: adding new server URL to database 'core': http://mirror.us.leaseweb.net/archlinux/core/os/x86_64But
# ls -la /mnt/root/var/lib/pacman/sync/core.db
-rw-r--r-- 1 root root 124049 Aug 27 23:46 /mnt/root/var/lib/pacman/sync/core.dbI can open /mnt/root/var/lib/pacman/sync/core.db in vi (right after pacstrap fails, so on that system's root, with the same nfs mounting) and it opens just fine.
Installing strace in the in-memory arch from the boot cd, and modifying its /usr/bin/pacstrap so pacman is called through strace shows unexpected ENOENT (No such file or directory) errors:
access("/mnt/root/var/lib/pacman/sync/core.db", R_OK) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/en_US.UTF-8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
( omitted numerous other /usr/share/locale ENOENT's, as those aren't very populated on arch boot cd )
access("/mnt/root/var/lib/pacman/sync/extra.db", R_OK) = -1 ENOENT (No such file or directory)
access("/mnt/root/var/lib/pacman/sync/community.db", R_OK) = -1 ENOENT (No such file or directory)
access("/mnt/root/var/lib/pacman/sync/archLocalRepo.db", R_OK) = -1 ENOENT (No such file or directory)
access("base", R_OK) = -1 ENOENT (No such file or directory)
access("grub", R_OK) = -1 ENOENT (No such file or directory)
access("nfs-utils", R_OK) = -1 ENOENT (No such file or directory)I see others who have done this successfully, without resorting to running pacman directly. (i.e. https://bbs.archlinux.org/viewtopic.php … 2#p1231862)
... Is pacman internally going into a chroot, losing the nfs mount or something like that?
If I mount the nfs shares elsewhere, and make a local-system /mnt/root/var/lib/pacman/sync and /mnt/root/var/cache/pacman/pkg, and copy the contents of the nfs share folders to these local-system folders, pacstrap/pacman fails the same way. Does NOT appear to me to be an nfs issue.
Last edited by wlcrls47 (2015-08-28 19:31:10)
Offline
Tracked this down to a pacstrap bug that runs "mount /mnt/root /mnt/root --bind" which clobbers visibility of the mounted nfs share, leaving behind the empty mountpoint directory.
Offline