Это сценарий, который я использую для настройки Archlinux для виртуальных машин
Я запустил этот скрипт из archiso и работает как в qemu -, так и в установках kvm и virtualbox, изменив первичное имя диска (sda Vs vda ).
Позвольте мне разобраться с этим:
Плюсы:
Минусы
Этот скрипт автоматизировал мои сборки. Затем я обычно запускаю ansible (управление конфигурацией )для более сложных настроек. Но что мне нужно, так это супер быстрый способ сборки archlinux без каких-либо дополнительных действий. Перезагрузите -> Войдите и исправьте все остальное ПОСЛЕ, а не раньше.
#!/usr/bin/bash
set -e
# Archlinux Installation Script for VMs
# ebal, Wed 21 Aug 2019
#Disk=sda # VirtualBox
Disk=vda # Qemu/KVM
echo ',,,*;' | sfdisk /dev/$Disk
mkdir -pv /mnt/$Disk
mkfs.ext4 -v -L rootfs /dev/${Disk}1
mount /dev/${Disk}1 /mnt/$Disk
pacman -Syy
pacstrap /mnt/$Disk base
genfstab -U /mnt/$Disk >> /mnt/$Disk/etc/fstab
# Install Grub
cat > /mnt/$Disk/root/grub.sh <<EOF
pacman -S --noconfirm grub vim
grub-install /dev/$Disk
grub-mkconfig -o /boot/grub/grub.cfg
# Add Swap Partition
dd if=/dev/zero of=/swapfile bs=2048 count=1048576
mkswap /swapfile -L swapfs
chmod 0600 /swapfile
echo "/swapfile swap swap defaults 0 0" >> /etc/fstab
EOF
chmod +x /mnt/$Disk/root/grub.sh
arch-chroot /mnt/$Disk/ /root/grub.sh
reboot
надеюсь, что вы найдете его полезным для себя.
К сожалению, в настоящее время это не поддерживается. Имена пакетов Guix, которые не обязательно соответствуют именам, используемым в PyPI, и любая версия Guix обычно предоставляет только одну или две версии каждого пакета. Формат requirements.txt также имеет ряд опций, таких как установка из произвольных репозиториев Git, которые не будут соответствовать пакету в Guix.
Это то, что потенциально можно было бы сделать в будущем для подмножества функций, указанных в файле requirements.txt.
Если вы хотите использовать Guix, вы можете создать файл guix-requirements.scm
, дублирующий ваш файл requirements.txt. Возможно, что-то вроде этого:
(use-modules (guix)
(gnu packages python)
(gnu packages python-web))
(package
(name "my-project-env")
(propagated-inputs `(("python",python)
("python-flask",python-flask))))
Запуск с помощью guix environment -l guix-requirements.scm
.
Подробнее см. Вызов среды guix .