LINUX.ORG.RU

Сообщения Starover

 

Восхитительная вещь: Linux Live Kit, но как настроить первоначальный экран, zRam, persistence (чистый аналог MX Linux с полноценной средой)?

Форум — General

Всем доброго утра!

Tomas Matejicek (автор Slax Linux) решил провести мастер-класс по альтруизму и создал инструмент, позволяющий буквально в пару кликов создать Live-версию любой операционной системы (ну, почти любой).

https://www.linux-live.org/

https://github.com/Tomas-M

Порядок действий: очищаем установленную и настроенную систему от мусора, проверяем наличие пакетов squashfs-tools, genisoimage, zstd, если нет - ставим, чистим кэш, скачиваем и распаковываем https://github.com/Tomas-M/linux-live/tarball/master

Идем в .../Tomas-M-linux-live-7d4ad09/bootfiles/

открываем syslinux.cfg добавляем пункты меню:

LABEL default
MENU LABEL Toram on
KERNEL /boot/vmlinuz
APPEND vga=769 initrd=/boot/initrfs.img load_ramdisk=1 prompt_ramdisk=0 rw printk.time=0 apparmor=0 toram
LABEL default
MENU LABEL Persistence on
KERNEL /boot/vmlinuz
APPEND vga=769 initrd=/boot/initrfs.img load_ramdisk=1 prompt_ramdisk=0 rw printk.time=0 apparmor=0 perch

Возможно, еще также должна работать и комбинация:

LABEL default
MENU LABEL Persistence on, Toram on
KERNEL /boot/vmlinuz
APPEND vga=769 initrd=/boot/initrfs.img load_ramdisk=1 prompt_ramdisk=0 rw printk.time=0 apparmor=0 perch toram

Не проверял, если честно.

Сохраняем, закрываем.

Также заменяем скучные обои bootlogo.png на наш несравненный .png размером 640х480.

Идем в /Tomas-M-linux-live-7d4ad09/build находим строки:

if [ "$SKIPCOREMOD" = "" ]; then
mksquashfs $COREFS $LIVEKITDATA/$LIVEKITNAME/01-core.$BEXT -comp xz -b 1024K -Xbcj x86 -always-use-fragments -keep-as-directory || exit
fi

и заменяем на:

if [ "$SKIPCOREMOD" = "" ]; then
#   mksquashfs $COREFS $LIVEKITDATA/$LIVEKITNAME/01-core.$BEXT -comp xz -b 1024K -Xbcj x86 -always-use-fragments -keep-as-directory || exit
#   mksquashfs $COREFS $LIVEKITDATA/$LIVEKITNAME/01-core.$BEXT -comp lz4 -always-use-fragments -keep-as-directory || exit
   mksquashfs $COREFS $LIVEKITDATA/$LIVEKITNAME/01-core.$BEXT -comp zstd -always-use-fragments -keep-as-directory || exit
fi

Можно попробовать через lz4, но xz - точно не стоит, никакого кофе не хватит.

Сохраняем, закрываем.

Идем в /Tomas-M-linux-live-7d4ad09/config находим строку:

LIVEKITNAME="linux"

Заменяем linux на название нашего дистрибутива (латиница, без пробелов), или любое название, которое считаем эстетически привлекательным.

Сохраняем, закрываем.

Запускаем через sudo или от root: ./build

Ждем, если все отработало как нужно - идем в /tmp/ и забираем наш каталог linux-live. Перебрасываем его на флешку (я форматировал ее в ext4) и запускаем уже с флешки «наше название системы»/bootfiles/bootinst.sh

Всё. Если вдруг «не всё» - то читаем файлы readme, там всё предельно ясно расписано. Ну почти всё.

Также в /tmp/ будет лежать скрипт для создания iso образа, если вдруг он нам нужен.

- - - - - - - - - - - - - - - - - - - - - - - - - - -

Теперь вопросы к пользователям Slax (но и не только):

- как по аналогии с 01-core.sb сделать, ну например, 02-vb.sb и сохранить в нем слой с установленным VirtualBox? При этом, чтобы была возможность подключать и отключать его (равно как и другие слои/образы) на лету.

- как отредактировать оформление этого чудного начального меню с таблицей из 90-х и цветами, которые вышли из моды еще во времена молодости моей бабушки?

- как сделать чтобы при включении perch изменения шли не в каталог /changes/ на нашей флешке, с дублированием корневой системы, а как-то по уму, например, единоразово при выключении в единый файл со сжатием?

- как работает zRam? Всегда ли происходит сжатие всего, что идет в память, или только тогда, когда свободная память подходит к концу? Если всегда, то как отключить эту опцию? Интуитивно - zram=off или zram=0 в начальном меню, но не уверен.

Ну и наконец - зачем городить весь этот огород, если можно взять готовую MX Linux? Во-первых, Вы можете попробовать проделать это с любой системой, а не только с модификацией Debian без Systemd (понимаю, что для гуру - не критично, но для новичков - это ад, когда «все делаешь по инструкции», но ничего не работает, ибо у тебя «особенная» система), во-вторых, Вам не нужно вычищать весь мусор, который сочли нужным положить в систему разработчики дистрибутива - Вы просто берете и настраиваете все сами (на самом деле нет - придется 100500 раз задать вопросы на ЛОРе), с нуля, с консоли, устанавливая только то, что нужно, ну и в третьих, (продолжая тему доверия к AppImage - Какие репозитории AppImage можно считать «безопасными»?) к репозиториям основного семейства дистрибутивов всё-таки больше доверия. Но это уже дело вкуса.

 , , , ,

Starover
()

Какие репозитории AppImage можно считать «безопасными»?

Форум — General

Вот например:

https://appimage.github.io/apps/

https://apprepo.de/

Вообще, хотелось бы понять, насколько в целом можно доверять пакетам AppImage?

Собирать всё самому - это паранойя или «так и только так»?

И какой командой можно посмотреть, чего не хватает тому или иному пакету? Например, fuse (но это основа), но может еще что...

 

Starover
()

Вселенная - это чей-то код?

Форум — Talks

Можно ли провести аналогию между жизнью живого существа и запущенным процессом в операционной системе?

Насколько логичным будет провести параллель между машинным обучением и процессами, происходящими во Вселенной?

Можно ли утверждать, что это одна из весомых причин, почему при рождении стираются память и прежний опыт (или, как минимум, к ним закрывается доступ)?

Можно ли считать, что всё, что имело место быть - вечно, достаточно лишь взять пространство с большим количеством измерений, где время отсутствует или приобретает совершенно иные формы?

 

Starover
()

Не работает команда pkexec, не монтируются разделы внутреннего диска - что я не поставил?

Форум — General

Добрый вечер! Уже который день пытаюсь бороться с xfce и xorg, чтобы не тянули миллион «рекомендуемых» пакетов. Вроде уже и все настроил, всё железо определилось, звук есть, изображение без артефактов, сеть есть, программы работают, все настроил под себя... и тут выясняется, что неведомо почему не работает Policy Kit:

( читать дальше... )

 , , ,

Starover
()

Как правильнее получить доступ к sudo?

Форум — Security

Добавить себя в группу sudo, выполнив в консоли:

usermod -a -G sudo username

Или записать в файл «/etc/sudoers»:

username ALL=(ALL:ALL) ALL

Или оба варианта из серии вредных советов и нужно детализировать по отдельным командам и складывать в /etc/sudoers.d/ ?

И попутно: допустимо ли запускать GUI приложения через gksu/gksudo вместо pkexec?

gksu synaptic
gksudo thunar

 , , ,

Starover
()

Чем конвертировать PDF в текст с сохранением форматирования (таблицы)?

Форум — General

Нужно преобразовать около сотни файлов.

 ,

Starover
()

А чем заменить Nomacs?

Форум — General

Уже как-то привык, что можно одной кнопкой нормализовать изображение. Вот хотелось бы что-то столь же удобное, но из репозитория Debian.

 

Starover
()

dd if=dev/sda1 | zstd - | dd of=/path_to_backups/fs.img.zst - так можно?

Форум — General

Часто встречается такая конструкция:


dd if=dev/sda1 | gzip - | dd of=/path_to_backups/fs.img.gz

dd if=fs.img.gz | gunzip - | dd of=/dev/sda1

Насколько разумный способ?

И можно ли модернизировать вот таким образом:


dd if=dev/sda1 | zstd - | dd of=/path_to_backups/fs.img.zst

dd if=fs.img.zst | unzstd - | dd of=/dev/sda1

 , , ,

Starover
()

А нужен ли нам вообще пользователь «root»?

Форум — Security

Нет, вот реально, есть же sudo? Что можно сделать такого под root, чего нельзя сделать через:

sudo -s
sudo -i

Разница между sudo -s и sudo -i (комментарий)

И попутно (если окажется, что не нужен) - как правильно прописать в sudoers привилегии для единственного пользователя в системе, чтобы вообще не создавать профиль root?

 ,

Starover
()

Чем принято проверять флешки и жесткие диски в Линукс?

Форум — Linux-hardware

Добрый день! Скажите, чем обычно проверяете носители?

По флешке - необходимости в сохранении данных нет.

По жесткому диску - хочу убедиться, что не размагнитился за долгие годы, проведенные на полке и что все данные целые. Второго носителя такого объема нет, копировать частями - долго.

И если badblocks, то с какими аргументами?

 

Starover
()

Скопировать систему с жесткого диска в SquashFS образ и закинуть его на флешку. Что я делаю не так?

Форум — General

SquashFS

. . .

Ставлю необходимые пакеты:

apt update
apt install squashfs-tools

...

Создаю каталог для монтирования рабочей файловой системы:

mkdir /mnt/root

...

Монтирую рабочую файловую систему в созданный каталог:

mount /dev/sda1 /mnt/root

...

Создаю SquashFS образ файловой системы:

apt install lz4
mksquashfs /mnt/root /tmp/out.squashfs -comp lz4 -noappend -no-fragments

...

После чего размонтирую рабочую файловую систему:

umount /mnt/root

. . .

Загрузочная флешка:

. . .

Узнаю физическое расположение флешки:

lsblk (в моем случае sdb)

...

Форматирую в FAT32:

apt install dosfstools mtools
mkfs.vfat /dev/sdb

...

Иду в /usr/lib/grub/ и смотрю какие каталоги там лежат.

В моем случае только /usr/lib/grub/i386-pc/

...

Устанавливаю GRUB:

grub-install --target=i386-pc --boot-directory=/mnt/flash/boot /dev/sdb

...

Создаю конфигурационный файл GRUB:

grub-mkconfig -o /mnt/flash/boot/grub/grub.cfg

...

Копирую образ SquashFS в корень флешки:

cp /tmp/out.squashfs /mnt/flash/

...

Добавляю в файл конфигурации grub (nano /mnt/flash/boot/grub/grub.cfg - в секцию menuentry) загрузку из образа:

linux /out.squashfs
function gfxmode {
	set gfxpayload="${1}"
}
set linux_gfx_mode=
export linux_gfx_mode
menuentry 'Debian GNU/Linux' --class debian --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-9322dd9e-2a03-469a-8c4d-64c840ae1edb' {
	load_video
	insmod gzio
	if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
	insmod part_msdos
	insmod ext2
	set root='hd0,msdos1'
	if [ x$feature_platform_search_hint = xy ]; then
	  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1  9322dd9e-2a03-469a-8c4d-64c840ae1edb
	else
	  search --no-floppy --fs-uuid --set=root 9322dd9e-2a03-469a-8c4d-64c840ae1edb
	fi
	linux /out.squashfs
	echo	'Loading Linux 5.10.0-20-amd64 ...'
	linux	/boot/vmlinuz-5.10.0-20-amd64 root=UUID=9322dd9e-2a03-469a-8c4d-64c840ae1edb ro  quiet
	echo	'Loading initial ramdisk ...'
	initrd	/boot/initrd.img-5.10.0-20-amd64
}

...

Копирую файлы vmlinuz-5.10.0-20-amd64 и initrd.img-5.10.0-20-amd64 из директории /boot в директорию /mnt/flash/boot на флешке.

cp /boot/vmlinuz-5.10.0-20-amd64 /mnt/flash/boot/
cp /boot/initrd.img-5.10.0-20-amd64 /mnt/flash/boot/

...

Размонтирую флешку:

umount /mnt/flash

...

Файлы на флешке:

root@debian:/mnt/flash# find ./ -type f
./boot/initrd.img-5.10.0-20-amd64
./boot/grub/i386-pc/load.cfg
./boot/grub/fonts/unicode.pf2
./boot/grub/grubenv
./boot/grub/grub.cfg
./boot/vmlinuz-5.10.0-20-amd64
./out.squashfs
root@debian:/mnt/flash# 

 ,

Starover
()

Аналог EWF для Debian Linux - пакет: overlayroot (Debian в режиме киоска)

Форум — General

Я, кстати, так и не нашел способа находясь в системе отключить оверлей (после его включения через overlayroot=«tmpfs») так что, перед тем как включать, подумайте, как его потом отключить. :)

https://packages.debian.org/bookworm/overlayroot

После установки пакета появится конфигурационный файл /etc/overlayroot.conf со следующим содержимым:

# This is the overlayroot config file
# By default, overlayroot is not enabled.
# To enable overlayroot:
#   1) edit the 'overlayroot' definition below
#   2) reboot
#
# Supported values:
#  * overlayroot=tmpfs or overlayroot=tmpfs:PARAMETERS
#    write all changes to a temporary (ram only) backing device
#    A tmpfs mount will be created, and usable filesystem can
#    grow to 1/2 available memory.
#
#    available parameters:
#     * see COMMON PARAMETERS
#
#    examples:
#     overlayroot=tmpfs
#     overlayroot=tmpfs:swap=1
#
#  * overlayroot=DEVICE or overlayroot=device:PARAMETERS
#    mount DEVICE as overlayfs and write changes there
#    device must already have kernel mountalbe filesystem on it.
#
#    available parameters are:
#     * dev: default: "" [REQUIRED]
#       use given device for backing filesystem.
#       Note, 'overlayroot=/dev/vdb' is translated to
#             'overlayrooot=device:dev=/dev/vdb'
#     * timeout: default: 0
#       if 'dev' provided does not exist, wait up to many seconds for
#       it to appear.
#     * see COMMON PARAMETERS
#
#    examples:
#      overlayroot=/dev/xvdb
#      overlayroot=/dev/vdb
#      overlayroot=device:dev=/dev/sdb,timeout=180
#      overlayroot=device:dev=LABEL=my-flashdrive,timeout=180
#
#  * overlayroot=crypt:PARAMETERS
#    use an encrypted [dmcrypt] device as the backing device. Parameters
#    are comma delimited key=value pairs.
#
#    available parameters are:
#     * dev: default: "" [REQUIRED]
#       use given device for backing filesystem.
#     * mapname: default: "secure"
#       the name of the map device to be created in /dev/mapper
#     * pass: default: ""
#       if not provided or empty, password is randomly generated
#       the generated password will be stored for recovery in
#       /run/initramfs/overlayroot.passwd
#     * fstype: default: "ext4"
#       mapname=mapper,pass=foo,fstype=ext4,mkfs=1
#     * mkfs: default: 1
#         0: never create filesystem
#         1: if pass is given and mount fails, create a new one
#            if no pass given, create new
#         2: if pass is given and mount fails, fail
#            if no pass given, create new
#     * timeout: default: 0
#       if 'dev' provided does not exist, wait up to many seconds for
#       it to appear.
#     * see COMMON PARAMETERS
#
#    examples:
#      crypt:mapname=mapper,pass=foo,fstype=ext4,mkfs=1,dev=vdb
#      crypt:mapname=mapper,pass=foo,fstype=ext3,mkfs=1,dev=/dev/disk/by-label/my-jumpdrive,timeout=120
#      crypt:dev=xvdb
#
#  * overlayroot=disabled
#    if set explicitly to 'disabled', or an empty string, then
#    overlayroot will do nothing.
#
#
# COMMON PARAMETERS:
#   The following parameters are supported for each of overlayroot=
#   values above.
#   * swap: default: 0
#     allowed values: 0, 1
#     indicate if swap partitions should be allowed.  By default swap entries
#     are removed from /etc/fstab to disable swap.
#     Swap *files* are always disabled, independent of this setting.
#
#   * recurse: default: 1
#     allowed values: 0, 1
#     indicate if all mounts should be made read-only, or just /.
#     if set to 1, then all filesystems will be mounted read-only.
#     if set to 0, only root will be set to read-only, and changes
#     to other filesystems will be permenant.  For example, if
#     /home is on a separate partition from / and recurse set to 0
#     then changes to /home will go through to the original device.
#
#  * debug: default: 0
#     allowed values: 0, 1
#     enable debug output if set to 1
#
#  * dir: default: "/overlay"
#    the directory under the filesystem to use for writes
#    default is to use top level directory.  For example, use
#    'dir=my-tests/run1' and later 'dir=my-tests/run2'
#
#  * driver: default: "auto"
#    This can be 'overlay' or 'overlayfs'.  It will affect which filesystem
#    is used to provide the overlay and the entries in fstab.
#    The default value is almost certainly correct.
#
# overlayroot_cfgdisk:
#  * default: 'disabled'
#    If this variable is set, it references a disk/filesystem that
#    may exist, and include a 'overlayroot.conf' file in it's root directory
#    If a such a device exists, then it's overlayroot.conf file can
#    set overlayroot as above.
#
#    examples:
#    * overlayroot_cfgdisk="LABEL=OROOTCFG"
#    * overlayroot_cfgdisk="/dev/vdb"
#
#    Note: if you enable this setting, then you must be careful to be sure
#          that no filesystems are created that match this without your
#          knowledge.  This is because code on that filesystem is executed
#          as root in the initramfs environment.
#
# Notes:
#  * This file is managed by dpkg as a conffile, so changes to it
#    will force dpkg config file prompts on package updates that contain a
#    change.  Instead of putting changes here, put them in
#    /etc/overlayroot.local.conf
#  * you can pass the same 'overlayroot=' parameters on the kernel
#    command line, and they will override any values set here.
#    This includes 'overlayroot=' or 'overlayroot=disabled' to disable
#    a value set in this file.
#  * if you specify crypt:dev=/dev/vdb, then DATA WILL BE LOST
#    on /dev/vdb.  A safer value would be to use
#     crypt:dev=/dev/vdb,pass=somepassword,mkfs=0
#    However, you would then have to have previously set up the luks device.
#    Do that like the following:
#      $ MAPNAME="secure"; DEV="/dev/vdg"; PASSWORD="foobar"
#      $ sudo wipefs -a $DEV
#      $ printf "%s" "$PASSWORD" |
#         sudo cryptsetup luksFormat "${$DEV}" --key-file -
#      $ printf "%s" "$PASSWORD" |
#         sudo cryptsetup luksOpen "${DEV}" "${MAPNAME}" --key-file -
#      $ sudo mke2fs -t "ext4" "/dev/mapper/${MAPNAME}"
#
# Security Note:
#    IT IS INSECURE TO SET THIS PASSWORD HERE IN THIS CLEARTEXT CONFIGURATION
#    FILE OR ON THE KERNEL COMMAND LINE.
#    Randomly generated passwords are more secure, but you won't be able to
#    read your encrypted disk on reboot.
#    Randomly generated passwords are generated by calculating the sha512sum
#    of a concatenation of:
#      - stat -L /dev/* /proc/* /sys/*
#        + some unpredictability of access/modify times of a number of kernel
#          files, directories, and block devices
#      - /proc/sys/kernel/random/boot_id
#        + 16-bytes uuid, consider this a 'salt'
#      - /proc/sys/kernel/random/uuid
#        + 16-bytes uuid, consider this psuedo randomness
#      - /dev/urandom
#        + 4096-bytes of psuedo randomness
#      - $DEV
#        + 4096-bytes from the head of the disk
#        + security-paranoid users can write 4096-bytes of randomness to
#          this device and specify mkfs=1 before rebooting into an
#          crypt+overlayroot setup
#    The result is stored in r-------- /dev/.initramfs/overlayroot.XXXXXXX,
#    which is a tmpfs in memory.
overlayroot_cfgdisk="disabled"
overlayroot=""

 ,

Starover
()

Debian Xfce4 минимальная конфигурация

Форум — Linux-install

Как делаю сейчас:

- беру сетевой установщик https://www.debian.org/CD/netinst/

На следующем окне снимаю все галочки:

Debian desktop environment

  • GNOME
  • Xfce
  • KDE Plasma
  • Cinnamon
  • MATE
  • LXDE
  • LXQt

web server

print server

SSH server

standard system utilities

Потом перегружаюсь и ставлю весь этот зоопарк:

apt install xfce4-panel xfdesktop4 xfwm4 xfce4-settings xfce4-session xfce4-power-manager thunar libxfce4ui-utils xfce4-appfinder xfce4-terminal xfconf xinit --no-install-recommends

Собственно, два вопроса:

- не упустил ли чего важного;

- может, вместо xinit что другое поставить?

 ,

Starover
()

Ventoy + Debian 11 + (VDI or VHD) - как?

Форум — General

Инструкцию смотрел: https://www.ventoy.net/en/plugin_vtoyboot.html

При запуске vtoyboot.sh - скрипт пожаловался на неподдерживаемую систему.

Но такого же просто не может быть! Или может?!

 , , ,

Starover
()

Есть какие пакеты для Debian или Ubuntu, позволяющие легко и непринужденно сделать из установленной системы live версию?

Форум — General

Добрый день!

И чтобы два раза не вставать - кто пользовался и тем и другим - что в итоге выбрали?

 , ,

Starover
()

Чем протестировать железо под Debian?

Форум — Linux-hardware

Материнская плата, видеокарта, блок питания (пока без мультиметра). Система без systemd.

 ,

Starover
()

RSS подписка на новые темы