Пролог: Зачем разбирать себя на слои?
Когда я впервые настроил AUFS для контейнеров, осознал: люди — тоже union-монтирование. Мы — наложение паттернов, привычек и ролей. Решил применить это к себе.
Спонсор эксперимента — более 5 лет в IT и знание, что /proc/self/maps
не показывает границы внутреннего ада.
Глава 1: AUFS как модель личности
Что такое AUFS в реальности?
Another Union File System — это объединение нескольких слоёв файловой системы в единое целое. Каждый слой может быть:
-
Read-only (базовые установки)
-
Read-write (один, верхний, текущие изменения)
-
Whiteouts (удалённые элементы, спрятанные, но не забытые)
Слоев для чтения может быть много, а для записи — только один. Это неизменное правило.
Моя “личность” в терминах AUFS
Монтирование себя
mount -t aufs -o br:/upper=rw:/lower1=ro:/lower2=ro,udba=reval none /mnt/current_self
Слои:
-
/lower1/base
(Read-only):-
Детские травмы (
/family_dysfunction
) -
Генетика (
/biology/irish_depression
) -
Культурный код (
/etc/russian_guilt.conf
)
-
-
/upper/changes
(Read-write):-
Привычки (
/usr/bin/
procrastinate.sh
) -
Навыки (
/lib/modules/coding_skills
) -
Социальные маски (
/dev/char/social_role
)
-
-
Whiteouts:
-
/.wh.deleted_sensitivity
(подавленная эмпатия) -
/.wh.killed_dreams
(отказ от музыки в 15 лет)
-
Как собрать себя заново?
Шаг 1: Анализ слоёв
auplink /mnt/current_self list
/lower1/base/trauma_events.log
/upper/changes/new_beliefs.cfg
Шаг 2: Пересборка
mkdir -p /upper/patches/self_2024
cp /lower1/base/bad_patterns.c /upper/patches/self_2024/
vim /upper/patches/self_2024/bad_patterns.c
Шаг 3: Удаление через whiteout
touch /upper/changes/.wh.never_ask_for_help
Глава 2: Реальные кейсы переслоения
Кейс 1: Импровизация как Overlay
Проблема: страх публичных выступлений.
Код в /lower1/base/social_interaction.c:
if (audience > 1) {
panic("They see through you!");
}
Решение: временный слой:
mount -t aufs -o br:/tmp/actor_mask=ro:/upper/changes=rw /mnt/stage_persona
Результат: теперь в /usr/bin/
talk.py
:
def speak():
if self.mode == "public":
execute(actor_mask.script) # Имитация уверенности
else:
normal_mode()
Кейс 2: Миграция с Python 2 на 3 (aka идентичность 2.0)
-
Бэкап слоя:
cp -a /lower1/base /lower1/base_python2_backup
-
Постепенная замена:
- print "I'm worthless"
+ print("I'm work-in-progress")
-
Проверка совместимости:
./configure --with-self-compassion=yes
make test
Глава 3: Технические проблемы самоAUFS’а
1. Конфликт слоёв
Симптом: зависания при переписывании базовых установок через /upper/changes
Пример:
echo new > /upper/changes/fear_of_abandonment
Ошибка: kernel panic: conflicting belief systems
Решение:
dmesg | grep -i conflict
echo 1 > /proc/sys/kernel/emotional_crash
reboot # через терапию
2. Утечки памяти
cat /proc/self/status | grep -i anon
Anonymous memory: 8.7G (память о бывших, невысказанное, тревоги)
Фикс:
void release_memory(void *pain) {
kfree(pain);
trigger_grief(); // Плач
trigger_writing(); // Дневник
}
3. Бесполезные whiteouts
Проблема: whiteout скрывает, но не очищает.
stat /mnt/current_self/.wh.need_for_approval
Size: 0 Blocks: 8
Вывод: suppression != deletion. Нужно пересобирать.
Эпилог: Что осталось в /var/log
Мой эксперимент показал: слои — не решение, а инструмент. Как и в AUFS, важно:
-
Делать
auplink flush
— синхронизировать и отпускать -
Не бояться
rmmod
старых модулей -
Помнить: даже read-only слои можно переосмыслить через mount
# А пока я переключился на:
mount -t overlay -o lowerdir=childhood,upperdir=init_attempt,workdir=/tmp/initramfs_rebuild none /mnt/boot_self
Сейчас пробую OverlayFS — он позволяет менять нижние слои. Видимо, пора лезть в initramfs
детства.
P.S. Все скрипты из статьи — в моём GitHub. Там же конфиги для emotional_cgroupd
— демона контроля ресурсов.
P.S.S. Мне 23, я разработчик. Эта статья — не просто метафора, а начало сборки настоящей ОС. Следующая — про init
, rootfs
, и загрузку своего первого слоя реальности.
P.S.S.S. Если вам откликаются мои размышления о слоистых системах, технологии и жизни, подписывайтесь на мой канал в Telegram “Консоль Души”. Тут я делюсь своими мыслями и опытом в IT, говорю о том, как я пережил паузу в коде, и о том, как мы, как и операционные системы, можем быть многослойными.
_____________________________
/
| mount -t aufs -o br=... |
| Монтирую личность... |
| |
| /lower/base: травмы |
| /upper/changes: опыт |
| /.wh: подавления |
| |
| >> /mnt/current_self |
_______________________________/
|| ||
(o) (o)
| |
___||___/
/
/
(__) (__)
⬢ Mozgolika v1.0 ⬢
"Self is mounted"
Автор: mozgolika
- Запись добавлена: 05.05.2025 в 10:27
- Оставлено в
Советуем прочесть:
- Sharge собрал $1,5 млн за 5 дней на запуске умных очков Loomos AI
- Как NVIDIA создает «операционную систему» для физического ИИ
- Meta* предлагает новые масштабируемые слои памяти
- Huawei представила смартфон-раскладушку Pura X с соотношением сторон 16:10
- В МГТУ имени Баумана компания «ИВК» поставила промышленные компьютеры на «Эльбрусах»
- День 1. Что левое полушарие вашего мозга «думает» о вас
- ИИ генерирует длинные видео: возможное решение проблемы вычислительных требований
- Reddit работает над нейросетевым поиском, который поможет пользователям находить ответы на сложные вопросы
- HP выкупила активы Humane и закроет проект AI Pin
- OpenAI сделала поисковую систему на основе ИИ более доступной