Содержание

Файловая система

Добавление параметров ядра в ISO образе (GParted)

Распаковка

7z -o"iso" x gparted-live-1.6.0-1-amd64.iso

Внутри папки с распакованным образом:
Для изменения параметров ядра править файлы iso/syslinux/isolinux.cfg (параметры применились при загрузке в виртуалке) и /iso/boot/grub/grub.cfg (параметры применились при загрузке на реальной машине)

Сборка загрузочного образа:

mkisofs -o ../gparted-live-1.6.0-1-amd64-ok.iso -b syslinux/isolinux.bin -c syslinux/boot.cat -cache-inodes -no-emul-boot -boot-load-size 4 -boot-info-table -J -l -R -V "GParteg-OK" ./

Наверное, проще было исправить файлы на, уже записанной, флешке, но этот образ используется в Ventoy.

ISO образ gparted с добавленным параметром ядра nvme_core.default_ps_max_latency_us=0: gparted-live-1.6.0-1-amd64-ok.iso

https://gitlab.gnome.org/GNOME/gparted/-/issues/244
https://losst.pro/redaktirovanie-obrazov-v-linux
http://knoppix.net/forum/threads/21453-SOLVED-I-cant-find-the-boot-catalog-directory-boot-isolinux

Создание swap файла

fallocate -l 32G .swapfile.dat
chmod 600 .swapfile.dat
mkswap .swapfile.dat
swapon .swapfile.dat
swapon -s

Установка far2l - Far Manager для Linux в Fedora 38

dnf copr enable polter/far2l

Для графического окружения:

dnf install far2l

Для консоли:

dnf install far2l-tty

Одновременно друг с другом не живут.

Шифрованный диск в виде файла

Создаем файл/образ:

fallocate -l 200G /mnt/storage/storage2.img

Подключаем его, как первое свободное loop устройство:

losetup -f /mnt/storage/storage2.img

Шифруем раздел (попросит ввести слово «YES» в верхнем регистре и дважды ввести пароль шифрования):

cryptsetup luksFormat -c aes-xts-plain64 -s 512 -h sha512 $(losetup -l | grep "storage2.img" | awk '{print $1}')
или
cryptsetup luksFormat $(losetup -l | grep "storage2.img" | awk '{print $1}')

Монтируем шифрованный раздел (попросит ввести пароль), он смонтируется в /dev/mapper/cr-disk:

cryptsetup luksOpen $(losetup -l | grep "storage2.img" | awk '{print $1}') storage2

Форматируем в ext4, нулевым резервированием и меткой «storage2»:

mkfs.ext4 -m 0 -L storage2 /dev/mapper/storage2

Создаём точку монтирования:

mkdir /mnt/storage2

Монтируем:

mount -t ext4 /dev/mapper/storage2 /mnt/storage2

Для отключения:

umount /dev/mapper/storage2
cryptsetup luksClose /dev/mapper/storage2
losetup -d $(losetup -l | grep "storage2.img" | awk '{print $1}')

Увеличение корневого раздела виртуальной машины "на ходу"

parted /dev/vda print
Номер  Начало  Конец  Размер  Тип      Файловая система  Флаги
 1     1049kB  322GB  322GB   primary  ext4              загрузочный
 
parted /dev/vda resizepart 1 100%
resize2fs /dev/vda1

Использование ключа в виде файла

Создать ключ:

dd if=/dev/urandom of=.secret.key bs=1024 count=2

Добавить ключ:

cryptsetup luksAddKey /dev/loop0 .secret.key

Окрыть

cryptsetup luksOpen /dev/loop0 storage2 --key-file=/root/.secret.key

Файл «.secret.key» хранится на шифрованном разделе. Если предполагается монтирование раздела, например, в случае перезагрузки, данный файл вручную копируется в /root/, а после монтирования, уничтожается из /root/, например:

shred -u /root/.secret.key

Увеличение файла хранилища

Всё размонтировать.
Увеличивает до 300 гигабайт сохраняя содержимое:

fallocate -l 300G /mnt/storage/storage2.img

Подключить шифрованный раздел не монтируя файловую систему:

losetup /dev/loop0 /mnt/storage/storage2.img
cryptsetup luksOpen /dev/loop0 storage2

Увеличить шифрованный раздел до максимума:

cryptsetup resize storage2

Проверить файловую систему (проверку требует resize2fs):

e2fsck -f /dev/mapper/storage2

Увеличить файловую систему до максимума, после чего, проверить ещё раз:

resize2fs -p /dev/mapper/storage2

Смонтировать файловую систему:

mount /dev/mapper/storage2 /mnt/storage2

Частично отсюда...

Уменьшение файла хранилища

Отключение NFS, отмонтирование, проверка

exportfs -u 192.168.1.*:/mnt/storage2
umount /dev/mapper/storage2
e2fsck -f /dev/mapper/storage2

Уменьшение файловой системы до размера чуть меньшего, чем надо. resize2fs может быть очень долгим. С 130G до 550G «уменьшался» пять с половиной часов с загрузкой процессора под 100%

resize2fs -p /dev/mapper/storage2 550G
e2fsck -f /dev/mapper/storage2

Всё отключить

cryptsetup luksClose /dev/mapper/storage2
losetup -d $(losetup -l | grep "storage2.img" | awk '{print $1}')

Уменьшение файла образа до нужного размера

truncate -s 600G /mnt/storage/storage2.img

Подключение образа, проверка

losetup -f /mnt/storage/storage2.img
cryptsetup luksOpen $(losetup -l | grep "storage2.img" | awk '{print $1}') storage2
e2fsck -f /dev/mapper/storage2

Увеличение файловой системы до размера образа

resize2fs -p /dev/mapper/storage2

Монтирование, экспорт NFS

mount /dev/mapper/storage2 /mnt/storage2
exportfs -o rw,async 192.168.1.*:/mnt/storage2

Отключить автоматическое монтирование /tmp в tmpfs

systemctl mask tmp.mount

Для автоматической очистки /tmp, создать файл /etc/tmpfiles.d/tmp.conf с содержимым:

D! /tmp 1777 root root 0

Отсюда...

Удаление всех файлов (за исключением скрытых) в текущей и вложенных директорях

find \( ! -regex '.*/\..*' \) -type f -exec rm -f {} \;

Удаление всех файлов и папок, включая скрытые:

rm -rf /tmp/* /tmp/.[^.]*

Изменение атрибутов всех файлов в текущей директории на текущее время

find * -type f -exec touch {} \;

Записать ISO образ на флешку

dd if=ФайлОбраза.iso of=/dev/sde bs=4M status=progress oflag=sync

«ФайлОбраза.iso» - образ
«/dev/sde» - непримонтированная флешка
«4M» - копировать блоками по 1-му мегабайту.

Записать с помощью woeusb

woeusb --device windows_10.iso /dev/sdd

Узнать величину фрагментации на ext4

# fsck -n /dev/sdc2

В последней строке вывода:

storage: 461100/176742400 files (0.5% non-contiguous), 543355995/706966016 blocks

0.5% non-contiguous - величина фрагментации.

Узнать UUID разделов

# blkid
/dev/sda2: LABEL="capture" UUID="f85e7b79-26be-4b65-9503-c645d03cbd3f" TYPE="ext4" 
/dev/sda1: LABEL="windows" UUID="332209EF5BB0855D" TYPE="ntfs" 
/dev/sdb1: UUID="264d4af8-fd08-4e90-bddd-faabe421ff14" TYPE="ext4" 
/dev/sdb2: LABEL="storage2" UUID="cd29403f-ef2d-42bf-8a18-0cfb17dbde17" TYPE="ext4" 
/dev/sdc1: UUID="6edd3cad-c551-496d-9d79-85501254fdbf" TYPE="ext4" LABEL="/" 
/dev/sdc2: LABEL="storage" UUID="9122d8cf-b6b5-4f4e-bb73-b5afd258a0a3" TYPE="ext4"

Задать свой UUID:

tune2fs /dev/sdc1 -U 'UUID'

Отключить 5-ти процентное резервирование на ext4

tune2fs -m 0 /dev/sda2

Не рекомендуется для корневого раздела.

Отключение SATA диска перед извлечением

  1. Размонтировать
  2. # echo 1 > /sys/block/sdd/device/delete (sdd - отключаемое устройство)

Запись папки на DVD

growisofs -speed=2 -Z /dev/sr0 -R -J -V VIDEO-123 VIDEO-123

-speed=2 - Включить 2-ю скорость записи
-Z - записать на устройство /dev/sr0
-R - создать Rock Ridge (опция для mkisofs)
-J - создать Joliet (опция для mkisofs)
-V - метка тома VIDEO-123 (опция для mkisofs)
VIDEO-123 - папка с записываемыми файлами

Для записи с проверкой можно использовать следующий скрипт:

#!/usr/bin/perl

# @ARGV[0] - папка с файлами и метка тома (VIDEO-123)

$folder=@ARGV[0];
$device="/dev/sr0";

print "------------------------------------------------------------------------------------------------\n";
print "Запись папки $folder\n";

waitDevice();
print "Пауза 5 секунд...\n"; sleep (5);

print "Начало записи...\n";
`growisofs -speed=8 -Z $device -R -J -V $folder $folder`;
print "Окончание записи...\n";

print "Пауза 10 секунд...\n"; sleep (10);
waitDevice();

print "Проверка...\nМонтирование...\n";
`udisks --mount $device`;
print "Чтение файлов...\n";
system ("find /media/$folder -type f -exec cp -v {} /dev/null \\;");
print "Размонтирование...\n";
`udisks --unmount $device`;
print "Извлечение диска...\n";
`udisks --eject $device`;

sub waitDevice {
my $c="0";
print "\nОжидание диска ";
while ($c eq "0"){
  $ret=`udisks --show-info $device | grep "has media:"`;
  @ar=split (" ",$ret);
  print ".";
  sleep (1);
  $c=@ar[2];
  }
print "\n";
}

Создание шифрованного тома

Хранение шифрованных данных в файле

Создаем сам файл, на котором будет храниться шифрованная файловая система:

touch /storage/crypt-file

Заполняем его случайными данными, чтобы сложнее было дешифровать. Задаём размер тома в 300 мегабайт:

shred -v -n1 -s300M /storage/crypt-file

Создаем loopback устройство из файла:

losetup /dev/loop0 /storage/crypt-file

Создаем шифрованный том из устройства /dev/loop0:

cryptsetup -c aes -y create crypt-disk /dev/loop0

Форматируем файловую систему:

mkfs -t ext2 /dev/mapper/crypt-disk

Монтирование:

losetup /dev/loop0 /storage/crypt-file
cryptsetup create crypt-disk /dev/loop0
mount /dev/mapper/crypt-disk /media/crypt

Размонтирование:

umount /storage/crypt
cryptsetup remove crypt-disk
losetup -d /dev/loop0

По материалам BLUG - Wiki - Создание шифрованного тома в Linux

Настройка grub для загрузки с другого диска

Имеем: grub на sda, Linux на sda1, Windows на sdc1 (NTFS),
Для загрузки Windows с третьего диска (sdc1) необходимо прописать в /boot/grub/grub.conf:

title Windows
rootnoverify (hd0,0)
map (hd2) (hd0)
chainloader (hd2,0)+1
makeactive

и (возможно необязательно) в /boot/grub/device.map добавить:

(hd2)     /dev/sdc

Перебор файлов в папке

#!/bin/bash

find ./*.rar -type f | while read FILENAME; do
rar x $FILENAME
done

Распаковывает все файлы *.rar в текущую папку

Переименование файлов из одной кодировки в другую.

22 ноября 2008г.

Проверка переименования всех файлов текущей папки из кодировки cp866 в utf8:

convmv -f cp866 -t utf8 *

Переименование:

convmv -f cp866 -t utf8 * --notest

Создание раздела в оперативной памяти (RAMDISK).

15 октября 2008г.

mount -t ramfs -omaxsize=256M none /mnt/ram/

Преобразование ext3 в ext4.

8 июня 2008г.

Fedora 8 (ядро 2.6.25.9-40).

1. Отмонтировать раздел с ext3:

umount /dev/sdb2

2. Разрешить монтирование, как ext4:

/sbin/debugfs -w /dev/sdb2

debugfs:  set_super_value s_flags 4
debugfs:  quit

3. Изменить идентификатор файловой системы на ext4dev в файле /etc/fstab:

/dev/sdb2      /media/capture      ext4dev      defaults  0 0

4. Смонтировать раздел с ext3:

mount /dev/sdb2

Монтирование разделов NTFS на чтение/запись.

С использованием ntfs-3g:
В файле /etc/fstab

/dev/sdb2    /media/old_d    ntfs-3g    defaults,locale=ru_RU.UTF-8,user    0 0

Монтируется раздел sdb2 в папку /media/old_d, устанавливается локаль ru_RU.UTF-8

* В Fedora 8 достаточно :

/dev/sdb2    /media/old_d    ntfs    defaults    0 0

Монтирование ISO образа. Конвертирование из образов других форматов в ISO.

mount Образ.iso /media/iso -o loop
umount /media/iso

Конвертирование cue/bin → iso:

bchunk binfile.bin cuefile.cue myisofile.iso

Конвертирование nrg → iso:

nrg2iso image.nrg image.iso

Конвертирование mdf → iso:

mdf2iso image.mdf image.iso

* mdf2iso нет в репозиториях, пакет ставился отсюда - mdf2iso-0.3.0-2.1.x86_64.rpm или mdf2iso-0.3.0-2.1.x86_64.rpm.


Проверка и исправление ошибок дисков.

На несмонтированных файловых системах, выполнить

e2fsck -f -p -C 0 /dev/sda1

Перенос системы на другой диск.

  1. Загрузить ОС в режиме init 1 или добавить параметр ядра single.
  2. Смонтировать новый раздел в /mnt/new (раздел должен быть помечен, как активный)
  3. Скопировать необходимые разделы:
rsync -axvPH / /mnt/new/

(копирует корневой раздел в /mnt/new)

  1. Переподключить диски.
  2. Если система не грузится, восстановить grub:

Загрузится в linux rescue
Выполнить

grub-install –root-directory=/ hd0

(если новая система находится на hd0)
Смотреть также Восстановление grub.


Восстановление grub.

1. Грузимся с установочного диска в режиме восстановления.
2. Не подмонтируем chroot.
3. Запускаем grub, в нём:

root (hd0,0)
setup (hd0)
quit

4. Перегружаемся…


Изменение метки тома на ext2, ext3.

/sbin/e2label /dev/sdb1 /

Переименовывает том sdb1 на /


Создание/Восстановление образа жёсткого диска.

Создание: На локальной машине:

cat /dev/sda1 > disk.img

Создаёт образ диска sda1 в файл disk.img, может быть смонтирован, как блочное устройство (с опцией -o loop), совместим с форматом образов qemu.

cat /dev/sda1 | bzip2 > disk.img.bz2

Создаёт сжатый образ.

С удалённой машины:

ssh root@remotehost cat /dev/sda1 > disk.img

Восстановление:

Загрузится в rescue mode. Примонтировать раздел, содержащий файл образа. Не монтируя sda1 выполнить:

cat disk.img > /dev/sda1

Сборка загрузчика.

В папке /boot запустить:

mkinitrd ФайлЗагрузчика Ядро

Создаётся ФайлЗагрузчика, на основании конфигурации Ядра.

Например:

mkinitrd initrd-2.6.24.3-34.ok.img 2.6.24.3-34

В /boot/grub/grub.conf прописываем:

title Fedora (2.6.24.3-34.ok)
root (hd0,0)
kernel /boot/vmlinuz-2.6.24.3-34.fc8 ro root=/dev/sda1 rhgb quiet
initrd /boot/initrd-2.6.24.3-34.ok.img

Наверх