Неопознанный кактус Telegram channel photo

Неопознанный кактус

@kvktycPublic Channel

Неопознанный кактус shares Фото природы updates and media on Telegram. Join to stay updated.

246

Last views

300 (300 subscribers)
Участники
—
Rating
38
Total Posts
Oct 18, 2026, 6:07 PM
Обновлено
Aug 3, 2026
Created
Stats

Вы просматриваете русский контент. Чтобы увидеть контент на других языках, измените язык сайта.

Channel Information

Channel Information
Channel NameНеопознанный кактус
Username@kvktyc
CategoryФото природы
Languageрусский
CountryРоссия
Участники300
Channel TypePublic Channel
Created3 авг. 2026 г.
Last Updated18 окт. 2026 г. • 4 дня назад
StatusActive

Рейтинг

Глобальный рейтинг
#655-6
Рейтинг по языку
#165Без изменений
Рейтинг по категории
#3-1

Рост участников

Всего: 30030 Days growth: +267809.1%
09/1909/2409/2910/0410/0910/1410/18
Рост участников - 30 Days
DateSubscribers
19:09:202633
20:09:202633
21:09:202633
22:09:202633
23:09:202633
24:09:202633
25:09:202633
26:09:202633
27:09:202633
28:09:202633
29:09:202633
30:09:202633
01:10:202633
02:10:202633
03:10:202633
04:10:202633
05:10:202633
06:10:202633
07:10:202633
08:10:202633
09:10:202633
10:10:202633
11:10:202633
12:10:202633
13:10:202633
14:10:202633
15:10:202633
16:10:202633
17:10:202633
18:10:2026300
Рост участников - Weekly
DateSubscribers
Week of 03:08:202630
Week of 10:08:202630
Week of 17:08:202630
Week of 24:08:202633
Week of 31:08:202633
Week of 07:09:202633
Week of 14:09:202633
Week of 21:09:202633
Week of 28:09:202633
Week of 05:10:202633
Week of 12:10:2026300
Рост участников - Monthly
DateSubscribers
August 202633
September 202633
October 2026300
Рост участников - Yearly
DateSubscribers
2026300

Top 10 posts

Most viewed posts from this channel

By views
  1. #1- 70 КБ памяти5.8K
  2. #2Post #1391.2K
  3. #3Музыка под которую работаю1.1K
  4. #4Занятный форк Midnight Commander с фокусом на современные сценарии:1.0K
  5. #5Почему об [этом](https://t.me/kvktyc/134) актуально говорить и сегодня852
  6. #6Всё [дело](https://t.me/kvktyc/133) в файловой системе FAT.722
  7. #7Однажды компьютер в последний разрешил тебе себя выключить.573
  8. #8Из интересного. Недавно появилась [новость](https://news.ycombinator.c550
  9. #926 дюймовый монитор, на котором в 1995 Джон Кармак работал над Quake: 498
  10. #10Первая версия UNIX была написана на ассемблере для PDP-7 в 1969. Офици496

Последние посты

Неопознанный кактус logo
Неопознанный кактус

20 окт. 2026 г., 15:12

Video
Вышла демка DREADMOOR, игра давно в вишлисте.

Выглядит стильно, атмосферно - мне такое нравится и как будто самое то для стимдека. Запускаю, меняю язык на русский и.. батюшки, Геральт! Он же Джоел. Всеволод Кузнецов в общем, полная русская локализация с озвучкой - как же приятно. Игра сыровата, предстоит много работы по оптимизации, но потенциал - отличный.

По разработчикам информации мало, некие кипрские киргизы из Saber, Owlcat, Playrix и My.Games, работавшие в частности над Atomic Heart, хм хм :)
246005
Неопознанный кактус logo
Неопознанный кактус

20 окт. 2026 г., 14:05

Photo1/4
Так выглядят ICMP-пакеты.

Удобнее всего снять прослушку трафика через tcpdump в отдельный файл и импортировать в Wireshark - можно рассмотреть все подробности.

В одном терминале запускаем прослушку

sudo tcpdump -i any -nn -w ping.pcap icmp


В другом запускаем ping
2380013
Неопознанный кактус logo
Неопознанный кактус

20 окт. 2026 г., 13:56

ICMP-пакеты

Все порты закрыты, сетевые службы не запущены, но ping и traceroute/tracert дозваниваются до хоста и возвращают результат - сетевые запросы кто-то обслуживает. Кто и где?

Общение здесь происходит на сетевом уровне, не поднимаясь на транспортный. Вспоминаем модель OSI:
1. Физический уровень (кабеля, розетки (с))
2. Канальный (Ethernet, Wi-Fi, MAC)
3. Сетевой (IP, ICMP, ARP) <-- сюда приходят ping-запросы
4. Транспортный (TCP, UDP, порты)
и далее вверх до приложений

Все сетевые пакеты заворачиваются в IP (Internet Protocol), в каждом пакете есть поле Protocol. Для ICMP Protocol = 1, для UDP: 17, для TCP: 6

Так сетевое оборудование и операционная система понимает с чем имеет дело.
UDP и TCP проходят на транспортный уровень L4, так как несут пользовательские данные, ICMP пакеты остаются на L3 и несут лишь служебную информацию, к ним нельзя прикрепить никаких данных.
Также ICMP не работают с портами и сокетами - на L3 их еще нет, поэтому закрытие портов и отключение сокетов никак не ограничивает ICMP трафик.

Здесь возникает два вопроса:
1. Хотим ли мы чтобы кто-то собирал о нас информацию
2. Могут ли этими пакетами нанести нам вред

Есть несколько видов атак на L3:
- ICMP Flood (Ping Flood): отправляется огромное кол-во ICMP Echo Request, на каждый пакет жертва вынуждена генерировать Echo Reply, в итоге забивается канал и CPU
- Smurf Attack: подделывается заголовок IP на адрес жертвы и отправляется на широковещательный адрес, который многократно усиливает сигнал, подключая к ответам все хосты своей сети
- ICMP Redirect Attack: злоумышленник может выдать себя за шлюз через поддельное Redirect-сообщение и заставить проложить маршрут через себя, перехватывая трафик
- ICMP Fragmentation Needed: отправив MTU-сообщение от лица жертвы можно заставить снизить для легитимного соединения размер кадра, что резко снизит производительность и увеличит фрагментацию пакетов (а это потери)
- Подделка ошибок: можно заставить разорвать легитимное TCP-соединение, прислав от лица жертвы поддельное сообщение вроде Destination Unreachable

Ключевая проблема - в этих пакетах нет никакого механизма аутентификации источника или проверки подлинности сообщений. Единственная проверка - контроль целостности за счет checksum в payload, но это защита от искажений при передаче.

Проблема номер два - этот трафик скрыт от глаз, без специализированных инструментов вы его не видите. Конечно если вы опытный админ, настроен файервол, вы работаете с журналами, в том числе оборудования - вы этот трафик увидите, картина будет ясна. Но если вы этому вопросу не уделили внимания, атака может стать для вас неожиданной и незаметной.

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

Настраивается блокировка либо на оборудовании, либо в системе через файервол. Например, так:

sudo iptables -A INPUT -p icmp -j DROP

(старичок iptables здесь для примера, что используете - там и настроите)

Но почему это не всегда хорошо. ICMP пакеты выполняют важные служебные задачи (для чего они и созданы) и это не только простукивание доступности, но и калибровка MTU, отбивки по TTL, маршрутизация и согласование фрагментации. Без этого функционала легитимный трафик может серьезно деградировать.

Поле Type в заголовке пакета может быть следующим:
0 - Echo Reply
3 - Destination Unreachable
5 - Redirect
8 - Echo Request
11 - Time Exceeded

Также есть дополнительное поле Code с опциональной детализацией: Net Unreachable, Host Unreachable, Port Unreachable (в связке с UDP), Fragmentation Needed и тд

Вот так можно срезать только нужный тип пакетов:

sudo iptables -A INPUT -p icmp --icmp-type echo-request -j DROP


Также есть способ заставить систему "не реагировать" на пакеты, безо всякого файервола. Они пройдут в систему, но ядро их проигнорирует. Пакет дойдет до сетевого стека, но не будет обработан системой.


echo 1 | sudo tee /proc/sys/net/ipv4/icmp_echo_ignore_all
2240013
Неопознанный кактус logo
Неопознанный кактус

17 окт. 2026 г., 16:32

Photo1/2
- 70 КБ памяти
- 0.25 МГц CPU
- 8000 команд/сек
- 160 бит/сек на приеме
- 16 бит/сек отправка

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

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

Ну как вы там, потомки? (с)
5,8300031
Неопознанный кактус logo
Неопознанный кактус

13 окт. 2026 г., 02:59

Video
Музыка под которую работаю

Работа инженера - искусство. Инструменты другие, но суть во многом та же - поиск форм, баланса, гармонии. Долгое время пытался найти идеальный фон, чтобы не отвлекал, но присутствовал явно: настраивал, удерживал в потоке. Перепробовал всякие: Lo-Fi, эмбиент, лаунж, звуки дождя, костра, шум моря - всё не то.

А недавно нашёл. Уже и искать перестал, но вдруг нашлось. Может вы тоже искали:

TWO LANES
1,0600010
Неопознанный кактус logo
Неопознанный кактус

28 сент. 2026 г., 00:45

Photo1/2
Занятный форк Midnight Commander с фокусом на современные сценарии:

• просмотр MD-файлов
• git-репозиториев
• docker-контейнеров
• баз данных
• и всякого с помощью плагинов

Выглядит и ощущается неплохо, опробовал на сервере - вполне норм.

Забрать можно здесь

Если у вас, например, Debian:


wget https://github.com/blue-panels/mcommander/releases/download/v6.1.0/mcommander_6.1.0-1.debian13.1_amd64.deb

dpkg -i mcommander_6.1.0-1.debian13.1_amd64.deb
1,000007
Неопознанный кактус logo
Неопознанный кактус

27 сент. 2026 г., 17:45

Почему об этом актуально говорить и сегодня?

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

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

Есть даже отраслевой термин: RPO (Recovery Point Objective) - допустимый объём потери данных, измеряемый во времени: «потеря не более 10 секунд», например.

Современному инженеру крайне важно знать и понимать как работает синхронизация данных, как работают файловые системы, как действует ОС, как устроены кольцевые буферы, какая емкость у них и как самому выстроить работу с данными, что выбрать между скоростью и надежностью. В пределе ни то ни другое не достижимо и это всегда выбор.
8520013
Неопознанный кактус logo
Неопознанный кактус

27 сент. 2026 г., 17:42

Всё дело в файловой системе FAT.
(и в том, что Windows - поделка, извините)

Windows 90х - начала 20х в принципе была довольно рыхлой (но очень душевной).
Накопители того времени были довольно медленными, запись на диск была отложенной - активно использовался "кэш записи", данные первично сохранялись в оперативную память и на диск записывались с изрядной задержкой. Это позволяло серезно ускорить работу, но создавало риски: если выключить питание до полной синхронизации, данные терялись, файловая система повреждалась.

Для корректного выключения Windows сначала завершала все процессы, затем сбрасывала данные на диск (flush), потом синхронизировала файловую систему и размонтировала тома. Любое прерывание могло оставить её в несогласованном состоянии.

FAT - крайне простая файловая система; хороша для флэшек, microSD-карт, где и здравствует. Но для операционной системы ее возможностей откровенно недостаточно. Ключевое - нет журналирования. Можно было бы компенсировать архитектурой самой ОС и вниманием к деталям, но и с этим были серьезные проблемы. Современные Windows работают на NTFS, что интересным образом соотносится с Windows NT (2000) - переосмысленной и переделанной ревизией всей Windows, после чего она смогла стать в общем-то "production ready" для бизнеса. И там и там "NT" - New Technology, переписали и ядро и файловую систему (а это ж еще надо и про OS/2 здесь писать, ох, ну это потом отдельно), одно без другого не сработало бы.

Windows и сегодня любит че то попроверять попересчитывать своим FSCK при выключении и запуске, но в целом замена ФС проблему решила и мы больше не ждём разрешения выключить компьютер.

Была ли такая проблема в UNIX системах?

Удивительно, но нет. Журналируемые файловые системы в UNIX появились в 90х, но с самого начала, с 1970х и файловая система и ядро писались с учетом того, что питание в любое мгновение может пропасть. Решала архитектура: метаданные, inode и суперблоки писались синхронно, фиксировалось "намерение о записи", далее формировались рассчеты для экстренного восстановления и лишь затем через несколько служебных циклов сами данные физически доезжали до сброса. И получалось, что потеря питания также могла приводить к потере данных, но система была к этому готова и заранее всё вычисляла для эффективного восстановления. С появлением ext-fs возможности систем по контролю целостности и восстановления конечно многократно усилились.

Первые такие ФС появились на AIX (IBM UNIX): JFS (1990) и Slaris: VxFS (1991).
Linux, создаваймый в те года, начал свой путь сразу на журналируемых ФС.
Почему Windows потербовалось 10 лет чтобы перенять этот опыт - загадка.

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

Telegram

Неопознанный кактус

Однажды ты в последний раз выключил компьютер с разрешения, но не знал об этом.Почему мы видели эту надпись? И почему прерванное питание грозило потерей данных, поломкой системы и как минимум долгой проверкой при следующем запуске?

VIEW CHANNEL
722000
Неопознанный кактус logo
Неопознанный кактус

27 сент. 2026 г., 17:42

Photo1/2
Однажды компьютер в последний разрешил тебе себя выключить.

Почему мы видели эту надпись? И почему прерванное питание грозило потерей данных, поломкой системы и как минимум долгой проверкой при следующем запуске?
573000
Неопознанный кактус logo
Неопознанный кактус

25 сент. 2026 г., 18:09

Из интересного. Недавно появилась новость о том, что некий бывший инженер Microsoft восстановил PDP11/83 и подключил его к интернету и до него таким образом можно "дотронуться". Компьютеру больше 40 лет, работает он на 4МБ памяти под управлением оригинальной 2.11BSD. И собственно можно увидеть, что да - это практически то же самое, что вы увидите в современных наследниках.

Естественно напрямую дать трафик на такое устройство в современной сети нельзя, поэтому воздвигнута прокси-конструкция: нативный http-сервер раз в 5 сек отдает вывод команды top посреднику, который генерирует HTML и передает на вполне себе современный кластер с CDN и всем таким. Так как нет никакой камеры (а жаль) чтобы увидеть этот сетап, нам в принципе придется верить на слово, но выглядит правдоподобно. И я пробежался по комментариям буржуев - старички пишут, что да, оно, похожее. В любом случае выглядит занятно. Посмотреть можно здесь.
550004
Неопознанный кактус logo
Неопознанный кактус

25 сент. 2026 г., 17:58

Photo1/2
Первая версия UNIX была написана на ассемблере для PDP-7 в 1969. Официально началом эпохи UNIX считается 1 янв 1970, откуда собственно большинство современных систем и считают время в секундах (UNIX Timestamp). Разрадность 18 бит, память около 9КБ. Экрана не было, ввод с клавиатуры, вывод через принтер, ленточный накопитель. И да - это был МИКРО компьютер.
496007
Неопознанный кактус logo
Неопознанный кактус

14 сент. 2026 г., 01:41

Video
Не тот саундтрек сделали к игре, не тот. И аккорды нам расставили не те, но эту песню возможно ни разу и не сыграли в ноты, поэтому я лично недоработку Нила Дракмана здесь для себя исправил. Кто бы им в Калифорнии подсказал, что не Take On Me люди будут петь в зомби-апокалиасисе
467007
Неопознанный кактус logo
Неопознанный кактус

12 сент. 2026 г., 22:24

Photo1/4
26 дюймовый монитор, на котором в 1995 Джон Кармак работал над Quake: Intergraph InterView 28HD96. Для того времени был настоящим монстром: весил 46кг и стоил 10к $.

1920х1080 при 85 GHz, даже сегодня в общем-то неплохо
498008
Неопознанный кактус logo
Неопознанный кактус

12 сент. 2026 г., 17:55

tg_image_2095733105.png634.7 KB
С детства за космос

Я вырос на этой фантастике, зачитал до дыр все книги Ефремова, Стругацких и особенно Булычева что были в библиотеке (денег тогда не было вообще в 90е). Одна из главных книг, которая перевернула мне сознание - Посёлок. Выглядела она вот как на картинке, невзрачно, но интригующе. Детский разум не сразу понимает что происходит - произведение серьезное, местами жуткое, местами жестокое, оно не развлекает тебя, но оторваться невозможно. И если спросить какая книга меня сформировала - я бы назвал именно эту, при том что какой я только фантастики не прочитал. Не видел попыток её экранизировать или сделать по ней игру, да и не на слуху она, но как бы хотелось! Может однажды я приложу к этому руку, кто знает.
393005
Неопознанный кактус logo
Неопознанный кактус

12 сент. 2026 г., 17:36

Русский космизм

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

Трудно быть богом, Пикник на обочине, Обитаемый остров и тд - экранизации и фанфики вроде Сталкера лишь размывают смыслы, потому что "упаковать" философию в развлекательный формат очень сложно (и возможно ли). Сейчас на хайпе новая экранизация ТББ: кто-то ищет несоответствия книге, кому-то не нравится актерский состав, кто-то в восторге, я посмотрел - на мой взгляд хорошо. Наши научились достойно снимать, мне и "100 лет тому вперед" понравился фильм и вообще я многие наши проекты могу похвалить, я в целом за наших рад, поддерживаю и вместо предвзятости (ну что наши могут) наоборот всегда даю шанс и когда радуют - эффект двойной.

Но сказать хотелось бы не об этом, сериал можно смотреть, можно не смотреть. Хочется сказать о богатом фундаменте, который у нас есть. Все эти произведения, вся эта философия, смыслы - это кладезь, который мы не только можем, но и должны использовать и развивать. Это космос здорового человека, путь прогресса, путь цивилизации. Пусть снимают фильмы, пусть делаю сериалы, пусть выходят игры. Мне особенно приятно, что мои коллеги также вдохновляются этим наследием при работе над звуком для предстоящей игры. Интересно наблюдать за процессом и очень круто быть немного причастным.

Telegram

Лаборатория сборки

CTF и "Тайна третьей планеты".Казалось бы, что тут общего? Саша расскажет.

VIEW CHANNEL
379009
Неопознанный кактус logo
Неопознанный кактус

11 сент. 2026 г., 19:23

Платформы

Немного странно, что купленная в Steam игра, она же на PlayStation и она же на Xbox - это три разных игры, каждую из которых нужно купить за фулпрайс и заново пройти. Нет общей учетной записи (чаще всего), не переносятся достижения, не переносится прогресс и для издателя три купленных копии это три разных игрока.

У меня такая история с Helldivers 2, серией Resident Evil, соулс-лайками и скоро будет с Dune Awakening. ПК-гейминг и консольный/портативный гейминг сильно отличаются по возможностям, игровому опыту и сценариям использования - здесь я вам как эксперт могу ответственно сказать.

Максимум: единая учетная запись для онлайна (например, Activision Blizzard), но всё равно заново купи и заново проходи.

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

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

Хотелось бы купить Resident Evil у Capcom, один раз, а на конкретной платформе её просто припарковать за те 20-30%, которые она берет с издателя. И если платформа решает со мной не работать, то мы с ней честно расходимся и она не забирает у меня то, что ей не принадлежит.

Сейчас любая из платформ - перекуп с правом владения.
Именно по этой причине я в какой-то момент перестал "собирать библиотеку Steam" и просто играю там, где мне удобно, понимая, что у меня в сущности ничего этого и нет.
3280010
Неопознанный кактус logo
Неопознанный кактус

09 сент. 2026 г., 20:06

Photo1/2
Программист ИИ Claude бежал из бизнеса из-за «угрозы человечеству»

Специалист по обучению нейросетей в американской компании Anthropic, разработчике ИИ-ассистента Claude, объявил об уходе из ИИ-индустрии. Причиной стали опасения, что такие ИИ-системы могут выйти из-под контроля и «уничтожить человечество».

Вот куда сбежал? Нейросети то тоже что ни день сбегают. Вместе бегать будут?

Пиар-компания моё почтение, держат саспенс.
371007
Неопознанный кактус logo
Неопознанный кактус

30 авг. 2026 г., 02:39

Video
Выяснилось, что стрим шел без звука, в низком качестве и с жесткими лагами.. ладно, сохраним для истории. Паша хочет чтобы я шел с этим на YouTube
36002
Неопознанный кактус logo
Неопознанный кактус

30 авг. 2026 г., 02:39

Сегодня хочу опробовать новый формат, запущу немного позже стрим: побегаем в Pragmata под Arch Linux и может быть в Resident Evil 9: Requiem. Рекламы казино и ставок не ожидается, подумалось просто, что если всё равно планирую часик поиграть, то почему бы не включить OBS. И ещё мне как гику интересен видеозахват с других платформ, как подъедет железка, постримим с PS5 Pro, Xbox Series X и со SteamDeck. Разминка на ПК
47004
Неопознанный кактус logo
Неопознанный кактус

30 авг. 2026 г., 02:39

Photo
Давний гештальт. Дюна попала в сердце ещё в детстве, мы с пацанами часами играли на Сеге в стратегию, не особо понимая что происходит, что там у Харконенов с Атрейдесами, а вот пришествие червя - всегда весело. Сеттинг и атмосфера запомнились на всю жизнь. Позже я узнал, что именно Дюна стала фундаментом для Звёздных войн и мне кажется, что возможно и для Матрицы тоже с её джихадом против машин. Фильмы отличные по визуалу и атмосфере, музыка Циммера особенно. Игра от Funcom тоже зашла, хоть и не могу найти время в неё играть, но иногда захожу походить по Арракису, посмотреть пейзажи, смену дня и ночи, выныривающих червей - прикольно! 

Книгу давно собирался прочитать. Можно конечно попросить нейронку рассказать содержимое, но я рассчитываю в процессе как следует кайфануть.
69007
Неопознанный кактус logo
Неопознанный кактус

30 авг. 2026 г., 02:39

Photo
Создатель «клин кода» https://x.com/unclebobmartin/status/2080257779395154409, что перестал читать код, который для него генерирует ИИ. Это мол его только отвлекает и «снижает скорость».

Что здесь подумалось - возможно перфекционизм в абстракциях есть форма нелюбви к программированию как таковому и как только появилась возможность код не писать - это и было сделано.

Кто любит сам процесс создания и ответственно к нему подходит знает, что ты всегда чем-то жертвуешь и всё требует цены, универсализация - особенно. Самый эффективный код имеет мало шансов быть "красивым". Оптимизация и стоимость внесения изменений - это всегда поиск компромисса. А попытки спрятаться за чужими паттернами и стайл гайдами - перекладывание ответственности и отчуждение.
49004
Неопознанный кактус logo
Неопознанный кактус

30 авг. 2026 г., 02:39

Photo
Xerox Alto

Рабочий стол с окнами и управлением мышью придумала не Microsoft и не Apple, а внезапно.. Xerox. И это был не UNIX, а совершенно отдельная ветка операционных систем на языках BCPL и Mesa, языка С там не было.

Alto разрабатывали с начала 1970х и в 1981 была выпущена ее коммерческая версия Xerox Star. Уже к середине 80х компьютеры Xerox были сняты с производства и на этом история проекта по большому счеуту завершилась.

Именно эта ОС вдохновила Apple на создание макинтошей по сути по образу и подобию. Как и в случае с плеерами, планшетами и смартфонами, Apple не придумывала идею, но довела её до коммерческого успеха.

Но самый большой шок связан не с тем, что Xerox внезапно оказались родоначальниками современных ПК, а с тем, что произносится оно не "Ксерокс", а.. "Зиракс" оооООО. Так то люди у нас до сих пор думают, что "ксерят", а на самом-то деле.. "зирят".
50004
Неопознанный кактус logo
Неопознанный кактус

30 авг. 2026 г., 02:39

/usr

Актуальная картина в современных дистрибутивах - всё линкуется на /usr:

.
├── bin -> usr/bin
├── lib -> usr/lib
├── lib64 -> usr/lib64
├── sbin -> usr/sbin

А здесь ещё интереснее 🙂

/usr - это не /user, как можно предположить из названия.

Хотя изначально это был User - да, homedir пользователя. Но теперь нет, теперь это: "UNIX System Resources".

Что здесь произошло? Произошла классика.

У создателей UNIX закончилось место на корневом диске.
Они посмотрели на файловую структуру.. и решили перекинуть то что не вмещалось в домашнюю директорию пользователя, которая смонтирована отдельно.

Ну а что, там же есть место ¯\_(ツ)_/¯

И назвалась получившаяся конструкция не как-нибудь, а "Вторичной иерархией".
Не баг, а фича.

Там должны лежать не критичные для загрузки системы программы, общие ресурсы, библиотеки, документация, переводы, исходные коды и тд

Не критичность для системы - ключевой критерий нахождения в /usr, но как мы видим теперь туда переносят и критичное.

Дело тут вот в чём: программы перестали быть простыми, зависимости есть почти у всего, статичного больше почти ничего нет, соответственно что ни возьми - всё лезет в /usr/lib за shared libraries:


ldd /bin/mount
linux-vdso.so.1 (0x00007fbaf2845000)
libmount.so.1 => /lib/x86_64-linux-gnu/libmount.so.1 (0x00007fbaf27ae000)
libselinux.so.1 => /lib/x86_64-linux-gnu/libselinux.so.1 (0x00007fbaf277a000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fbaf2584000)
libblkid.so.1 => /lib/x86_64-linux-gnu/libblkid.so.1 (0x00007fbaf2524000)
/lib64/ld-linux-x86-64.so.2 (0x00007fbaf2847000)
libpcre2-8.so.0 => /lib/x86_64-linux-gnu/libpcre2-8.so.0 (0x00007fbaf2475000)


Ну а раз всё динамическое, то всё к зависимостям и переехало.
Архитектурно - некорретно, краеугольные принципы нарушены, но по факту получается обосновано.

Изменились механизмы загрузки системы, инициализации и восстановления, много всего изменилось и можно понять почему от канона отходят, но как по мне - лучше ломать совместимость, чем годами хлам держать.
44004
Неопознанный кактус logo
Неопознанный кактус

30 авг. 2026 г., 02:39

Filesystem Hierarchy Standard

/bin
/sbin
/usr/bin
/usr/sbin

оО

Зачем столько похожих разделов? И там и там программы, права одинаковые..
Файловая иерархия в Linux полна вопросов, если выражаться мягко.

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

Изначально дерево разделов было скопировано из UNIX, просто и без затей.
Там, как я уже рассказывал, большое влияние на архитектуру оказали технические средства и ограничения начала 70х.

Памяти было мало, система не всегда могла уместиться целиком на один накопитель, поэтому разделы могли монтироваться физически отдельно друг от друга и загружаться не одновременно. В некотором роде смотреть на них можно как на диски C:/, D:/, E:/ в Windows.

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

Чем отличаются /bin и /sbin?

Ну, bin - понятно, binary, sbin - superuser binary. И всё это именно про базовые системные программы - их разделяют на общие и привилегированные. /bin есть у обычных пользователей в PATH, /sbin - нет, он в PATH у root. В /bin лежат такие программы как ls, cat, echo и тд, в /sbin: fdisk, useradd, mkfs и прочие.

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

И есть еще один важный момент - большая часть программ собраны динамически, то есть линкуют ресурсы при запуске, но в случае с разными точками монтирования доступность не гарантирована и для администратора часть программ компилировали статично, со включением всех компонентов. То есть если система у вас рассыпалась - админ должен cуметь с помощью программ из /sbin её продиагностировать и восстановить. Так оно задумывалось, но сейчас всё меньше кто-то заморачивается и такой продуманности почти не встретить, по сути осталась лишь условность.

А почему она осталась?

Потому что Linux - это ядро, а операционная система - это GNU/Linux. Дистрибутивов GNU/Linux наплодилось великое множество, так как лицензия GPL поощряет форки (с возвратом).

И буквально сразу проявилась проблема, что вроде бы мы все Linux, но единства нет - каждый строит как ему вздумается и невозможно это всё учесть и подстроиться в плане поддержки и распространения софта. То есть сама суть и идея проекта Linux с её GPL без стандартизации файловой иерархии в общем-то перспектив не имела, на тот момент по крайней мере.

И тогда было принято закрепить канон: https://specifications.freedesktop.org/fhs/latest/
На его основе работают в том числе инструменты сборки autotools и cmake - в мире Linux программы собираются из исходников, в этих инструментах жестко прописаны пути из этого стандарта, если им не следовать - работа с вашим дистрибутивом потребует знатного пердолинга, никому это не надо. Поэтому добровольно-принудительно канону начали следовать.

Но Linux уже не стартап, экспансия свершилась, сформировались киты и успех проекта больше не зависит от всеобщей колаборации, тренд скорее обратный. В последние годы всё больше происходит уход от канона: где-то разделы объединяют, где-то заменяют симлинками, а кто-то вообще делает полностью по своему (см. NixOS).
32002
Неопознанный кактус logo
Неопознанный кактус

30 авг. 2026 г., 02:39

strace

Программа не может сама взять ресурсы системы (прочитать файл, выделить память, открыть сокет, отправить пакет и тд), необходим системный вызов (system call).

Категории системных вызовов:
1. Работа с файловой системой (openat, read, write, close, ...)
2. Работа с памятью (mmap, munmap, mremap, ...)
3. Управление процессами (fork, clone, kill, execve, ...)
4. Сеть (bind, connect, listen, accept, ...)
5. Многопоточность (futex, pause, nanosleep, ...)
6. IPC (pipe, shmget, msgsnd, msgrcv, ...)
7. Пользователи и права (getuid, getgid, setuid, ...)
и так далее: сигналы, пространства имён, event loop, ...

Выполнение даже простой программы - набор таких вызовов. Увидеть их можно с помощью strace - мощного диагностического инструмента. Добавляем перед началом команды strace и получаем все подробности. Каждый запрос к системе перехватывается, анализируется и фиксируется всё: сам вызов, аргументы и возвращаемые значения. Важно! Скорость выполнения программы в этом режиме проседает на порядки - в продакшене использовать с осторожностью. Тем не менее, иногда только через трассировку можно понять почему, например, процесс завис:

strace -p 37958 покажет чего именно ждёт указанный PID.

Попробуйте добавить strace перед самыми разными командами: ls, cat, date, who, ...
Очень интрересные вещи можно увидеть.

Прочитаем вывод strace:

strace cat /proc/cpuinfo
execve("/usr/bin/cat", ["cat", "/proc/cpuinfo"], 0x7ffd55c9d688 /* 21 vars */) = 0
brk(NULL) = 0x5564493fb000
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fd834c61000
access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=9931, ...}) = 0
mmap(NULL, 9931, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7fd834c5e000
...


execve - запустилась программа cat (и передала 21 переменную окружения), 0 - успех
brk(NULL) - вопрос про указатель на куче, 0x5564493fb000 - адрес конца кучи
mmap - выделение 8кб памяти (8192 байта), MAP_PRIVATE - приватная не разделяемая память, 0x7fd834c61000 - адрес выделенного блока
ld.so - динамический загрузчик, работа происходит через него
ld.so.cache - бинарный кэш, в котором записано где на диске лежат системные библиотеки
openat - cat попросил ядро открыть файл, ядро вернуло дескриптор 3

(0, 1, 2 — это stdin, stdout, stderr, поэтому следующий свободный — 3) и т.д.

Действий много, лог забит, поэтому важно уметь фильтровать действия по категориям: ключ -e

strace -e openat ping -c1 ya.ru
openat(AT_FDCWD, "/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libcap.so.2", O_RDONLY|O_CLOEXEC) = 3
openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libidn2.so.0", O_RDONLY|O_CLOEXEC) = 3
openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libc.so.6", O_RDONLY|O_CLOEXEC) = 3
openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libunistring.so.5", O_RDONLY|O_CLOEXEC) = 3
openat(AT_FDCWD, "/usr/lib/locale/locale-archive", O_RDONLY|O_CLOEXEC) = 3
openat(AT_FDCWD, "/usr/lib/x86_64-linux-gnu/gconv/gconv-modules.cache", O_RDONLY|O_CLOEXEC) = 5
openat(AT_FDCWD, "/etc/nsswitch.conf", O_RDONLY|O_CLOEXEC) = 5
openat(AT_FDCWD, "/etc/host.conf", O_RDONLY|O_CLOEXEC) = 5
openat(AT_FDCWD, "/etc/resolv.conf", O_RDONLY|O_CLOEXEC) = 5
openat(AT_FDCWD, "/etc/hosts", O_RDONLY|O_CLOEXEC) = 5
openat(AT_FDCWD, "/etc/gai.conf", O_RDONLY|O_CLOEXEC) = 5


или несколько: strace -e openat,connect ping -c1 ya.ru
41002
Неопознанный кактус logo
Неопознанный кактус

03 авг. 2026 г., 11:30

Sticky Bit

Специальный флаг для директорий, не позволяющий удалять чужие файлы.

костыль к стандартной системе . Для общих разделов, как, например, /tmp или /dev/shm нужно разрешить запись всем, но при этом чтобы совсем уж не было беспредела. Предлагается аналогия с общей кухней в общежитии - пользоваться кухней могут все, но чужое выбрасывать нельзя. Забавно при этом, что можно полностью изменить чужое содержимое, но именно удалить - нельзя (переименовать тоже нельзя, потому что это суть есть удаление с пересозданием).

"Липкий бит" отображается как t в конце блока прав у директорий, для файлов это не работает.


$ ls -ld /tmp
drwxrwxrwt 88 root root 171606016 Jul 13 11:35 /tmp

Устанавливается флаг через chmod:
$ chmod +t ~/shared/folder

или единицей перед основным значением в числоворм режиме:
$ chmod 1777 ~/shared/folder

Снять ограничение:

$ chmod -t ~/shared/folder
37003
Неопознанный кактус logo
Неопознанный кактус

03 авг. 2026 г., 11:30

/dev/shm

Устройство доступа к разделяемой памяти (shm - SHared Memory), технически - виртуальный диск, работающий в оперативной памяти, смонтированный на файл устройства. В более старых системах назывался /dev/tmpfs

Собственно тип его файловой системы так и называется, проверим размер диска:
$ df -h /dev/shm
Filesystem Size Used Avail Use% Mounted on
tmpfs 442M 0 442M 0% /dev/shm
Размер по-умолчанию равен половине доступной оперативной памяти. Все файлы, которые вы туда положите физически будут находиться в RAM, а скорость чтения/записи равна скорости оперативной памяти. При перезагрузке соответственно данные теряются.

Размер можно изменить, потребуется перемонтировать устройство
$ mount -o remount,size=1G /dev/shm
Чтобы зафиксировать эту настройку, нужно уже прописать в /etc/fstab:
tmpfs /dev/shm tmpfs defaults,size=1G 0 0

Важно! Это не ring-buffer, не FIFO, если место кончится - то кончится. Если процесс завершится, не удалив свои данные отсюда, они там останутся висеть до перезагрузки. Например, если придет OOM Killer и прихлопнет разъевшуюся программу, данные здесь останутся висеть, в этом основное отличие просто от частной выделенной процессу оперативной памяти - оно как бы диск, просто в памяти. Задача - быстрое межпроцессное взаимодействие данными в понятном интерфейсе, требует менеджмента.
37002

Showing 30 of 38 posts

Рейтинг

Требуется вход

Frequently Asked Questions

О чём Telegram-канал Неопознанный кактус?+

Неопознанный кактус (@kvktyc) — Telegram-канал в категории Фото природы на tgdio. На профиле есть рейтинг, отзывы, ранг и свежие посты — решите до подписки в Telegram. Сейчас на tgdio указано около 300 подписчиков.

Как вступить в Неопознанный кактус (@kvktyc) в Telegram?+

Откройте профиль канала на tgdio, нажмите Join / Open in Telegram и подпишитесь на @kvktyc в приложении или веб-версии Telegram бесплатно.

Стоит ли подписываться на Неопознанный кактус (Фото природы)?+

На tgdio можно проверить рейтинг, отзывы, ранг и свежие посты Неопознанный кактус до подписки. Сейчас на tgdio указано около 300 подписчиков. Сравните с похожими каналами Фото природы.

Где смотреть статистику и посты Неопознанный кактус?+

На tgdio откройте страницу @kvktyc: статистика подписчиков, ранг, рейтинг и посты. Ссылка Stats даёт графики роста и активности.