rdiff-backup and borg backup are two popular backup solutions for Linux.
Restoring backups is in scope for SystemRescue. While one could install
these packages via pacman, I consider being able to restore a backup too
important to rely for it on an external online repository. So I think it
really makes sense to have these included in SytemRescue.
rdiff-backup requires about 400 kB, python-llfuse about 200 kB.
This implements feature requests #211 and #215.
explicitly list some wanted packages that are currently installed through dependencies or group
See merge request systemrescue/systemrescue-sources!131
Recently SystemRescue had two regressions due to packages going missing silently (inetutils and net-tools).
This happened because these packages where pulled in through groups or dependencies and Arch decided to
either reduce the dependencies or drop them from the group. This might happen again in the future.
To reduce the possibility of this, explicitly add packages to the package list that contain tools deemed
wanted and are currently only pulled in through dependency or group. Which packages are deemed
wanted is obviously a bit subjective and could be discussed or changed if necessary.
This commit doesn't add any new packages that weren't already in SystemRescue.
inetutils contains programs like telnet and ftp.
It was previously part of SystemRescue. It was not explicitly listed, but pulled in
as dependency from openssh. Now openssh dropped the dependency listing, so it
silently disappeared from SystemRescue.
It has been superseded by native mkinitcpio (since v16) solution:
- systemd-tmpfiles (via /usr/lib/tmpfiles.d/mkinitcpio.conf fragment) creates /run/initramfs directory during boot.
- Before shutdown, mkinitcpio-generate-shutdown-ramfs.service (enabled by default) populates /run/initramfs using sd-shutdown hook.
Albeit not strictly required, drop it from build.sh too.
See:
2fa0eb25d4e785ee2cee7123888493
The ldconfig service ("Rebuild Dynamic Linker Cache") updates /etc/ld.so.cache when it is
older than some preconfigured age. This increases boot time, especially when airootfs is
on a slower media, like a DVD-ROM drive or NFS. Since System Rescue doesn't change over time,
keeping the original file from release is fine.
You can't easily update the kernel from within a running System Rescue.
Updating the kernel will create conflicts of the new kernel modules and the still running kernel.
This has been a problem in the past, see for example #238. So better prevent it.
This prevents huge dependency downloads by pacman when the SystemRescue version gets older
by using a snapshot repo from the day the SystemRescue version is released.
The classic rolling repos from Arch are also available as option. Activate with the
"--config /etc/pacman-rolling.conf" option to pacman.
To allow switching on a per-command basis, two different sets of remote package databases
are required. But the local package database must be the same for both variants. This
is achived by using two different DBPaths in the pacman config files and bind-mounting
the local part together. pacman does not accept symlinks for this, so it must be a bind mount.
The repo snapshot date is determined automatically by a query to the archive mirror.
You can also set a different snapshot date with the -s option.
Before always the current packages were used. Use defined snapshots instead,
because a future commit will switch pacman within the image to use the snapshot too.