uz
Feedback
Системный администратор

Системный администратор

Kanalga Telegram’da o‘tish

Канал для системных администраторов. Linux, Windows, Active Directory, GPO, PowerShell. Виртуализация Hyper-V, VMWare. Облака Azure, AWS. По всем вопросам @evgenycarter

Ko'proq ko'rsatish
2 106
Obunachilar
Ma'lumot yo'q24 soatlar
-207 kunlar
-14930 kunlar
Postlar arxiv
Собираем и запускаем Linux-0.01 в Minix 1.5, (почти) как это делал Линус Торвальдс Я попытался повторить, насколько это возмо
Собираем и запускаем 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

Mikrotik: подключение интернета через USB 4G В этом видео я показываю, как подключить интернет на роутере Mikrotik с помощью USB 4G-модема. 👉@i_linux

Создание файловой системы внутри файла Иногда необходимо создать временную файловую систему для того, чтобы что-то протестировать. А свободного раздела на диске может не быть, да и флешка не всегда под рукой. К счастью в ОС GNU/Linux создание целой файловой системы внутри файла на любом диске не сложнее создания обычной файловой системы. Это практическое видео, показывающее шаг за шагом, как создать внутрефайловую файловую систему и как её монтировать. После монтирования данная ФС никак не отличается от любой другой. Команды dd, mkfs, и mount идут в комплекте со всеми дистрибутивами ОС GNU/Linux, а команда hexer, используемая для просмотра файла-контейнера, была нужна лишь для демонстрации изменений (но и она доступна почти во всех дистрибутивах) источник 👉@i_linux

Шпаргалка по 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

Шпаргалка основных команд mysql по работе с базой данных и таблицам Здесь в компактном виде собраны основные команды администрирование сервера 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

Мини шпаргалка по: Работа с файлами и системой Обработка данных и процессов Основы скриптинга 👉@i_linux
+2
Мини шпаргалка по: Работа с файлами и системой Обработка данных и процессов Основы скриптинга 👉@i_linux

Частые ошибки программирования на Bash Качество скриптов, используемых для автоматизации и оптимизации работы системы, являет
Частые ошибки программирования на Bash Качество скриптов, используемых для автоматизации и оптимизации работы системы, является залогом ее стабильности и долголетия, а также сохраняет время и нервы администратора этой системы. Несмотря на кажущуюся примитивность bash как языка программирования, он полон подводных камней и хитрых течений, способных значительно подпортить настроение как разработчику, так и администратору. Большинство имеющихся руководств посвящено тому, как надо писать. Я же расскажу о том, как писать НЕ надо 🙂 https://habr.com/ru/articles/47706/ 👉@i_linux

IPv6 — это катастрофа (но поправимая) В последнее время мы всё чаще слышим не самые приятные новости про IP-адреса. Компания
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

Внезапно 😎 👉 @i_linux

+9
📄 Диски и файловые системы О файловых системах Работа с дисками (RHCSA) Основы файловых систем Работа с файловыми системами (RHCSA) Управление логическими томами - LVM (RHCSA) Программный RAID - MD Дедупликация с VDO (RHCSA) Виртуальная память, swap (RHCSA) Управление многоуровневым хранилищем - stratis (RHCSA) Сетевые файловые системы - NFS (RHCSA) источник 👉 @i_linux

Адресация IPv4. Деление на подсети и объединение подсетей Что такое адресация IPv4 и как осуществляется деление на подсети? Вы познакомитесь с алгоритмом разделения сетей на подсети, а также со структурой IP-адреса, рассмотрите логическую структуру IP-адреса, разберёте понятия «идентификатор сети» и «идентификатор хоста», остановитесь на определении параметров IP-адресации при разделении сетей на подсети. источник 👉 @i_linux

Fuck - это великолепная утилита, которое исправляет ошибки в предыдущих консольных командах. Примеры:apt-get install vim E: Could not open lock file /var/lib/dpkg/lock - open (13: Permission denied) E: Unable to lock the administration directory (/var/lib/dpkg/), are you root?fuck sudo apt-get install vim [enter/↑/↓/ctrl+c] [sudo] password for nvbn: Reading package lists... Done ... ➜ git push fatal: The current branch master has no upstream branch. To push the current branch and set the remote as upstream, use git push --set-upstream origin master fuck git push --set-upstream origin master [enter/↑/↓/ctrl+c] Counting objects: 9, done. ... Установка На Ubuntu / Mint установите The Fuck с помощью следующих команд: sudo apt update sudo apt install python3-dev python3-pip python3-setuptools pip3 install thefuck --user На FreeBSD установите The Fuck с помощью следующих команд: pkg install thefuck На macOS или Linux установить The Fuck можно через Homebrew: brew install thefuck https://github.com/nvbn/thefuck 👉 @i_linux

+1
Пакетная фильтрация в Linux Бесконтекстная пакетная фильтрация (iptables): stateless Контекстная пакетная фильтрация (iptables): stateful источник 👉 @i_linux

Kims Storage Toolkit Этот скрипт под Linux помогает определить кто и чем занял свободное место и где требуется очистка. https://github.com/klazarsk/storagetoolkit 👉 @i_linux

Есть два типа людей 👉 @i_linux
Есть два типа людей 👉 @i_linux

Bashtop Монитор ресурсов Linux/OSX/FreeBSDресурсов, который показывает статистику по загруженности процессора, оперативной па
+2
Bashtop Монитор ресурсов Linux/OSX/FreeBSDресурсов, который показывает статистику по загруженности процессора, оперативной памяти, жесткого диска и сети. https://github.com/aristocratos/bashtop 👉 @i_linux

+3
Командная строка Linux Продвинутое владение 👉 @i_linux

Инструменты для работы с памятью в Linux procinfo snap.py memstats processes2png shmat shmem connections find_instances https://github.com/tatref/linux-mem/ 👉 @i_linux

Основы сетей передачи данных. Модель OSI и стек протоколов TCP IP. Основы Ethernet. В программе: - Основы передачи данных; - Способы связи: simplex, half-duplex, duplex; - Виды коммутации: коммутация каналов и коммутация пакетов; - Методы передачи данных: unicast, broadcast, multicast; - Виды сетей: LAN, MAN, WAN; - Сетевая модель OSI; - Стек протоколов TCP/IP; - Инкапсуляция и декапсуляция данных; - Основы Ethernet, CSMA/CD, коллизии, сегментация, адресация, формат Ethernet фрейма. 👉 @i_linux

Траблшутинг сетевых сервисов.Инструменты и утилиты для диагностики 🔹Общий вид алгоритма поиска и устранения неисправностей и корреляция с моделью ISO/OSI 🔹Диагностика физического и канального уровней модели ISO/OSI и проверка связности 🔹Диагностика сетевого уровня, если сервис за пределами локальной сети 🔹Диагностика транспорта на уровне сокетов 🔹Диагностика верхних уровней модели ISO/OSI источник 👉 @i_linux