Что касается vsftpd.conf
часть, следующие работы для меня (не может помочь с SELinux, извините):
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
anon_root=/tmp/ftp
anon_upload_enable=YES
anon_world_readable_only=YES
anonymous_enable=YES
ascii_upload_enable=YES
connect_from_port_20=YES
dirmessage_enable=YES
listen=YES
local_enable=YES
nopriv_user=ftpsecure
ssl_enable=NO
syslog_enable=YES
write_enable=YES
Обратите внимание, что Вы не можете записать гостиницу anon_root
каталог - вместо этого необходимо создать записываемый подкаталог и загрузку там.
Мог возможно NFS быть более оптимальным вариантом? В версии 4 это может даже обеспечить прозрачное шифрование при желании.
У меня установлен и работает Debian LXDE на карте памяти usb объёмом 4 ГБ, который позволяет обновлять систему в любое время и устанавливать пакеты, когда они мне нужны.
.Клонирование(копирование каждого байта как есть, создание от -до -одной копии )— это очень простой и надежный метод создания загрузочного диска (живого диска или установочного диска )из ISO-файла гибридного Linux.
Не существует обычного способа сделать клонированный iso-файл Debian постоянным, поскольку он имеет файловую систему -только для чтения, ISO9660, (и «таблицу разделов» )только для чтения -.
Возможно (и я бы сказал довольно просто )использовать mkusb для создания постоянного живого диска из живого iso-файла Debian . mkusb поддерживает Debian 8 или новее, и вы должны использовать текущую версию mkusb (версии 12.3.3 или новее ).
Подробнее об установке mkusb в Debian см. по этой ссылке .
Есть советы о постоянных живых дисках, созданных с помощью mkusb .
См. также эту ссылку (, где Debian является одним из перечисленных дистрибутивов).
mkusb создает таблицу разделов и 5 разделов:
bios_grub
раздел grub
(как в режиме UEFI, так и в режиме BIOS)ext
раздел для сохранения, где хранятся ваши модификации (и файлы )mkusb автоматически выполняет следующие настройки:
persistence
(не persistent
, как в Ubuntu)persistence
на разделе #5 (не casper-rw
как в Ubuntu)persistence.conf
с содержимым / union
на верхнем уровне раздела #5.Эта структура создается шелл-скриптом bash dus-persistent
, когда вы используете mkusb версии 12, псевдоним mkusb-dus
. Если вам нужны все подробности, установите mkusb и прочитайте содержимое dus-persistent
или прочитайте его напрямую через philw.net/isos/linux -tools/mkusb/dus -persistence .
Настройки mkusb по умолчанию можно использовать для Debian 8, 9 и 10, а постоянный живой диск будет работать при загрузке в режиме BIOS и режиме UEFI (, но не при безопасной загрузке ).
(В предыдущей версии mkusb 12.3.2 вы должны вручную установить «usb -pack -efi» в меню «Настройки» для Debian 10 в режиме UEFI.)
Если вам нужна только загрузочная флешка UEFI, вам вообще не нужен установщик.
Вам просто нужно отформатировать флешку в FAT32 и установить флаг загрузки. Затем используйте любой ваш любимый инструмент для извлечения, например 7zip, чтобы извлечь и скопировать ISO в раздел FAT32 . Для получения дополнительной информации см. Сделай сам .
Я проверил этот метод со стандартным live iso-файлом (, небольшим, без графической среды рабочего стола ),
debian-live-10.0.0-amd64-standard.iso
Таким образом, вы можете создать загрузочный USB-накопитель с Debian 10 (64 -бит ). Он будет работать только -и загружаться в режиме UEFI.
Теперь у вас есть живой -только загрузочный USB-накопитель
Отредактируйте слово persistence
в конце строки (с ), начиная с linux
в файле
/path/to/mountpoint/boot/grub/grub.cfg
Создайте разделext2
в нераспределенном пространстве (за разделом FAT32)
persistence
на разделext2
ext2
Запись / union
в файл persistence.conf
в файловой системеext2
Размонтировать все разделы на флешке перед отключением или перезагрузить
Теперь у вас есть постоянно работающий USB-накопитель с Debian 10.
Вывод команды виден из постоянного живого диска:
$ df -h
Filesystem Size Used Avail Use% Mounted on
udev 7.8G 0 7.8G 0% /dev
tmpfs 1.6G 9.0M 1.6G 1% /run
/dev/sdb1 4.0G 826M 3.2G 21% /run/live/persistence/sdb1
/dev/loop0 610M 610M 0 100% /run/live/rootfs/filesystem.squashfs
tmpfs 7.8G 0 7.8G 0% /run/live/overlay
/dev/sdb2 11G 38M 11G 1% /run/live/persistence/sdb2
overlay 11G 38M 11G 1% /
tmpfs 7.8G 0 7.8G 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 7.8G 0 7.8G 0% /sys/fs/cgroup
tmpfs 7.8G 0 7.8G 0% /tmp
tmpfs 1.6G 0 1.6G 0% /run/user/1000
$ lsb_release -a
Distributor ID: Debian
Description: Debian GNU/Linux 10 (buster)
Release: 10
Codename: buster
$ lsblk -fm /dev/sdb
NAME FSTYPE LABEL UUID FSAVAIL FSUSE% MOUNTPOINT SIZE OWNER GROUP MODE
sdb 14.8G brw-rw----
├─sdb1 vfat USBBOOT 7176-C538 3.2G 20% /usr/lib/live/mount/persistence/sdb1 4G brw-rw----
└─sdb2 ext2 persistence 2b324439-d63e-4a19-bf57-d49ecb881828 10G 0% /usr/lib/live/mount/persistence/sdb2 10.8G brw-rw----
Вы можете видеть, что размер overlay
соответствует размеру /dev/sdb2
, что указывает на то, что постоянство работает.
mkusb-minp
(BIOS/UEFI)Можно (и я бы сказал довольно просто )использоватьmkusb -minpдля создания постоянного живого диска из живого iso-файла Debian. mkusb -minp поддерживает Debian 10 или новее. Этот простой шеллскрипт разработан на основе mkusb -min . Оба они «обертывают ремень безопасности» вокруг процесса клонирования, чтобы избежать записи на неправильное устройство.
Это хороший вариант, если вы не хотите добавлять программное обеспечение через PPA или вообще хотите использовать только понятные инструменты.
www.debian.org/CD/live/
С сайта SE (в стандартной версии):
wget https://cdimage.debian.org/debian-cd/current-live/amd64/iso-hybrid/debian-live-10.0.0-amd64-standard.iso
Из автоматического выбора зеркала (mate live):
wget http://debian-cd.debian.net/debian-cd/10.0.0-live/amd64/iso-hybrid/debian-live-10.0.0-amd64-mate.iso
Затем контрольная сумма загружает файл сhttps://cdimage.debian.org/debian-cd/current-live/amd64/iso-hybrid/SHA256SUMS...
Файловая система ISO в порядке для чтения -только , но есть небольшойобходной путь:мы могли бы заменить несущественные параметры загрузки на persistence
таким образом.
вы можете изменить их, используя sed
для замены строк в двоичном формате.
LANG=C sed 's/splash quiet/persistence /;s/quiet splash/persistence /' \
</tmp/debian-live-10.0.0-amd64-mate.iso \
>/tmp/debian-live-10.0.0-amd64-mate-persist.iso
Это создаст измененную копию вашего живого двоичного файла путем строгой замены splash quiet
или quiet splash
на persistence
везде. Хорошо, это будет работать, только если команда загрузки grub содержит эти два слова вместе.
Но будьте осторожны, чтобы не пропустить пробел после настойчивости:
"splash quiet" -> 12 characters
"persistence " -> 12 characters
Или ваш бинарный файл будет сломан.
dd if=debian-live-10.0.0-amd64-standard-persist.iso of=/dev/sdX
Затем добавьте свой третий раздел для сохранения:
fdisk /dev/sdX
n # new partition
p # primary
<Return> # default: 3
<Return> # default: next free sector
<Return> # default: last addressable sector
w # write and quit
Это можно было запустить без взаимодействия:
fdisk /dev/sdX <<<$'n\np\n\n\n\nw'
Форматирование и подготовка сохранения с помощьюunion
:
mkfs.ext4 -L persistence /dev/sdX3
mount /dev/sdX3 /mnt
echo '/ union' >/mnt/persistence.conf
sync
umount /mnt
Тогда извлеките и попробуйте!
Если вы используете официальный немодифицированный образ, для использования сохраняемости вам необходимо прервать выбор загрузки:
После отображения экрана меню выберите вариант загрузки, затем вместо Вернуться нажмите Tab .
Отобразится командная строка ядра, затем добавьте persistence
с пробелом после последнего слова (quiet
), затем нажмите Return .
К сожалению, поскольку 1-й раздел связан с UEFI и является ISO-образом, вы не можете изменить команду загрузки.
Вам просто нужно добавить persistence
в командную строку загрузки, и больше ничего!? Есть способ, используя FAT и syslinux
, но вам придется много манипулировать данными. Это долго, и я нахожу это не очень хорошо. Я предпочитаю:
Более обычный , но немного длиннее (по крайней мере для 1-го изображения ),
Примечание :Все это было сделано подкорневымпользователем (это должно работать с использованием fakeroot
, но это не тестировалось там и сегодня ).
apt install live-build
... и все рекомендации.
Я написал небольшую XARGS
функцию для удаления закомментированных строк:
XARGS() { sed -ne '/#/d;s/ \t//g;H;${x;s/\n/ /g;s/^ //;p}'; }
Первая настройка bootparams
, с локализацией и аргументами сохранения:
ExtraBootParams=$(XARGS <<eobp
boot=live
config
locales=ed_WT
keyboard-layouts=ed
keyboard-variant=wt
persistence
eobp
)
Теперь ваш список пакетов:
PackageList=$(XARGS <<-eopl
gnome
gnome-core
# gnome-full
# debian-forensics
debian-installer-launcher
eopl
)
Самый первый шагlb
:создание начального дерева:
lb config --architectures amd64 -d buster --debian-installer-gui \
true --archive-areas 'main contrib non-free' \
--bootappend-live "$ExtraBootParams"
Теперь у вас есть маленькое дерево, вы можете:
printf "%s\n" > config/package-lists/standard.list.chroot \
$Packages $PackageList
Хорошо, следующая команда займет очень много времени! (Приблизительно 1 час на моем хосте)
lb build
Если все в порядке, вы можете найти свой собственный Debian live:
ls -l *.iso
-rw-r--r-- 1 root root 1511817216 sep 7 15:32 live-image-amd64.hybrid.iso
Образ 'iso -гибридный' содержит два раздела для UEFI и живого микса таким образом, что оба EFI и bios могут загружаться.
file live-image-amd64.hybrid.iso
live-image-amd64.hybrid.iso: DOS/MBR boot sector; partition 2 : ID
=0xef, start-CHS (0x3ff,254,63), end-CHS (0x3ff,254,63), startsect
or 708, 5696 sectors
Вы можете просто вставить в свой USB-ключ.:(Примечание :сначала убедитесь, что ваш USB-ключ не подключен!)
dd if=live-image-amd64.hybrid.iso of=/dev/sdX
Затем добавьте свой третий раздел для сохранения:
fdisk /dev/sdX <<<$'n\np\n\n\n\nw'
Форматирование и подготовка сохранения с помощьюunion
:
mkfs.ext4 -L persistence /dev/sdX3
mount /dev/sdX3 /mnt
echo '/ union' >/mnt/persistence.conf
sync
umount /mnt
Извлечь и попробовать...
Чтобы загрузиться с rootfs /
при зашифрованном сохранении, необходимо добавить dm-crypt
модуль и связанные двоичные файлы на initrd(начальный электронный диск ), добавив параметр CRYPTSETUP=y
в /etc/initramfs-tools/hooks/
...
Я написал небольшую XARGS
функцию для удаления закомментированных строк:
XARGS() { sed -ne '/#/d;s/ \t//g;H;${x;s/\n/ /g;s/^ //;p}'; }
Первая настройка bootparams
с локализацией и аргументами для сохраняемости и настройки шифрования:
ExtraBootParams=$(XARGS <<eobp
boot=live
config
locales=ed_WT
keyboard-layouts=ed
keyboard-variant=wt
persistent=cryptsetup
persistence-encryption=luks
persistence
eobp
)
Теперь ваш список пакетов:
PackageList=$(XARGS <<-eopl
gnome
gnome-core
# gnome-full
# debian-forensics
debian-installer-launcher
eopl
)
И ваш выбор пакета:
Packages=$(XARGS <<-eopk
cryptsetup
cryptsetup-initramfs
debian-installer-launcher
firmware-linux-nonfree
firmware-linux-free
less
ssh
# openvpn
# xtightvncviewer
gsmartcontrol
smartmontools
partclone
ntfs-3g
task-gnome-desktop
user-setup
sudo
apt-utils
eopk
)
Конечно cryptsetup
требуется! ;-)
Самый первый шагlb
:создание начального дерева:
lb config --architectures amd64 -d buster --debian-installer-gui \
true --archive-areas 'main contrib non-free' \
--bootappend-live "$ExtraBootParams"
Теперь у вас есть маленькое дерево, вы можете:
printf "%s\n" > config/package-lists/standard.list.chroot \
$Packages $PackageList
Хорошо, следующие две команды займут очень много времени! (Примерно 40 м на моем хосте)
lb bootstrap ; lb chroot
Теперь вы можете добавить свой модуль и бинарники:
echo dm-crypt >> chroot/etc/initramfs-tools/modules
sed '/CRYPTSETUP=/s/^#//;s/=.*/=y/' -i \
chroot/etc/cryptsetup-initramfs/conf-hook
ln -s../../cryptsetup-initramfs/conf-hook \
chroot/etc/initramfs-tools/hooks/cryptsetup
chroot chroot live-update-initramfs -u
Затем запустить финальную стадию (займет еще много времени ~25'):
lb installer ; lb binary
Примечание :Если вы читаете cryptsetup: WARNING: Couldn't determine root device
, все в порядке! Это означает, что cryptsetup установлен на вашем initrd
.
Если все в порядке, вы можете найти свой собственный Debian live:
ls -l *.iso
-rw-r--r-- 1 root root 1511817216 sep 7 15:32 live-image-amd64.hybrid.iso
'iso -гибридный' umage уже содержит два раздела для UEFI и живое сведение таким образом, что EFI и BIOS могут загружаться.
file live-image-amd64.hybrid.iso
live-image-amd64.hybrid.iso: DOS/MBR boot sector; partition 2 : ID
=0xef, start-CHS (0x3ff,254,63), end-CHS (0x3ff,254,63), startsect
or 708, 5696 sectors
Вы можете просто вставить в свой USB-ключ.:(Примечание :сначала убедитесь, что ваш USB-ключ не подключен!)
dd if=live-image-amd64.hybrid.iso of=/dev/sdX
Добавьте новый раздел Linux, используя свободное место.
fdisk /dev/sdX <<<$'n\np\n\n\n\nw'
Это создаст раздел 3 , используя свободное место на вашем USB-накопителе.
Затем подготовьте зашифрованный раздел
cryptsetup -q luksFormat /dev/sdX3
Введите пароль
cryptsetup -q luksOpen /dev/sdX3 persist
Введите пароль еще раз
mkfs.ext4 -L persistence /dev/mapper/persist
mount /dev/mapper/persist /mnt
echo '/ union' >/mnt/persistence.conf
sync
umount /mnt
cryptsetup luksClose persist
Вот и все.
eject /dev/sdX