Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
О файловых системах
Работа с дисками (RHCSA)
Основы файловых систем
Работа с файловыми системами (RHCSA)
Управление логическими томами - LVM (RHCSA)
Программный RAID - MD
Дедупликация с VDO (RHCSA)
Виртуальная память, swap (RHCSA)
Управление многоуровневым хранилищем - stratis (RHCSA)
Сетевые файловые системы - NFS (RHCSA)
источник
👉 @i_linux
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2❤1
IPv6 — это катастрофа (но поправимая)
В последнее время мы всё чаще слышим не самые приятные новости про IP-адреса. Компания AWS объявила, что будет брать по $0,005/час за каждый адрес IPv4, тем самым присоединившись к другим облачным провайдерам, сделавшим платным использование публичного адреса IPv4. GCP просит с клиентов по $0,004, а Azure и Hetzner — по €0,001/ч. Очевидно, что эпоха, когда облачные провайдеры расширялись, скупая дополнительное пространство IPv4, подходит к концу. Чем дальше, тем ценнее становятся эти адреса, и тем менее целесообразно предоставлять их бесплатно.
Так что перспективы ясны — нам нужно переходить на IPv6. Впервые о необходимости перехода на IPv6 я услышал, когда учился в колледже, а сейчас мне 36. Это я к тому, чтобы вы поняли, как давно стали очевидны эти перспективы. До этого с IPv6 я не работал, на рынке практически отсутствовал спрос на соответствующие навыки, и мне не доводилось трудиться в компаниях, где бы эта тема кого-то интересовала. Поэтому и осваивать я её не стал, хотя зря, потому что она прекрасно расширила бы мои навыки в сфере сетевых технологий.
Rus https://habr.com/ru/companies/ruvds/articles/753906/
Eng https://matduggan.com/ipv6-is-a-disaster-and-its-our-fault/
👉@i_linux
В последнее время мы всё чаще слышим не самые приятные новости про IP-адреса. Компания AWS объявила, что будет брать по $0,005/час за каждый адрес IPv4, тем самым присоединившись к другим облачным провайдерам, сделавшим платным использование публичного адреса IPv4. GCP просит с клиентов по $0,004, а Azure и Hetzner — по €0,001/ч. Очевидно, что эпоха, когда облачные провайдеры расширялись, скупая дополнительное пространство IPv4, подходит к концу. Чем дальше, тем ценнее становятся эти адреса, и тем менее целесообразно предоставлять их бесплатно.
Так что перспективы ясны — нам нужно переходить на IPv6. Впервые о необходимости перехода на IPv6 я услышал, когда учился в колледже, а сейчас мне 36. Это я к тому, чтобы вы поняли, как давно стали очевидны эти перспективы. До этого с IPv6 я не работал, на рынке практически отсутствовал спрос на соответствующие навыки, и мне не доводилось трудиться в компаниях, где бы эта тема кого-то интересовала. Поэтому и осваивать я её не стал, хотя зря, потому что она прекрасно расширила бы мои навыки в сфере сетевых технологий.
Rus https://habr.com/ru/companies/ruvds/articles/753906/
Eng https://matduggan.com/ipv6-is-a-disaster-and-its-our-fault/
👉@i_linux
❤3👍1
Частые ошибки программирования на Bash
Качество скриптов, используемых для автоматизации и оптимизации работы системы, является залогом ее стабильности и долголетия, а также сохраняет время и нервы администратора этой системы. Несмотря на кажущуюся примитивность bash как языка программирования, он полон подводных камней и хитрых течений, способных значительно подпортить настроение как разработчику, так и администратору.
Большинство имеющихся руководств посвящено тому, как надо писать. Я же расскажу о том, как писать НЕ надо 🙂
https://habr.com/ru/articles/47706/
👉@i_linux
Качество скриптов, используемых для автоматизации и оптимизации работы системы, является залогом ее стабильности и долголетия, а также сохраняет время и нервы администратора этой системы. Несмотря на кажущуюся примитивность bash как языка программирования, он полон подводных камней и хитрых течений, способных значительно подпортить настроение как разработчику, так и администратору.
Большинство имеющихся руководств посвящено тому, как надо писать. Я же расскажу о том, как писать НЕ надо 🙂
https://habr.com/ru/articles/47706/
👉@i_linux
👍3
Мини шпаргалка по:
Работа с файлами и системой
Обработка данных и процессов
Основы скриптинга
👉@i_linux
Работа с файлами и системой
Обработка данных и процессов
Основы скриптинга
👉@i_linux
👍3
Шпаргалка основных команд mysql по работе с базой данных и таблицам
Здесь в компактном виде собраны основные команды администрирование сервера MySQL посредством консоли, позволяющие получить информацию о состоянии баз данных, таблиц, просмотреть их структуру.
👉@i_linux
Здесь в компактном виде собраны основные команды администрирование сервера MySQL посредством консоли, позволяющие получить информацию о состоянии баз данных, таблиц, просмотреть их структуру.
SHOW DATABASES; — список баз данныхSHOW TABLES [FROM db_name]; — список таблиц в базеSHOW COLUMNS FROM таблица [FROM db_name]; — список столбцов в таблицеSHOW CREATE TABLE table_name; — показать структуру таблицы в формате «CREATE TABLE»DESC table_name; — узнать полную структуру таблицыSHOW INDEX FROM tbl_name; — список индексовSHOW GRANTS FOR user [FROM db_name]; — привилегии для пользователя.SHOW VARIABLES; — значения системных переменныхSHOW [FULL] PROCESSLIST; — статистика по mysqld процессамSHOW STATUS; — общая статистикаSHOW TABLE STATUS [FROM db_name]; — статистика по всем таблицам в базеUSE db_name; — использовать базу данных, для которой будут выполнятся дальнейшие запросыDELETE FROM table_name; — удалить все записи из таблицы. Сначала нужно выполнить USE db_name;SELECT * FROM table_name; — просмотр всех записей из таблицы👉@i_linux
👍2
Шпаргалка по ZFS
modinfo zfs | head -n 9 - узнать версию ZFS и другие подробности
Информация о пулах / файловых системах (ФС) на пулах
zpool list - статус пулов
zpool status -v - статус пулов подробный
zfs list - список ФС, так называются монтируемые разделы в пулах
zfs get all - вся инфа по пулам, вообще вся
Управление пулами / дисками
ls -lha /dev/disk/by-id/ - выяснить айдишники дисков чтобы потом на них создать пул (будут проблемы если подцепишь по буквенному названию диска типа sda, они динамически меняются)
zpool create zfspool disk-id-1 disk-id-2 - может быть сколько угодно дисков, с ключом -f форсить создание пула
zpool create -m /mnt/backups zfspool disk-id-1 - создать пул с указанием папки маунтирования
zpool destroy zfspool - уничтожить пул zfspool, с ключом -f форсить уничтожение
mkfile 100m disk1 disk2 - создать файлы дисков
zpool create backups /disk1 /disk2- создать пул backups на созданных файлах
zpool create zfspool mirror /disk1 /disk2 - создать пул zfspool с зеркалированием на 2 диска
zpool add zfspool /disk3 - добавить диск в пул
zpool attach zfspool /disk3 - добавить устройство в пул, если он в зеркале то станет в зеркало, если простой, то пул расширится
zpool remove zfspool mirror-1
zpool detach zfspool /disk3 - исключить устройство из пула
zpool remove zfspool /disk3 - удаление устройства из пула
zpool add zfspool spare /disk3 - добавление диска горячей замены в пул
zpool remove zfspool spare /disk3 - удаление диска горячей замены из пула
zpool offline zfspool /disk1 - отключить устройство, на него не будет никакой записи и с него чтения, если добавить ключ -t, то после ребута станет онлайн
zpool online zfspool /disk1 - включить disk1
zpool replace zfspool /disk1 /disk3 - заменить disk 1, например в случае неисправности на disk3
zpool upgrade -v - увидеть версию, и фичи текущего ZFS, -a обновит все пулы до новейшей версии
Создание ФС и свойства ФС
zfs create zfspool/data - создать ФС data
zfs create zfspool/backups создать ФС backups, обе ФС будут бесконтрольно расти, пока не выставлены квоты
zfs destroy -fr zfspool/backups/old - уничтожит ФС old, ключ -r - рекурсивно, если внутри ещё несколько ФС, -f - форсить
zfs set reservation=1G zfspool/data - зарезервировать 1 Гигабайт, который ФС гарантированно получит, а другие не займут
zfs list -o quota zfspool/backups - выяснить квоту в пуле на ФС backups
zfs set quota=1G zfspool/backups - установить квоту в 1 Гигабайт на ФС backups
zfs list -o compression - проверить включена компрессия или нет
zfs set compression=on zfspool/backups - включить компрессию на ФС backups в пуле zfspool
zfs set sharesmb=on zfspool/backups - расшарить по SMB ФС backups средствами ZFS
zfs set sharenfs=on zfspool/backups - расшарить по NFS ФС backups средствами ZFS
Маунт
zfs mount - отобразить все маунтированные ФС
zfs mount zfspool/backups - маунт ФС backups
zfs umount zfspool/backups - анмаунт ФС backups
zfs mount -a - маунт всех ФС ZFS
zfs umount -a Umount - анмаунт всех ФС ZFS
Снапшоты
zfs list -t snapshot - отобразить все снапшоты
zfs list -o space - сколько занимают места снапшоты и конкретные дети пулов
zfs snapshot zfspool/backups@test - создать снапшот ФС backups с названием test
zfs rollback zfspool/backups@test - вернуться к снапшоту backups с названием test, с ключом -r рекурсивно уничтожит промежуточные снапшоты, с ключом -f форсит анмаунт и ремаунт
zfs destroy zfspool/backups@test - уничтожить снапшот backups с названием test
zfs send zfspool/backups@march2021 > /home/backups/march2021.bak - сделать локальный бекап снапшота march2021
zfs receive zfspool2/backups2 < /home/backups/march2021.bak - Восстановить из локального снапшота ФС на другом пуле
zfs send zfspool/backups@march2021 | zfs receive zfspool2/backups2 - Комбо предыдущих двух
zfs send zfspool/backups@march2021 | ssh COMP02 “zfs receive testpool/testfs” - Отправить снапшот по SSH на хост COMP02
zfs clone zfspool/backups@march2021 /clones/backups - Клонировать существующий снапшот
zfs destroy zfspool/backups@march2021 - Уничтожить клон
👉@i_linux
modinfo zfs | head -n 9 - узнать версию ZFS и другие подробности
Информация о пулах / файловых системах (ФС) на пулах
zpool list - статус пулов
zpool status -v - статус пулов подробный
zfs list - список ФС, так называются монтируемые разделы в пулах
zfs get all - вся инфа по пулам, вообще вся
Управление пулами / дисками
ls -lha /dev/disk/by-id/ - выяснить айдишники дисков чтобы потом на них создать пул (будут проблемы если подцепишь по буквенному названию диска типа sda, они динамически меняются)
zpool create zfspool disk-id-1 disk-id-2 - может быть сколько угодно дисков, с ключом -f форсить создание пула
zpool create -m /mnt/backups zfspool disk-id-1 - создать пул с указанием папки маунтирования
zpool destroy zfspool - уничтожить пул zfspool, с ключом -f форсить уничтожение
mkfile 100m disk1 disk2 - создать файлы дисков
zpool create backups /disk1 /disk2- создать пул backups на созданных файлах
zpool create zfspool mirror /disk1 /disk2 - создать пул zfspool с зеркалированием на 2 диска
zpool add zfspool /disk3 - добавить диск в пул
zpool attach zfspool /disk3 - добавить устройство в пул, если он в зеркале то станет в зеркало, если простой, то пул расширится
zpool remove zfspool mirror-1
zpool detach zfspool /disk3 - исключить устройство из пула
zpool remove zfspool /disk3 - удаление устройства из пула
zpool add zfspool spare /disk3 - добавление диска горячей замены в пул
zpool remove zfspool spare /disk3 - удаление диска горячей замены из пула
zpool offline zfspool /disk1 - отключить устройство, на него не будет никакой записи и с него чтения, если добавить ключ -t, то после ребута станет онлайн
zpool online zfspool /disk1 - включить disk1
zpool replace zfspool /disk1 /disk3 - заменить disk 1, например в случае неисправности на disk3
zpool upgrade -v - увидеть версию, и фичи текущего ZFS, -a обновит все пулы до новейшей версии
Создание ФС и свойства ФС
zfs create zfspool/data - создать ФС data
zfs create zfspool/backups создать ФС backups, обе ФС будут бесконтрольно расти, пока не выставлены квоты
zfs destroy -fr zfspool/backups/old - уничтожит ФС old, ключ -r - рекурсивно, если внутри ещё несколько ФС, -f - форсить
zfs set reservation=1G zfspool/data - зарезервировать 1 Гигабайт, который ФС гарантированно получит, а другие не займут
zfs list -o quota zfspool/backups - выяснить квоту в пуле на ФС backups
zfs set quota=1G zfspool/backups - установить квоту в 1 Гигабайт на ФС backups
zfs list -o compression - проверить включена компрессия или нет
zfs set compression=on zfspool/backups - включить компрессию на ФС backups в пуле zfspool
zfs set sharesmb=on zfspool/backups - расшарить по SMB ФС backups средствами ZFS
zfs set sharenfs=on zfspool/backups - расшарить по NFS ФС backups средствами ZFS
Маунт
zfs mount - отобразить все маунтированные ФС
zfs mount zfspool/backups - маунт ФС backups
zfs umount zfspool/backups - анмаунт ФС backups
zfs mount -a - маунт всех ФС ZFS
zfs umount -a Umount - анмаунт всех ФС ZFS
Снапшоты
zfs list -t snapshot - отобразить все снапшоты
zfs list -o space - сколько занимают места снапшоты и конкретные дети пулов
zfs snapshot zfspool/backups@test - создать снапшот ФС backups с названием test
zfs rollback zfspool/backups@test - вернуться к снапшоту backups с названием test, с ключом -r рекурсивно уничтожит промежуточные снапшоты, с ключом -f форсит анмаунт и ремаунт
zfs destroy zfspool/backups@test - уничтожить снапшот backups с названием test
zfs send zfspool/backups@march2021 > /home/backups/march2021.bak - сделать локальный бекап снапшота march2021
zfs receive zfspool2/backups2 < /home/backups/march2021.bak - Восстановить из локального снапшота ФС на другом пуле
zfs send zfspool/backups@march2021 | zfs receive zfspool2/backups2 - Комбо предыдущих двух
zfs send zfspool/backups@march2021 | ssh COMP02 “zfs receive testpool/testfs” - Отправить снапшот по SSH на хост COMP02
zfs clone zfspool/backups@march2021 /clones/backups - Клонировать существующий снапшот
zfs destroy zfspool/backups@march2021 - Уничтожить клон
👉@i_linux
👍2
Media is too big
VIEW IN TELEGRAM
Создание файловой системы внутри файла
Иногда необходимо создать временную файловую систему для того, чтобы что-то протестировать. А свободного раздела на диске может не быть, да и флешка не всегда под рукой. К счастью в ОС GNU/Linux создание целой файловой системы внутри файла на любом диске не сложнее создания обычной файловой системы.
Это практическое видео, показывающее шаг за шагом, как создать внутрефайловую файловую систему и как её монтировать. После монтирования данная ФС никак не отличается от любой другой.
Команды dd, mkfs, и mount идут в комплекте со всеми дистрибутивами ОС GNU/Linux, а команда hexer, используемая для просмотра файла-контейнера, была нужна лишь для демонстрации изменений (но и она доступна почти во всех дистрибутивах)
источник
👉@i_linux
Иногда необходимо создать временную файловую систему для того, чтобы что-то протестировать. А свободного раздела на диске может не быть, да и флешка не всегда под рукой. К счастью в ОС GNU/Linux создание целой файловой системы внутри файла на любом диске не сложнее создания обычной файловой системы.
Это практическое видео, показывающее шаг за шагом, как создать внутрефайловую файловую систему и как её монтировать. После монтирования данная ФС никак не отличается от любой другой.
Команды dd, mkfs, и mount идут в комплекте со всеми дистрибутивами ОС GNU/Linux, а команда hexer, используемая для просмотра файла-контейнера, была нужна лишь для демонстрации изменений (но и она доступна почти во всех дистрибутивах)
источник
👉@i_linux
👍4
Media is too big
VIEW IN TELEGRAM
Mikrotik: подключение интернета через USB 4G
В этом видео я показываю, как подключить интернет на роутере Mikrotik с помощью USB 4G-модема.
👉@i_linux
В этом видео я показываю, как подключить интернет на роутере Mikrotik с помощью USB 4G-модема.
👉@i_linux
👍2
Собираем и запускаем Linux-0.01 в Minix 1.5, (почти) как это делал Линус Торвальдс
Я попытался повторить, насколько это возможно, действия Линуса Торвальдса по компиляции и запуску самой первой версии ядра Linux 0.01. Причины, побудившие Линуса начать разработка ядра, хорошо описаны в книге «Ради удовольствия: Рассказ нечаянного революционера» (далее J4F) и во множестве других источниках и мы не будем их касаться. А рассмотрим техническую сторону компиляции и запуску ядра Linux.
Непосредственно процесс сборки ядра по-unix'овски очень прост: достаточно выполнить команду make, и на выходе получаете готовый бинарный файл, который надо записать на дискету и загрузиться с неё. Но чтобы сборка прошла успешно, надо провести большую подготовку. Вот этим мы и займёмся. Я составил для вас очень подробное пошаговое руководство.
Сначала в эмуляторе 86Box создадим пустую виртуальную машину с характеристиками, близкими к компьютеру Линуса в то время, установим оригинальную версию операционной системы Minix 1.5.10, применим патчи «царя и бога Minix-386» (c) Брюса Эванса, поставим порт компилятора gcc версии 1.37.1 для Minix-386 от Алана Блэка (Alan W Black) и Ричарда Тобина (Richard Tobin), и в самом конце соберём и запустим ядро Linux с bash'ем внутри.
После каждого этапа я сохранял состояние виртуальной машины, жёсткого диска и образы дискет, которые подвергались изменению. Можете пройти все шаги самостоятельно или распаковать любой из архивов и продолжить выполнение инструкции с желаемого момента. Все дистрибутивы, скриншоты, конфигурации, это руководство, архивы с резервными копиями по каждому этапу и даже бинарный AppImage 86box (для Linux x86_64) можно найти в репозитории.
https://habr.com/ru/companies/vk/articles/752564/
👉@i_linux
Я попытался повторить, насколько это возможно, действия Линуса Торвальдса по компиляции и запуску самой первой версии ядра Linux 0.01. Причины, побудившие Линуса начать разработка ядра, хорошо описаны в книге «Ради удовольствия: Рассказ нечаянного революционера» (далее J4F) и во множестве других источниках и мы не будем их касаться. А рассмотрим техническую сторону компиляции и запуску ядра Linux.
Непосредственно процесс сборки ядра по-unix'овски очень прост: достаточно выполнить команду make, и на выходе получаете готовый бинарный файл, который надо записать на дискету и загрузиться с неё. Но чтобы сборка прошла успешно, надо провести большую подготовку. Вот этим мы и займёмся. Я составил для вас очень подробное пошаговое руководство.
Сначала в эмуляторе 86Box создадим пустую виртуальную машину с характеристиками, близкими к компьютеру Линуса в то время, установим оригинальную версию операционной системы Minix 1.5.10, применим патчи «царя и бога Minix-386» (c) Брюса Эванса, поставим порт компилятора gcc версии 1.37.1 для Minix-386 от Алана Блэка (Alan W Black) и Ричарда Тобина (Richard Tobin), и в самом конце соберём и запустим ядро Linux с bash'ем внутри.
После каждого этапа я сохранял состояние виртуальной машины, жёсткого диска и образы дискет, которые подвергались изменению. Можете пройти все шаги самостоятельно или распаковать любой из архивов и продолжить выполнение инструкции с желаемого момента. Все дистрибутивы, скриншоты, конфигурации, это руководство, архивы с резервными копиями по каждому этапу и даже бинарный AppImage 86box (для Linux x86_64) можно найти в репозитории.
https://habr.com/ru/companies/vk/articles/752564/
👉@i_linux
👍2