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

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

Регистрация в перечне РКН https://clck.ru/3EpL9L
Download Telegram
Команда sha1sum

Позволяет вычислять значения контрольных сумм файлов по алгоритму SHA-1 и проверять их.

Синтаксис: sha1sum [ключи] [файл]

Ключи:
-t — читать данные файлов в текстовом режиме (по умолчанию)
-b — читать данные файлов в двоичном режиме.
-c — сверять вычисленные значения SHA-1 со значениями из файла.
--help — вывести только справку по ключам.
--version — вывести только информацию о версии.

Вывести контрольные суммы:
sha1sum some_file_name
Использование физического раздела VS менеджер томов

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

Ключевые преимущества использования менеджера томов включают обширную настройку, изменение размера, неограниченное количество томов и безопасное резервное копирование. Поэтому, если вам не нужен просто базовый раздел, лучше всего использовать диспетчер томов, такой как ZFS или LVM.
GStreamer

Мультимедийный фреймворк, написанный на языке программирования C и использующий систему типов GObject.

GStreamer является «ядром» мультимедийных приложений, таких, как видеоредакторы, потоковые серверы и медиапроигрыватели. В изначальный дизайн заложена кроссплатформенность.

GStreamer предоставляет привязки для других языков программирования, таких, как Python, C++, Perl, GNU Guile и Ruby.

Установить GStremer на Ubuntu:

sudo apt update

sudo apt install libgstreamer1.0-0 gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly gstreamer1.0-libav gstreamer1.0-tools gstreamer1.0-x gstreamer1.0-alsa gstreamer1.0-gl gstreamer1.0-gtk3 gstreamer1.0-qt5 gstreamer1.0-pulseaudio
Менеджеры для создания и управления разделов

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 <все диски, которые были в массиве>