Linux для чайника – Telegram
Linux для чайника
20K subscribers
89 photos
4 files
80 links
Linux
- Разбор утилит / инструментов
- Новости / факты
- Опросы для проверки знаний, навыков
и многое другое.

Только по вопросам сотрудничества: @altmainf

Регистрация в перечне РКН https://clck.ru/3EpL9L
Download Telegram
Менеджеры для создания и управления разделов

1. Fdisk
Инструмент командной строки, предоставляющий удобный, основанный на тексте и управляемый при помощи меню интерфейс. Он поддерживает несколько форматов таблиц разделов, включая MS-DOS и GPT.

2. Parted
инструмент командной строки для управления разделами жесткого диска. Он поддерживает несколько форматов таблиц разделов, включая MS-DOS, GPT, BSD и многие другие.

3.Gparted
бесплатный кроссплатформенный и расширенный графический менеджер разделов диска

4. GNOME Disks
системная утилита, используемая для управления разделами диска и мониторинга S.M.A.R.T. Она поставляется с рабочей средой GNOME.
Создание MBR разделов с помощью fdisk

fdisk - стандартная утилита для управления разделами MBR в Linux.

Для начала введите команду:
fdisk /dev/sda

(/dev/sda - устройство, соответствующее физическому диску)

Далее у вас откроется интерактивное меню, где и будет создаваться раздел.

Чтобы посмотреть, есть ли на диски раздел, можно воспользоваться командой - p.

Если есть, то его можно удалить с помощью команды - d.
(в случае удаления расширенного раздела, все логические разделы внутри него также будут удалены)

Для создания раздела воспользуйтесь командой - n и чтобы записать изменения - команда w.

Установить fdisk на Ubuntu:
sudo apt install fdisk
Команда fuser

Предназначена для вывода списка процессов, работающих с заданным файлом, сетевым портом или файловой системой и, в случае необходимости, позволяет автоматически завершать их работу.

Примеры:

- чтобы найти все процессы, использующие заданный файл, достаточно использовать команду fuser без каких-либо аргументов:
fuser <file name>

- параметр -v позволяет получить дополнительную информацию

- чтобы завершить работу всех процессов, использующих заданный файл - параметр -k.

- чтобы вывести список процессов, использующих локальный сетевой порт, достаточно указать номер интересующего порта и тип сетевого протокола:
fuser -v 12345/tcp
Команда Modprobe

modprobe утилита для загрузки и выгрузки модулей.

Модули ядра хранятся в каталоге /lib/modules/<kernel_version>. Версию работающего ядра можно найти используя команду uname -r.

Примеры:
Чтобы загрузить модуль, вызовите команду modprobe, сопровождаемую именем модуля:
modprobe module_name

Чтобы загрузить модуль с дополнительными параметрами, используйте синтаксис parameter=value:
modprobe module_name parameter=value

Чтобы удалить модуль:
modprobe -r module_name
Команда lsmod

Используется для получения информации о загруженных модулях ядра Linux.

Утилита lsmod форматирует содержимое /proc/modules и не выполняет каких-либо сложных манипуляций. Тем не менее, она полезна для диагностики проблем с оборудованием.

выводит информацию в формате таблицы с тремя столбцами: Module, Size и Used by.

Использование:
Для вывода информации обо всех загруженных модулях ядра:
lsmod

Для вывода информации об определенных модулях ядра:
lsmod | grep <molule name>
Команда insmod

Используется для загрузки модуля в ядро линукс.

Повторяет функционал modprobe.

Утилита загружает конкретный файл с расширением «ko», при этом, если модуль зависит от других модулей, еще не загруженных в ядро, команда выдаст ошибку, и не загрузит модуль.

Поэтому все зависимости придется подгружать вручную. Эта команда постепенно вытесняется командой «modprobe».

insmod some_file_name
Загрузка модулей ядра

Загрузить модуль в ядро можно при помощи двух команд: «insmod» и «modprobe».

Область применения этих команд:

- при помощи «insmod» подгружается файл модуля из произвольного места файловой системы (например, пользователь скомпилировал модули и перед переносом в дерево ядра решил проверить его работоспособность);

- при помощи «modprobe» подгружаются уже готовые модули, включенные в дерево модулей текущей версии ядра.
S.M.A.R.T.

Технология, предоставляющая пользователю различные данные о текущем состоянии жесткого диска или твердотельного накопителя.

Анализируя данные S.M.A.R.T., пользователь может оценить состояние своих накопителей и решить, требуют ли они замены или ещё смогут работать долго и без сбоев.

Установка для дистрибутивов на основе Debian:
sudo apt-get install smartmontools

Теперь можно вывести все данные S.M.A.R.T. командой smartctl с опцией -a и указанием анализируемого диска:
sudo smartctl -a /dev/sda

Сначала будет выведена информация о модели вашего HDD и SSD, а немного ниже можно найти саму таблицу с данными S.M.A.R.T.
Команда umount

umount — утилита командной строки в UNIX-подобных системах.

Применяется для размонтирования файловых систем, предварительно смонтированных посредством вызова утилиты mount. Для её использования требуются привилегии суперпользователя.

К примеру, чтобы размонтировать раздел hda2:
umount /dev/hda2

Размонтирование всех смонтированных файловых систем (кроме корневой):
umount -a

Принудительное размонтирование, вне зависимости, используется ли устройство или нет:
umount -f /cdrom
Команда readlink

Команда readlink в Linux используется для печати разрешенных символических ссылок или канонических имен файлов.

Проще говоря, всякий раз, когда у нас есть символическая ссылка, мы по ней переходим и получаем информацию о ней.

Примеры:

Получить файл, на который указывает символическая ссылка:
readlink some_file_name

Получить абсолютный путь к файлу:
readlink -f some_file_name
Создание образа initramfs

Сценарий update-initramfs управляет вашими образами initramfs на вашем локальном компьютере. Он отслеживает существующие архивы initramfs в /boot.

Есть три режима работы: создать, обновить или удалить (Обязательно указать хотя бы один из этих режимов)

initramfs — это cpio-архив, сжатый gzip. Во время загрузки ядро распаковывает этот архив в RAM-диск, монтирует и использует его как начальную корневую файловую систему.

Пример:
Чтобы обновить initramfs новейшего ядра:
update-initramfs -u
Объединение строк файлов

paste
это команда, которая позволяет объединять строки файлов по горизонтали.

Она выводит строки, состоящие из последовательно соответствующих строк каждого файла, указанного в качестве аргумента, разделенных табуляцией.
paste file1 file2

Чтобы вывести соединенные строки через символ, который хотите вы, например через пробел, а не табуляции, можно воспользоваться параметром -d:
paste -d ' ' file1 file2
Операция изменения корневого каталога - chroot

Термин chroot может относиться или к концепции изменений корневого каталога, или к системному вызову chroot(2), или к программе chroot(8).

Изменение корневого каталога производится при помощи системного вызова chroot(2). Изменение корневого каталога затрагивает только текущий процесс и всех его потомков.

Если требуется запустить программу с изменённым корневым каталогом, но в данной программе не предусмотрено выполнение вызова chroot(2), используют программу chroot(8).

Эта программа принимает в качестве параметров новый корневой каталог и путь к программе. Она сначала сама выполняет вызов chroot(2) для изменения собственного корневого каталога на указанный, а затем запускает программу по заданному пути.
Команда Dracut

Используется для улучшения работы загрузочной системы Linux и создания загрузочного образа Linux путем копирования оборудования и документов из смонтированной системы и объединения их с Dracut Framework.

Чтобы перезаписать существующее изображение:
sudo dracut -force

Выбрать любое другое имя файла для фотографии:
dracut foobar.img

Чтобы быстро запустить правильную командную строку ядра:
sudo dracut --print-cmdline
Команда mkinitrd

Используется для создания файла изображения, который вы хотите загрузить в псевдодиск.

mkinitrd могут создавать файлы изображений для включения в псевдодиска Linux при загрузке.

Параметры:
-f -- если указанное изображение спросить фамилию дубликат существующего файла, переписать существующий файл.
-v -- Отображает подробную информацию при выполнении.
--omit-scsi-modules -- Не загружать модуль SCSI.
--preload = <модуль имя> -- Указывает загружаемый модуль.
--with = <модуль имя> -- Указывает загружаемый модуль.
--version -- Естствн, показать информацию о версии.
Утилита sync

Она предназначена для обновления файловых систем и для синхронизации данных на диске с данными в памяти.

При этом выполняется системный вызов sync, который вызывает запись всех буферизованных изменений метаданных файлов и данных в базовые файловые системы.

Он гарантирует, что все, что хранилось в памяти, будет записано на диск, предотвращая потерю данных, хранящихся в кеше, при аварийном завершении работы.

sync [--help] [--version]

После выполнения команды sync необходимо обеспечить достаточную паузу для освобождения очередей драйверов и полного сохранения всех данных на диске.
Основная задача команды init

Команда init инициализирует процессы и управляет ими.

Его основная роль заключается в запуске процессов на основе записей, считанных из файла /etc/inittab.
(файл /etc/inittab обычно требует, чтобы команда init запускала команду getty для каждой строки, в которой пользователь может войти в систему)

Команда init управляет автономными процессами, требуемыми системой.

Процесс, который составляет большую часть действий по диспетчеризации процессов команды init, называется /usr/sbin/getty. Этот процесс инициирует отдельные линии терминала.

Другими процессами, обычно запускаемыми командой init, являются демоны и оболочка.
Как удалить RAID-массив?

Перед тем, как удалять RAID-массив mdraid желательно остановить все службы и приложения использующие RAID-массив, после чего отмонтировать все имеющиеся подключения к RAID-массиву, например:
umount /mount/point

Удаляем упоминание об RAID-массиве из /etc/fstab

Останавливаем RAID-массив:
mdadm -S /dev/<raid_name>

Далее вы должны увидеть: mdadm: stopped /dev/<raid_name>

Очищаем супер-блоки на дисках:
mdadm --zero-superblock --force <все диски, которые были в массиве>

Удаляем старые метаданные и подпись на дисках:
wipefs --all --force <все диски, которые были в массиве>
Команда diffstat

diffstat читает выходные данные команды diff и отображает гистограмму вставок, удалений и модификаций файлов.

Гистограмма — способ представления табличных данных в графическом виде — в виде столбчатой диаграммы.

Отображение изменений на гистограмме:
diff <file1> <file2>| diffstat

Отображать вставленные, удаленные и измененные изменения в виде таблицы:
diff <file1> <file2> | diffstat -t

Установить на Ubuntu:
sudo apt install diffstat
3 примера использования команды split

Команда split в Linux позволяет разбивать файлы на несколько файлов.

1. Разделите файлы на несколько файлов
split mylog.log

По умолчанию команда split создает новые файлы для каждых 1000 строк. Если префикс не указан, он будет использовать ‘x’. Следующие буквы перечисляют файлы, поэтому сначала идет xaa, затем xab и так далее.

2. Разделите файлы на несколько файлов с определенными номерами строк
C помощью опции -l можно указать кол-во строк
split mylog.log -l 100

3. Разделение файла на n файлов
C помощью опции -n можно указать кол-во файлов, на которые хотите разделить
split mylog.log -n 16
Команда mtools

Mtools — это общедоступный набор инструментов, позволяющий системам Unix манипулировать файлами MS-DOS: читать, записывать и перемещать файлы в файловой системе MS-DOS.

Mtools обычно используются для управления гибкими дисками, отформатированными в FAT. Каждая программа пытается эмулировать эквивалентную команду MS-DOS.

Mtools достаточно, чтобы предоставить доступ к файловым системам MS-DOS.

Например, такие команды, как mdir
⁃ работают с дискетой
⁃ без какого-либо предварительного монтирования или инициализации (при условии, что на вашей машине работает файл /etc/mtools.conf по умолчанию).