Загрузка модулей ядра
Загрузить модуль в ядро можно при помощи двух команд: «
Область применения этих команд:
- при помощи «insmod» подгружается файл модуля из произвольного места файловой системы (например, пользователь скомпилировал модули и перед переносом в дерево ядра решил проверить его работоспособность);
- при помощи «modprobe» подгружаются уже готовые модули, включенные в дерево модулей текущей версии ядра.
Загрузить модуль в ядро можно при помощи двух команд: «
insmod» и «modprobe».Область применения этих команд:
- при помощи «insmod» подгружается файл модуля из произвольного места файловой системы (например, пользователь скомпилировал модули и перед переносом в дерево ядра решил проверить его работоспособность);
- при помощи «modprobe» подгружаются уже готовые модули, включенные в дерево модулей текущей версии ядра.
S.M.A.R.T.
Технология, предоставляющая пользователю различные данные о текущем состоянии жесткого диска или твердотельного накопителя.
Анализируя данные S.M.A.R.T., пользователь может оценить состояние своих накопителей и решить, требуют ли они замены или ещё смогут работать долго и без сбоев.
Установка для дистрибутивов на основе Debian:
Технология, предоставляющая пользователю различные данные о текущем состоянии жесткого диска или твердотельного накопителя.
Анализируя данные 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 — утилита командной строки в 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 новейшего ядра:
Сценарий update-initramfs управляет вашими образами
initramfs на вашем локальном компьютере. Он отслеживает существующие архивы initramfs в /boot. Есть три режима работы: создать, обновить или удалить (Обязательно указать хотя бы один из этих режимов)
initramfs — это cpio-архив, сжатый gzip. Во время загрузки ядро распаковывает этот архив в RAM-диск, монтирует и использует его как начальную корневую файловую систему.Пример:
Чтобы обновить initramfs новейшего ядра:
update-initramfs -uОбъединение строк файлов
paste это команда, которая позволяет объединять строки файлов по горизонтали.
Она выводит строки, состоящие из последовательно соответствующих строк каждого файла, указанного в качестве аргумента, разделенных табуляцией.
paste это команда, которая позволяет объединять строки файлов по горизонтали.
Она выводит строки, состоящие из последовательно соответствующих строк каждого файла, указанного в качестве аргумента, разделенных табуляцией.
paste file1 file2
Чтобы вывести соединенные строки через символ, который хотите вы, например через пробел, а не табуляции, можно воспользоваться параметром -d:paste -d ' ' file1 file2Операция изменения корневого каталога - chroot
Термин chroot может относиться или к концепции изменений корневого каталога, или к системному вызову
Изменение корневого каталога производится при помощи системного вызова
Если требуется запустить программу с изменённым корневым каталогом, но в данной программе не предусмотрено выполнение вызова
Эта программа принимает в качестве параметров новый корневой каталог и путь к программе. Она сначала сама выполняет вызов
Термин chroot может относиться или к концепции изменений корневого каталога, или к системному вызову
chroot(2), или к программе chroot(8).Изменение корневого каталога производится при помощи системного вызова
chroot(2). Изменение корневого каталога затрагивает только текущий процесс и всех его потомков. Если требуется запустить программу с изменённым корневым каталогом, но в данной программе не предусмотрено выполнение вызова
chroot(2), используют программу chroot(8). Эта программа принимает в качестве параметров новый корневой каталог и путь к программе. Она сначала сама выполняет вызов
chroot(2) для изменения собственного корневого каталога на указанный, а затем запускает программу по заданному пути.Команда Dracut
Используется для улучшения работы загрузочной системы Linux и создания загрузочного образа Linux путем копирования оборудования и документов из смонтированной системы и объединения их с Dracut Framework.
Чтобы перезаписать существующее изображение:
Используется для улучшения работы загрузочной системы 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, который вызывает запись всех буферизованных изменений метаданных файлов и данных в базовые файловые системы.
Он гарантирует, что все, что хранилось в памяти, будет записано на диск, предотвращая потерю данных, хранящихся в кеше, при аварийном завершении работы.
sync [--help] [--version]После выполнения команды sync необходимо обеспечить достаточную паузу для освобождения очередей драйверов и полного сохранения всех данных на диске.
Основная задача команды init
Команда
Его основная роль заключается в запуске процессов на основе записей, считанных из файла
(файл
Команда
Процесс, который составляет большую часть действий по диспетчеризации процессов команды
Другими процессами, обычно запускаемыми командой
Команда
init инициализирует процессы и управляет ими. Его основная роль заключается в запуске процессов на основе записей, считанных из файла
/etc/inittab. (файл
/etc/inittab обычно требует, чтобы команда init запускала команду getty для каждой строки, в которой пользователь может войти в систему) Команда
init управляет автономными процессами, требуемыми системой.Процесс, который составляет большую часть действий по диспетчеризации процессов команды
init, называется /usr/sbin/getty. Этот процесс инициирует отдельные линии терминала. Другими процессами, обычно запускаемыми командой
init, являются демоны и оболочка.Как удалить RAID-массив?
Перед тем, как удалять 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 diffstat3 примера использования команды split
Команда
1. Разделите файлы на несколько файлов
2. Разделите файлы на несколько файлов с определенными номерами строк
C помощью опции
C помощью опции
Команда
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.
Например, такие команды, как
⁃ без какого-либо предварительного монтирования или инициализации (при условии, что на вашей машине работает файл
Mtools — это общедоступный набор инструментов, позволяющий системам Unix манипулировать файлами MS-DOS: читать, записывать и перемещать файлы в файловой системе MS-DOS.
Mtools обычно используются для управления гибкими дисками, отформатированными в FAT. Каждая программа пытается эмулировать эквивалентную команду MS-DOS.
Mtools достаточно, чтобы предоставить доступ к файловым системам MS-DOS.
Например, такие команды, как
mdir
⁃ работают с дискетой ⁃ без какого-либо предварительного монтирования или инициализации (при условии, что на вашей машине работает файл
/etc/mtools.conf по умолчанию).Преимущества операции sync
1. Расходует незначительный объем ресурсов CPU.
2. Компактная запись данных.
3. Запись по крайней мере
4. Ускорение записи данных на диск за счет отключения алгоритма отложенной записи. Это свойство особенно важно для тех программ, в которых после каждой операции записи выполняется операция
5. Создание при вызове
1. Расходует незначительный объем ресурсов CPU.
2. Компактная запись данных.
3. Запись по крайней мере
28 КБ системных данных, даже если с момента предыдущего вызова sync не было выполнено ни одной операции ввода-вывода.4. Ускорение записи данных на диск за счет отключения алгоритма отложенной записи. Это свойство особенно важно для тех программ, в которых после каждой операции записи выполняется операция
fsync().5. Создание при вызове
sync() или fsync() записей в протоколе JFS о том, что измененные данные сохранены на диске.Команда telinit
Эта команда связана с командой
Telinit принимает односимвольный аргумент и сигнализирует команде
Команда
Уровень выполнения — это конфигурация программного обеспечения, позволяющая существовать только выбранной группе процессов.
Эта команда связана с командой
init и управляет действиями команды init. Telinit принимает односимвольный аргумент и сигнализирует команде
init через подпрограмму kill о выполнении соответствующего действия.Команда
telinit устанавливает для системы определенный уровень запуска. Уровень выполнения — это конфигурация программного обеспечения, позволяющая существовать только выбранной группе процессов.
Добавляем диск к RAID массиву
Чтобы добавить активный диск к RAID, который будет использоваться для работы, можно воспользоваться следующей командой:
Далее нужно расширить массив:
Также к RAID можно добавить запасной диск (hot spare):
Чтобы добавить активный диск к RAID, который будет использоваться для работы, можно воспользоваться следующей командой:
mdadm /dev/md0 --add /dev/sdeгде
/dev/md0 - имя RAID, /dev/sde - имя добавляемого дискаДалее нужно расширить массив:
mdadm -G /dev/md0 --raid-devices=3(диск добавится при условии того, что у вас уже создан массив)
Также к RAID можно добавить запасной диск (hot spare):
mdadm /dev/md0 --add /dev/sdeНо в этом случае расширять массив не нужно.
Установка патчей
Патч - правка или текстовые изменения в исходном коде проектов
Для вноса правок в проект существует утилита patch. Она специально предназначена для переноса правок (изменений) между разными версиями текстовых файлов.
Информация о правке обычно содержится в отдельном файле, «патч-файле» (patch file).
Подобный файл, как правило, создается с помощью другой утилиты —
Либо же патч может быть составлен вручную, автором, если он знаком с соответствующим форматом, но это бывает крайне редко.
Чтобы сгенерировать простой патч, для команды diff:
Патч - правка или текстовые изменения в исходном коде проектов
Для вноса правок в проект существует утилита patch. Она специально предназначена для переноса правок (изменений) между разными версиями текстовых файлов.
Информация о правке обычно содержится в отдельном файле, «патч-файле» (patch file).
Подобный файл, как правило, создается с помощью другой утилиты —
diff, позволяющей автоматически извлечь информацию о различиях в тексте файлов.Либо же патч может быть составлен вручную, автором, если он знаком с соответствующим форматом, но это бывает крайне редко.
Чтобы сгенерировать простой патч, для команды diff:
diff oldfile newfile > patchРазделение файлов с пользовательским префиксом имени
Чтобы разделить один файл на несколько с использованием пользовательского префикса:
Где
Также можно указать длину этого префикса:
Или же если вам не нравятся буквы, то можно записывать числами
Чтобы разделить один файл на несколько с использованием пользовательского префикса:
split mylog.log mylog.log_Вывод:
mylog.log_aa...
mylog.log_ab
Где
mylog.log_ префиксТакже можно указать длину этого префикса:
split mylog.log mylog.log_ -a 5Вывод:
mylog.log_aaaaa...
mylog.log_aaaab
Или же если вам не нравятся буквы, то можно записывать числами
split mylog.log mylog.log_ -a 5 -dВывод:
mylog.log_00000...
mylog.log_00001
Проверяем состояние RAID-массива
Есть два способа проверить состояние RAID.
1)
2)
Есть два способа проверить состояние RAID.
1)
cat /proc/mdstat
Примерный вывод, который можно увидеть:Personalities : [raid1]
md0 : active raid1 sdb1[1] sda1[0]
1000071488 blocks super 1.2 [2/2] [UU]
[UU] говорит о том, что массив в порядке, но если вы видите [U_], то скорее всего один из дисков вышел из строя2)
mdadm -D /dev/md0
Эта команда выводит статистику о RAID, но нас больше всего интересует строка State. Если ваш RAID показывает статус degraded, то это говорит о проблемах, которые нужно исправлять.