Как стать автором
Обновить
60.21

*nix *

Хаб про UNIX-подобные операционные системы

Сначала показывать
Порог рейтинга
Уровень сложности

Подинтерфейсная настройка dhcp на роутере Eltex NTP-RG-1402G

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров3.7K

Однажды мне потребовалось заставить сделать роутер Eltex NTP-RG-1402G-W то, чего он не хотел и даже не мог. Читаем о том, как зайти в него так глубоко, как только возможно и получить над ним власть, ограниченную только вашими знаниями.

Читать далее

Сравнение Bash и Python при написании скриптов в Linux

Уровень сложностиСредний
Время на прочтение24 мин
Количество просмотров33K

Sh (от shell) является обязательным командным интерпретатором для UNIX‑совместимых систем по стандарту POSIX. Однако по возможностям он ограничен, поэтому зачастую вместо него используются более богатые возможностями командные интепретаторы, такие как Bash или Ksh. Ksh обычно используется в операционных системах семейства BSD, в то время как Bash — в операционных системах семейства Linux. Командные интерпретаторы облегчают решение мелких задач, связанных с работой с процессами и файловой системой. В данной статье будут рассматриваться операционные системы Linux, поэтому речь пойдёт о Bash.

Python, в свою очередь, является полноценным интерпретируемым языком программирования, и он также нередко используется для написания скриптов или решения мелких прикладных задач при работе с операционной системой. Современную UNIX‑подобную систему сложно представить как без Sh, так и без Python, если только это не устройство с минималистичной ОС вроде маршрутизатора. Например, в Ubuntu Oracular пакет python3 удалить не получится хотя бы потому, что от него зависит пакет grub‑common, от которого, в свою очередь зависят пакеты grub2-common и, соответственно, grub‑pc, то есть непосредственно загрузчик операционной системы. Таким образом, Python 3 можно смело использовать как замену Bash в случае необходимости.

Читать далее

Конвертация корневой файловой системы BTRFS в подтом

Уровень сложностиСредний
Время на прочтение2 мин
Количество просмотров1.3K

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

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

К сожалению, при установке некоторых современных дистрибутивов (например Ubuntu 24.04 и 24.10) нет возможности создать разные подтома в рамках одной файловой системы BTRFS для того, чтобы поместить в них корневой и другие разделы, например /home. Как правило, установщик позволяет создать файловую систему BTRFS и установить в нее корневой раздел, но при такой конфигурации нет возможности воспользоваться полезной утилитой Timeshift. Для работы Timeshift необходимо, чтобы корневой раздел был помещен в отдельный подтом файловой системы BTRFS. Это можно исправить, создав необходимый подтом и перенастроив загрузчик, чтобы он загружал систему из него.

Перенесем корневой раздел в подтом и перенастроим Grub, чтобы Linux загружался из подтома файловой системы BTRFS.

Читать далее

Программирование в машинных кодах

Уровень сложностиСредний
Время на прочтение3 мин
Количество просмотров9.2K

Я остался под впечатлением от прочитанной первой или второй главы про хакерство в книге Криса Касперского «Техника отладки программ без исходных текстов».

Хоть я и знал о том, что раньше писали в машинных кодах, но когда Крис так подал интересно материал, что я замотивировался сделать небольшой компьютер эмулятор, который бы позволял обрабатывать мой машинный код. Тут дело проще чем кажется, так как я решил взять всего 16 инструкций для этого дела. Плюс ко всему я как‑то давно мечтал сделать hex редактор на ncurses, но каждый раз не было смысла его делать просто так, а теперь сделал.

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

Читать далее

Истории

Как добавить или расширить диск в Linux

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров10K

На виртуалке кончилось место ? Не беда, у нас виртуалка - увеличим диск. Не хотим размещать файлы на основном диске ? Не беда у нас виртуалка - добавим новый диск.

Всё бы ни чего, но виртуалка сама железо не настроит, в том смысле что конечно виртуальная машина предоставляет доступ к железу, но ресурсы этого железа программам предоставляет не виртуалка, ресурсы предоставляет операционная система. И пока вы не настроите операционную систему, ваши программы не получат ресурсы этого железа (в нашем случае свободное место на диске для размещения файлов)

Эта инструкция будет о том как настроить операционную систему Ubunta, для управления новым железом (в нашем случае дисковым пространством).

Будет три части:

Как расширить раздел (увеличить диск)

Как добавить новый диск

Как создать базу данных на новом диске

Читать далее

Деплоймент нескольких ASP.Net Core-приложений на VPS сервере и настройка доступа к ним по доменному имени 3-го уровня

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров2.9K

Деплоймент нескольких ASP.Net Core-приложений на VPS сервере с Ubuntu и настройка доступа к ним по доменному имени 3-го уровня.

Читать далее

20-летие Linux для десктопных систем (часть 2)

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров9.7K

Коротко о прошлой части: в стремлении создать идеальную десктопную систему, аналогичную GNOME и Debian, молодой Ploum присоединяется к тайному проекту «no-name-yet», который в итоге становится Ubuntu.
Читать дальше →

Умный принт-сервер: печать и скан без драйверов на старых принтерах + финансирование опенсорса

Уровень сложностиПростой
Время на прочтение18 мин
Количество просмотров33K

TL;DR: из-за отсутствия «умных» принт-серверов на рынке сделал собственное устройство, позволяющее печатать и сканировать на старых USB-принтерах через Wi-Fi и Ethernet, с любого смартфона и компьютера под любой ОС, без установки драйверов (AirPrint/Mopria). Девайс включает не только распространённые открытые драйверы, но и проприетарные, в режиме эмуляции x86-кода, plug&play.

Особенностью проекта является со-финансирование открытого ПО: разработчики сервера печати CUPS и сканирования SANE/AirSane получают по $2 с каждого проданного устройства, а оставшиеся деньги формируются в пул, для улучшения существующих открытых драйверов и написания новых.

Читать далее

Барьеры и модели памяти – explained

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров5.2K

Всем привет! 

Начну с предыстории.

Когда мы в Амазоне планировали переносить сервис с x86/64 на ARM, почему-то никто в нашей команде не поднял тему того, что надо уделить особое внимание работе с многопоточностью и синхронизацией, так как из-за того, что у этих двух архитектур разные модели памяти, могли случиться неожиданные проблемы.

Однако, на тот момент я тоже об этом не знал, и нам повезло, что мы изначально везде использовали модель памяти Sequential Consistency (что это – далее в статье), поэтому все прошло гладко. Теперь, зная про модели памяти и возможные последствия, боюсь представить, что было бы в противном случае.

Как родилась статья

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

Статья основана на материалах лекции Computer Science Center (CSC) с курса “Параллельные вычисления” преподавателя Калишенко Е.Л. Крайне рекомендую ознакомиться со всеми лекциями курса (более структурированного материала по теме я еще не встречал). Благо он в открытом доступе – ссылка.

Что такое барьеры памяти и зачем это все нужно?

Начнем с небольшого описания того, как устроена “условная” архитектура процессора. Почему условная? Потому что может отличаться в зависимости от конкретной реализации, но суть похожа. 

Читать далее

Не очень стандартное использование Docker

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров17K

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

Нет, в самом деле, а что еще нужно? Несколько файлов с исходным кодом, Makefile для сборки всего этого, MidnightCommander чтобы копировать файлы туда-сюда и удобный текстовый редактор, например Vim.

А еще куча установленных пакетов типа gcc, make, cmake - в общем, настроенная и подготовленная среда, вплоть до указания желаемой цветовой схемы в редакторе.
И вот однажды так получилось, что удобный настроенный компьютер вдруг накрылся медным тазом: жесткие диски тоже выходят из строя.

Читать далее

История оболочки Bash и чему она нас может научить

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров14K

В этот день, практически в канун католического рождества, 23 декабря 1996 года, вышла оболочка Bash версии 2.0. Последний мажорный релиз на сегодня — это версия 5.3. Сейчас Bash встроена почти во все версии Linux и MacOS, а также заявлена как встроенный компонент Microsoft Windows.

Bash поставляется по умолчанию почти во всех дистрибутивах Linux и современных версиях MacOS и, как ожидается, вскоре он станет неотъемлемой частью Windows Terminal. Bash действительно повсюду и это не фигура речи. Как до этого дошло? В сегодняшней статье мы глубоко исследуем этот вопрос, задавая вопросы именно тем людям, которые причастны к разработке оболочек.

Читать далее

Подмания: запускаем графические приложения в контейнерах. Часть 2

Уровень сложностиСредний
Время на прочтение12 мин
Количество просмотров3.2K

Привет, Хабр!

Это вторая статья о контейнеризации как стиле повседневного использования графических приложений в ОС Линукс.

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

Посему, без долгих предисловий, ныряем под кат!

Читать далее

20-летие Linux для десктопных систем (Часть 1)

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров14K

Двадцать лет назад на меня снизошло озарение: Linux готов для десктопа.

(*смех аудитории*)

Я был одним из тех подростков, которых то и дело звали «починить» компьютер. Соседи, друзья, родственники. Да, такой вот подросток-ботан. Вы наверняка понимаете, о чём я. Но в итоге мне надоело устанавливать взломанные антивирусы и налаживать системы Microsoft Windows, избавляя RAM от вредоносов и оживляя тормозящие процессоры в компьютерах, мигающих светодиодами питания в мольбе облегчить их страдания.

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

И, к моему удивлению, некоторые это предложение принимали.
Читать дальше →

Ближайшие события

4 – 5 апреля
Геймтон «DatsCity»
Онлайн
8 апреля
Конференция TEAMLY WORK MANAGEMENT 2025
МоскваОнлайн
25 – 26 апреля
IT-конференция Merge Tatarstan 2025
Казань
20 – 22 июня
Летняя айти-тусовка Summer Merge
Ульяновская область

Обходимся почти без мышки: Некоторые настройки Linux и Xorg для комфортной работы на старом железе

Уровень сложностиСредний
Время на прочтение4 мин
Количество просмотров3.1K

Статья описывает настройки в консоли linux и графическом окружении для организации быстрой работы с минимальным применением мыши. Описаны настройки systemctl для автозапуска беспроводного интернета, Xorg (раскладка клавиатуры, клавиатурные сокращения). Горячие клавиши работают во всех трёх проверенных автором средах рабочего стола: Openbox с панелью tint2, xfce4 и lxde.

Читать далее

Обновление прошивки Toshiba NAS HDD под Linux

Уровень сложностиСредний
Время на прочтение15 мин
Количество просмотров3K

Я произвёл реверс-инжиниринг модуля обновления прошивки своего HDD Toshiba, чтобы иметь возможность обновлять её под Linux. Приведённые ниже команды должны работать, но используйте их на свой страх и риск:

$ wget https://www.canvio.jp/en/support/download/hdd/ot_ihdd/fw/ISFw.dat
$ grep -C2 MODELNAME ISFw.dat
 # ^
 # |___ здесь определяем нужное имя файла
$ wget https://www.canvio.jp/en/support/download/hdd/ot_ihdd/fw/sk060202.ftd
# hdparm --fwdownload-mode3 sk060202.ftd /dev/sdX

Предыстория


Недавно я приобрёл для своего NAS диск Toshiba HDWG480 HDD. Вот вывод команды hdparm -I /dev/XXX:

ATA device, with non-removable media
        Model Number:       TOSHIBA HDWG480
        Serial Number:      3430A00RFR0H
        Firmware Revision:  0601
        Transport:          Serial, ATA8-AST, SATA 1.0a, SATA II Extensions, SATA Rev 2.5, SATA Rev 2.6, SATA Rev 3.0
Standards:
        Used: unknown (minor revision code 0x006d)
        Supported: 10 9 8 7 6 5
        Likely used: 10
[...]

Как обычно, я хотел проверить, есть ли для него доступные обновления прошивки. На сайте Toshiba для моей модели приводится версия 0602.

К сожалению, и вполне ожидаемо, для пользователей Linux возможности обновления нет. Производитель предоставляет лишь «Internal Storage Firmware Update Utility» для Windows.

Сами файлы обновления также отсутствуют.
Читать дальше →

Подключаем удалённую samba-шару в качестве PersistentStorage в Kubernetes

Уровень сложностиСредний
Время на прочтение3 мин
Количество просмотров1.2K

Иногда хочется странного, но чаще ничего не хочется, а странного хочется кому-то другому. Вот и в этот раз появилась необходимость прицепить в pod кубера удалённую samba-шару с одного из виндовых серверов. Вызов брошен - вызов принят.

Читать далее

«Правила», которым следуют терминальные программы

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров7.2K

В последнее время я думала о том, что всё, происходящее в терминале — это та или иная комбинация

Работы операционной системы

Работы шелла

Работы эмулятора терминала

Работы той программы, которая у вас запущена (например, top, vim или cat)

Первые три (операционная система, шел и эмулятор терминала) — это достаточно известные переменные: если вы пользуетесь bash в GNOME Terminal Linux, то можете более-менее представлять, как всё это взаимодействует, а часть их поведения стандартизирована POSIX.

Но четвёртый элемент («программа, которая у вас запущена») как будто бы может делать ЧТО УГОДНО. Как узнать, что будет из себя представлять поведение программы?

Читать далее

Linux: долгий путь к ленивому вытеснению

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров10K

В настоящее время планировщик работы с ядрами ЦП, действующий в ядре Linux, предусматривает несколько режимов вытеснения. В этих режимах предлагается целый ряд компромиссов между временем отклика и пропускной способностью системы. Ещё в сентябре 2023 года развернулась дискуссия о работе планировщиков, в результате которой была выработана концепция «ленивого вытеснения». Данная концепция упрощает планирование задач в ядре, при этом улучшая результаты. Какое-то время эта работа протекала тихо, но затем ленивое вытеснение было заново реализовано Питером Зайлстрой в виде этой серии патчей. Притом, что сама концепция с виду работает хорошо, здесь ещё немало требуется доделывать.

Читать далее

Настраиваем алерты из заббикса в телеграм

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров4.9K

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

Читать далее

Уникальный Android нетбук-трансформер за 2.000 рублей — идеальный ретро-пк для эмуляторов

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров21K

Я очень люблю различные ноутбуко-подобные устройства на необычных процессорах. Мне нравится коллекционировать и ковырять машинки на MIPS, ARM, RISC, SH3 и других диковинных архитектурах. Пару месяцев назад я джейлбрейкнул и расковырял электронный переводчик на Windows CE, превратив его в полноценный мини-ноутбук, а недавно мне в руки попал весьма интересный девайс — электронный переводчик с QWERTY-клавиатурой, представляющий из себя планшет-трансформер на Android из далекого 2013 года всего за 2 000 рублей. Что за аппарат можно купить за такую скромную сумму и чем он может быть полезен в наше время? Читайте в статье!

Читать далее