You are not logged in.
Pages: 1
Background: I inherited support for building a custom ISO that no longer works correctly because of the changes made to base and I'm trying to fix it.
With offline_releng not working right now, I'm attempting to build an offline ISO of Arch Linux. I have a Docker container that I run an Ansible script in to build the ISO.
The ansible script does the following (in addition to other not relevant stuff):
- name: Create offline package directory
file:
state: directory
path: "{{ offline_mirror_dir }}"
recurse: yes
- name: Download extra needed packages for offline use
command: "pacman -Syuw --noconfirm --dbpath /tmp/ --cachedir {{ offline_mirror_dir }} {{ item }}"
with_items: "acpid ansible arch-install-scripts b43-fwcutter base base-devel broadcom-wl btrfs-progs clonezilla crda cryptsetup darkhttpd ddrescue device-mapper dhclient dhcpcd dialog diffutils dmidecode dmraid dnsmasq dnsutils dosfstools e2fsprogs electron elinks ethtool exfat-utils f2fs-tools fsarchiver git gnu-netcat gpm gptfdisk grml-zsh-config grub gtk2 gtk3 hdparm inetutils intel-ucode ipw2100-fw irssi iwd jfsutils lftp libglvnd libxslt linux linux-atm linux-firmware linux-lts linux-tools lm_sensors logrotate lsscsi lvm2 man-db man-pages mc mdadm mtools nano ndisc6 netctl nfs-utils nilfs-utils nmap ntfs-3g ntp openconnect openssh openvpn partclone parted partimage perl ppp pptpclient python-netaddr refind-efi reiserfsprogs rng-tools rp-pppoe rsync s-nail sdparm sg3_utils smartmontools sudo sysfsutils syslinux tcpdump testdisk usb_modeswitch usbutils vi vim-minimal vpnc wget wireless-regdb wireless_tools wpa_supplicant wvdial xfsprogs xl2tpd xorg xorg-drivers xorg-xinit"
become: yes
- name: Create a package database to use with the copied packages
command: /bin/bash -c "repo-add offline.db.tar.xz *.xz"
args:
chdir: "{{ offline_mirror_dir }}"
become: yes
Then I run pacstrap:
pacstrap -C /root/install-scripts/pacman.conf -c /mnt base base-devel
I point it at a pacman.conf configured with the offline repo
[offline]
SigLevel = Never
Server = file:///root/pkg/$arch
However, I get a bunch of errors about not being able to satisfy dependencies, for example:
unable to satisfy dependency 'glibc' required by perl
unable to satisfy dependency 'perl' required by groff
If I look in the offline directory, those dependencies seem to be there:
# ls pkg/x86_64 | grep glibc
glibc-2.31-2-x86_64.pkg.tar.zst
I'm unsure what I'm missing to make this work. Any help would be greatly appreciated. Let me know if I missed any needed info.
Last edited by rchamberlin (2020-03-31 03:07:34)
Offline
Even though it's probably pretty rare, for anyone that comes across this, this is the reason why it wasn't working:
https://www.archlinux.org/news/now-usin … mpression/
My existing Ansible task was only looking for *.xz. Need to include .zst too.
Offline
I recommend looking for the pattern *.pkg.tar* as that is the only part of the filename which specifically denotes a pacman package.
Managing AUR repos The Right Way -- aurpublish (now a standalone tool)
Offline
Pages: 1