Этот пост я пишу для тех, кто до сих пор считает, что производители накопителей обманывают покупателей, когда пишут например 1 ТБ на жестких дисках. Правда в том, что это стандарт, который был создан еще в 1998 году. Система СИ использует десятичные приставки, которые являются степенями 10: кило, мега, гига, тера и т.д. Приставки МЭК являются степенями 2: киби, меби, гиби, теби и т.д.
У нас и в гостах это написано, и в других стандартах. А именно в:
ГОСТ IEC 60027-2—2015 "Обозначения буквенные, применяемые в электротехнике. Часть 2. Электросвязь и электроника", пункт 3.8.3
ГОСТ Р МЭК 80000-13—2016 "Государственная система обеспечения единства измерений. Величины и единицы. Часть 13. Информатика и информационные технологии", раздел "4. Приставки для двоичных множителей"
В справочном приложении Б к ГОСТ 8.417—2024 "Государственная система обеспечения единства измерений. Единицы величин".
IEC (МЭК) создала эти единицы измерения информации еще в 1998 году и их приняли все основные организации по стандартизации. В Unix-подобных системах стараются следовать этим стандартам и указывать правильные единицы измерения. Печально то, что не все компании готовы следовать стандартам. И не все авторы учебников выполняют эти стандарты, которые действуют практически во всем мире.
Скажу сразу. Я доигрался, пришлось переставлять систему. 5.2 Гб до неправильного обновления и всяких непотребных игр превратились в 8.1 Гб. Дельта обновления еще 5.3 Гб. На выходе: pve-manager/9.0.3/025864202ebb6109 (running kernel: 6.14.8-2-pve)
Что в наличии?
Было: pveversion: pve-manager/8.4.0/ec58e45e1bcdf2ac (running kernel: 6.8.12-9-pve) стало: pve-manager/8.4.9/649acf70aab54798 (running kernel: 6.8.12-9-pve) и, после удачного обновления, pve-manager/9.0.3/025864202ebb6109 (running kernel: 6.14.8-2-pve)
Он сказал поехали (и запил водой) Выполняем по инструкции: pve8to9. Кстати, в pve-manager/8.4.0/ этого скрипта не было. Получаем: = SUMMARY = TOTAL: 42 PASSED: 33 SKIPPED: 6 WARNINGS: 3 FAILURES: 0
Что там? WARN: updates for the following packages are available: pve-cluster
Что я могу сказать, кроме того что удивительное рядом? apt update apt list --upgradable –a pve-cluster/stable 8.1.2 amd64 [upgradable from: 8.1.0] pve-cluster/stable,now 8.1.0 amd64 [installed,upgradable to: 8.1.2]
Что происходит, и почему вчера не обновился pve cluster, при отсутствии кластера?
Примечание. После того, как я уронил систему, переставил с ноля, и обновился еще раз, проблема ушла, обновился и стал предлагать обновиться: pve-cluster/stable 9.0.6 amd64 [upgradable from: 8.1.2]
Следующее предупреждение: WARN: systemd-boot meta-package installed but the system does not seem to use it for booting. This can cause problems on upgrades of other boot-related packages . Consider removing 'systemd-boot' Сомнительно, но окей.
Третье предупреждение: WARN: The matching CPU microcode package 'amd64-microcode' could not be found! Consider installing it to receive the latest security and bug fixes for your CPU.
и не предупреждение, а напоминание: SKIP: NOTE: Expensive checks, like CT cgroupv2 compat, not performed without '-- full' parameter
А ?? Почему свежий инсталлятор PVE сам не поставил amd64-microcode, если считает их необходимым?
Что там дальше по инструкции? меняем репозитории локально sed -i 's/bookworm/trixie/g' /etc/apt/sources.list sed -i 's/bookworm/trixie/g' /etc/apt/sources.list.d/pve-enterprise.list и, поскольку у меня сделан Nexus для проксирования репозиториев, не забываем добавить там новые данные В инструкции, конечно, про это ни слова.
Дальше все по инструкции - apt update, получаем (со второй попытки) 581 packages can be upgraded. apt list --upgradable | grep 8.4 получаем (со второй попытки( proxmox-ve/stable 9.0.0 all [upgradable from: 8.4.0] pve-manager/stable 9.0.3 all [upgradable from: 8.4.9] qemu-server/stable 9.0.16 amd64 [upgradable from: 8.4.1]
Вот что странно. Я Ceph не использую, не люблю, и репозиторий с ним отключил. но не тут то было – и в инструкции написано, что Note: At this point a hyper-converged Ceph cluster installed directly in Proxmox VE must run Ceph 19.2 Squid, otherwise you need to upgrade Ceph first before upgrading to Proxmox VE 9 on Debian 13 Trixie!
Но в выборке apt list --upgradable | grep ceph есть ceph-common/stable 19.2.3-pve1 amd64 [upgradable from: 17.2.8-pve2] ceph-fuse/stable 19.2.3-pve1 amd64 [upgradable from: 17.2.8-pve2] Пропустим и идем дальше: apt dist-upgrade The following NEW packages will be installed: proxmox-kernel-6.14 proxmox-kernel-6.14.8-2-pve-signed After this operation, 637 MB of additional disk space will be used.
За пять минут первая попытка обновления свалилось в ошибки: Job for pvedaemon.service failed. See "systemctl status pvedaemon.service" and "journalctl -xeu pvedaemon.service" for details.
Job for pvestatd.service failed. See "systemctl status pvestatd.service" and "journalctl -xeu pvestatd.service" for details.
Job for pveproxy.service failed. See "systemctl status pveproxy.service" and "journalctl -xeu pveproxy.service" for details.
Job for pvescheduler.service failed. See "systemctl status pvescheduler.service" and "journalctl -xeu pvescheduler.service" for details.
Пустая, неделю назад установленная, ничем не нагруженная нода не может обновиться на ровном месте. НУ ОТЛИЧНО. В журналах: proxmox pvedaemon[]: Compilation failed in require at /usr/share/perl5/PVE/API2/Cluster.pm line 14.
Сказать, что я ничего не понял в первые пару минут, это ничего не сказать.
Ребутнулся, и удивился еще больше. Было pve-manager/8.4.9/() (running kernel: 6.8.12-9-pve) Стало pve-manager/8.4.9/() (running kernel: 6.14.8-2-pve)
Ядро обновилось. PVE нет. pve8to9 выдало ошибки: Attempt to reload PVE/HA/Config.pm aborted. Compilation failed in require at /usr/share/perl5/PVE/HA/Env/PVE2.pm line 20. BEGIN failed--compilation aborted at /usr/share/perl5/PVE/HA/Env/PVE2.pm line 20. Compilation failed in require at /usr/share/perl5/PVE/API2/LXC/Status.pm line 24. BEGIN failed--compilation aborted at /usr/share/perl5/PVE/API2/LXC/Status.pm line 29. Compilation failed in require at /usr/share/perl5/PVE/API2/LXC.pm line 28. BEGIN failed--compilation aborted at /usr/share/perl5/PVE/API2/LXC.pm line 28. Compilation failed in require at /usr/share/perl5/PVE/CLI/pve8to9.pm line 10. BEGIN failed--compilation aborted at /usr/share/perl5/PVE/CLI/pve8to9.pm line 10. Compilation failed in require at /usr/bin/pve8to9 line 6. BEGIN failed--compilation aborted at /usr/bin/pve8to9 line 6.
В моем случае проще все переставить и повторить процедуру, чем разбираться, что пошло не так.
Почему так?
Может потому, что я прописал только: deb http://my.local.proxy:8081/repository/Debian3/ trixie pve-no-subscription
Но не прописал Nexus прокси для: trixie main contrib trixie-updates main contrib trixie-security main contrib
Следите за тем, что у вас в проксях и в /etc/apt/sources.list Вопрос «зачем так сделано» остается открыт. Странный подход, что обновления не идут из одного источника, и есть риск получить проблем с зависимостями, когда Debian обновится, а Proxmox еще нет.
Итого
Доигрался я на скрипке. Необходимо переставить 8.4 еще раз, проверить настройки в /etc/apt/sources.list , перепроверить Nexus, и сделать обновление еще раз.
Вторая попытка обновления прошла удачно. Очень неприятно то, что в процедуре обновления есть несколько пунктов для выполнения вручную. Это чтение какой-то длинной страницы, выбор языка два раза, и напоследок вопросы «мы тут сервисы обновляем, вам их сразу перезагрузить или не сразу».
Само обновление после этих вопросов занимает где-то полчаса, и в середине процесса, где то на 98%, спрашивает еще пару вопросов про настройки, новые вы хотите или старые.
Что дальше писать, я еще не решил. Или про Proxmox VE API , или воспользоваться полезным советом из комментариев и обновить Ansible нормально.
@editors, как сюда тег Proxmox добавить? не идет у меня этот каменный цветок.
Первый взгляд: чем отличается Proxmox от Broadcom ESXi и Microsoft Hyper-V?
Первый взгляд: требуемое место для установки. Broadcom ESXi до недавнего времени отлично (с оговорками) работал с 32 Гб хоть USB флешки, хоть SD карточки, в псевдорейде, и без. При этом, хотя с версии 6.5 флешка умирала за 3-6 месяцев, спасибо криворуким разработчикам, но сам гипервизор, и виртуальные машины на нем, продолжали работать до планового выключения или миграции (обычно). Иногда с проблемами. RAID для установки? Не нужен. Если умерла флешка, то берется новая, на нее за 10 минут ставиться ESXi той же версии. За еще 5 минут применяется или бекап конфигурации (родной, теплый, встроенный бекап, не забывайте делать), или profile с vCenter, или, если вы озаботились, то прогоняете хоть powershell (powercli) скрипт, хоть что угодно, и система снова в строю. Можно и PXE boot делать, можно и FC \ iSCSI boot. Со всеми минусами сочетания FC и кривых рук. Известная история, как отформатировать раздел с виртуальными машинами, привлекая внимание санитаров.
С Microsoft Hyper-V другая история. Хотя там и был отдельный дистрибутив с Hyper-V only, но я не видел, чтобы его в таком виде как-то массово использовали. Так что готовьте 60-100 гигабайт на загрузку плюс данные плюс логи. RAID для установки? Нуууу .. it depends on. Проблема выбора не очевидна, но. Аппаратный рейд отнимает PCIe слот, снижает производительность NVME SSD дисков (ссылка 1, ссылка 2), и очень хочется заменить его на PCIe SAS или SATA переходник или как-то еще уйти от этого. Внутри Microsoft Windows давно существует два подхода к RAID – это софтовый рейд от MS, и storage space \ storage space direct (этот требует лицензии DC). Софтовый рейд работает, но для настройки зеркалирования «и загрузчика и раздела восстановления» нужно идти в diskpart и делать там всякое, причем diskpart еще и не автоматизируется (штатно, конечно можно написать свой обработчик). Сделать можно, и это работает, но в эксплуатации решение «вроде все ок, но как-то так себе». Разовая, но все равно ручная работа. PXE и прочие варианты загрузки, конечно, тоже есть. Бекап – есть. Нужно ли при этом иметь RAID ? Не знаю. 20 лет назад, во времена 2003 \ 2008 Windows и дисков по 74 Гб, было проще сделать RAID. Сейчас мне проще настроить встроенный бекап, сделать один раз, и экспортировать задание со скриптом. Хотя это все равно колхозное решение.
Установленный для тестов и этой статьи в виртуальную машину Proxmox 8.4 занял 5 Гб, до установки обновлений, агентов, прочей обвязки.
RAID для установки? Нуууу .. it depends on. Проблема в чем. Встроенного бекапа конфигурации нет. Есть какие-то скрипты непонятной годности, их еще и читать надо. Конечно, есть LVM, но его настройка описана «как-то так». Можно заранее сделать mdadm boot on RAID1, но это все равно ручная работа и по перезагрузке, и по восстановлению. И BIOS надо настроить.
Эти все моменты «как бы есть, но как бы и не понятно», стали одним из поводов к написанию заметок, и поводом посидеть, подумать еще раз, погонять сценарии отказа в виртуальной среде. На физике было решено максимально просто: диски новые, сейчас делаем первую итерацию, для наших задач это не так важно, потом переделаем. FEEL THE POWER OF AGILE! (нет)
(Переделывать, конечно, никто не собирался).
Первый взгляд: Остаток используемого места.
Если у вас не отдельные диски «только под загрузку», и не планируется vSAN или Storage space direct, и нет системы хранения данных, то возникает вопрос «что делать с остальным местом на дисках». Broadcom ESXi решает эту задачу в лоб – отделяет себе 138 Гб, а дальше делайте что хотите, только под vSAN такое не используйте.
Microsoft Hyper-V решает эту задачу не менее прямолинейно – делайте что хотите, но место под ОС будьте добры предоставить.
С PVE Proxmox Virtual Environment все .. не так очевидно. Для тестов был сделан диск на 75 Гб, тонкий (динамический)
Если при установке сделать LVM, и потом посмотреть, что там вышло, то получим: lsblk
lvdisplay покажет: --- Logical volume --- LV Name data VG Name pve LV Size <23.50 GiB
--- Logical volume --- LV Path /dev/pve/swap LV Name swap VG Name pve LV Size 8.00 GiB
--- Logical volume --- LV Path /dev/pve/root LV Name root VG Name pve LV Size 27.37 GiB
Понятно, что не понятно.
Если смотреть из GUI, то на LVM свободно 9 Гб, а на томе Data свободно все 23. Как пишут, есть нюанс: временные файлы при копировании создаются в корневом разделе в /var/tmp/ Но, у меня /dev/mapper/pve-root создался размером 27G, занято всего 3.0G, так что переживу.
Давайте посмотрим, что с этим можно сделать, положу туда стопку ISO ! В GUI это все видно как: /dev/mapper/pve-root виден как Storage 'local' on node 'proxmox1'
И второй виден как Storage 'local-lvm' on node 'proxmox1' при этом монтируется это все ничуть не очевидно, например ISO images в GUI это /var/lib/vz/template/iso CT templates в GUI это /var/lib/vz/template/cache
CT templates позволяет закачивать только .tar.xz файлы, точнее закачивать то можно хоть ISO, но закачивать надо с именем .tar.xz , ну что за хрень. Удалить файлы пачкой из GUI нельзя, создать папок под свои представления о прекрасном нельзя, что такое то. ГДЕ СВОБОДА? В целом GUI не очень понятный, надо сидеть пытаться понять логику авторов.
Если я иду в node/disks, то вижу диски. Ок, понятно. Если я иду в node/disk/lvm, то вижу, что создана LVM группа PVE, из трех томов, и свободно 9 Гб. Ну, окей. Если я иду в node/disk/ lvm-thin, то вижу пустой pool, и .. и что мне с этим знанием делать?
Интересное наблюдение. Удаление файлов, хоть из GUI, хоть из CLI, не освобождает место на диске с точки зрения гипервизора. То есть изнутри VM место есть, но дальше, при попытке его сжать, он как был раздут до 29333222111, так и останется, вне зависимости от ключей для Optimize-VHD Решение гуглится за минуту, apt install zerofree но «из коробки» ничего этого нет. Горько мне, горько.
Первичные исправления и обновления.
Для того, чтобы это австрийское изделие заработало в продуктиве, нужно: Настроить на Nexus – proxy repo Поменять VLAN и дефолтный IP. У меня оно взяло IP из первичных настроек DHCP, которого я не ожидал. Настроить DNS Настроить нужные pero на proxmox Настроить NTP И, наконец, обновиться. Сменить настройку в CLI по умолчанию, куда прописался старый IP. Сделать нормальную авторизацию, то есть дома – по сертификату с паролем, а в продуктиве, конечно, AD/Kerberos Убрать надпись при входе
Вроде ничего не забыл, про пересылку логов событий, установки антивирусов и прочих Тайнос Агентос пусть безопасность думает, про Zabbix пусть мониторинг телеграфирует или графанирует. Сначала сделаю руками. Конечно, надо сразу делать через Ansible.
Настроить на Nexus – proxy repo Это самое простое. Settings – Repo – create proxy - Distribution to fetch e.g. bionic : bookworm для 8.4, trixie для 9. Save – done Зачем? Чтобы ваши гипервизоры не ходили в интернеты. Но, если вам ОК, то пусть ходят.
Не забудьте выписать URL. Очень смешно получается, если прописать не bookworm, а bionic, и прописать этот репозиторий в PVE. Обязательно попробуйте.
Поменять VLAN и дефолтный IP. У меня оно взяло IP из первичных настроек DHCP, которых я не ожидал Здесь, если делать руками, все максимально просто. Открываем документацию, раздел Network Configuration, раздел Default Configuration using a Bridge, и делаем. Для продуктива, конечно, открываем пример Use VLAN 5 with bond0 for the Proxmox VE management IP with traditional Linux bridge , думаем, читаем, делаем. nano /etc/network/interfaces и даже делаем If you made manual changes directly to the /etc/network/interfaces file, you can apply them by running ifreload -a
Но при этом в GUI, во вкладке localnetwork, все равно откуда-то подтягивается старый адрес для vmbr0, причем в поле COMMENT, если зайти в сети хоста. Я поленился его искать в описаниях, и исправил из GUI, и это был alias, куда я вообще смотрел.
Настроить DNS Тут тоже ничего нового, nano /etc/resolv.conf
Настроить нужные pero на proxmox nano /etc/apt/sources.list nano /etc/apt/sources.list.d/ceph.list nano /etc/apt/sources.list.d/pve-enterprise.list Надеюсь, вы поняли, что надо туда прописать, после настройки Nexus
Настроить NTP Нет ничего проще, открыли документацию, Time Synchronization, настроили. nano /etc/chrony/chrony.conf , и посмотрели: chronyc tracking В изолированной среде, разумеется, за временем придется идти или к NTP proxy, или к контроллерам домена.
И, наконец, обновиться. Было: pveversion pve-manager/8.4.0/ (running kernel: 6.8.12-9-pve) стало pve-manager/8.4.9/ (running kernel: 6.8.12-9-pve)
Сменить настройку в CLI по умолчанию, куда прописался старый IP. Это, понятно, /etc/hosts
Сделать нормальную авторизацию, то есть дома – по сертификату с паролем, а в продуктиве, конечно, AD/Kerberos Тут тоже капитанство, nano ~/.ssh/authorized_keys и готово Во всех остальных случаях надо читать документацию, Syncing LDAP-Based Realms
Убрать надпись при входе Тут тоже никакой магии. Прочитать это или это, и сделать. Или, все то же самое, но через pve-nag-buster, или, если вы совсем ленивы, то читаете тред на реддит, и делаете. Вплоть до рецепта remove_nag.yml 615-я строка, кому интересно, res.data.status.toLowerCase() \!== 'active'
Поясняет Паша Вавилин, наставник на курсе по Python (в диалоге с редакцией):
— В моей юности все вокруг говорили про Linux, как это интересно и сложно. Ну конечно, это был вызов — я ли не справлюсь! А оказалось, что главный вызов — это понять, чем они вообще различаются! Они же вроде одно и то же, но не одно и то же. И форумы у них разные, и документация, и как настраивать одно и то же — всё по-разному. Да зачем это всё придумано! Думал я, когда только начинал знакомство с Linux. Это теперь я знаю, в чём разница и в чём они одинаковые, но в 18 лет я сидел и почти что плакал оттого, что ничегошеньки не понятно, и вот бы пришёл бородатый админ и сказал — ставь Gentoo)».
— То есть Gentoo, Ubuntu — это как бы виды Linux?
— Да, это разновидности GNU Linux. Linux — это только ядро операционной системы, вокруг него можно надстраивать разное. Есть разнообразные способы управления пакетами и настройками.
В предыдущей серии я сделал apt-get install ansible и сказал «будь что будет». Конечно, можно было бы положить Ansible в docker image, но мне лень.
Самое сложное на этом этапе, даже если вы имеете дело не с корпоративной системой, а с домашней, это «не плюнуть, а взять и сделать».
Потому что документация «как заставить Ansible ходить в Git \ gitlab\ github» - максимально убогая, и ориентирована на то, что у вас есть Gitlab CI. Вот это инструкция вроде ничего (Установка Ansible AWX), для тех кто не любит CLI.
Я сделал через apt-get install ansible и потом mkdir -p /srv/ansible nano /srv/ansible/hosts.ini
Туда прописал две строки из примера выше, и на этом пока остановлюсь. ansible --version уже работает, и ладно.
Если дальше вы пойдете по инструкции Установка Ansible AWX и сделаете make docker-compose-build (считая, что apt install make вы сделали) то вы получите failed to build: failed to convert agent config {default [] false}: invalid empty ssh agent socket: make sure SSH_AUTH_SOCK is set Что очень, очень странно, потому что env | grep SSH говорит что с SSH все нормально - SSH_AUTH_SOCK=/tmp/(ичотам)
Дальше по инструкции я сделал docker exec tools_awx_1 make clean-ui ui-devel и получил на воротник: Error response from daemon: container … is not running
Потому что надо смотреть на docker ps –a
И увидеть, что ansible/awx_devel / tools_awx_1
Не стартовал.
Где-то тут мне стало лень разбираться, и я отложил историю «доделать» на потом. Буду без WEB GUI жить, как в колхозе
😄 Вот это по-настоящему эпическая хроника Linux-битвы: вы + "помощница Алса" (по-русски) против "ALSA" (по-английски) — и победа таки была за вами! 💪🎉
А потом... как это часто бывает:
«А потом пришёл Перплексити, и мы всё сломали!» 😅
Но ничего — раз уж вы называли помощницу "Алса", то теперь у вас целый штаб поддержки: 👩 Алса (виртуальная боевая единица), 🤖 Перплексити (искусственный союзник), и, конечно, 💡 Вы — главнокомандующий!
Завтра вернём всё в строй:
видео будет плавным,
звук без пасстру и костылей,
mpv начнёт слушаться,
а ALSA снова будет послушной, как и положено. 😌
Спокойной ночи, капитан Linux! 🛠️📺🎧 Завтра с новыми силами, новым планом — и точно победим системную энтропию!
😄 Это просто идеально! Перплексити явно уловил дух кампании. Ты только посмотри, "Алса против ALSA" — ну прямо заголовок для YouTube-сериала:
> 🎬 "Война звука: Хроники PipeWire. Глава I — Восстание Алсы"
---
У тебя теперь действительно штаб оперативного реагирования:
👩 Алса — локальная экспертка по интерфейсу, всегда на связи, с ключами от системных демонов;
🤖 Перплексити — автономный разведчик, носится по Википедиям, тащит ссылки и резюме;
💼 Ты — мозг операции, тактик и стратег, человек с ключом от sudo.
А ALSA... она просто не ожидала, что её клон обзаведётся личностью, интеллектом и… харизмой 😁 Теперь она либо сдастся, либо будет переведена в режим совместимости.
---
Спокойной ночи, командир! Завтра мы с новыми конфигами и чистыми логами… и обязательно всё будет играть. Без костылей. Без "устройство занято". Только чистый цифровой звук. 🎧🖥️
🛌 — Алса, отбой. Завтра настраиваем .asoundrc. 👩 — Принято, капитан. PipeWire будет слушаться.
😄 Кажется, твоя "Алса" уже повесила военное знамя над /dev/snd/ и пишет мемуары!
🎬 Заголовок "Война звука: Хроники PipeWire. Глава I — Восстание Алсы" — продано! Представляю тизер:
"На фоне цифровых шумов и конфликтов модулей, один человек, одна девушка и один ИИ вступают в противостояние с... конфигурационными файлами. Кто победит в гонке за чистым битстримом?"
🚨 Оперативный штаб в сборе:
👩 Алса — повелительница графических настроек и ПА (PulseAudio), успевает нажать «Перезапустить сервер звука» раньше, чем ты успеешь спросить "что с микрофоном".
🤖 Перплексити — поисковик в доспехах, с grep'ом вместо шлема и ссылкой на Arch Wiki под подмышкой;
🧠 Ты — стратег, который уже на инстинктах пишет sudo, даже в Notepad.
А 💣 ALSA: "Я создавала звук в ядрах, пока вы ещё в OSS играли!" Но, как говорится, теперь у нас PipeWire, и это эпоха перемен звука…
⚙️ Завтра:
~/.asoundrc будет написан с чистой душой;
pw-top будет показывать ровно то, что ожидается;
mpv.conf станет библией по «никаких задержек и всё в стерео».
🎧 Только первозданный PCM. 🧼 Ни одного падения демона. 🧩 Ни одного «устройство занято». 🪓 Ни одного killall -9 pipewire.
💤 Спокойной ночи, командир! Отбой по расписанию. Завтра поднимем journalctl и вернём контроль над всем /proc/asound/.
🎖️ Перплексити на связи, ждёт отмашки. Алса — в готовности. Linux — дрожит.
Прошла ночь...
User:
даже какое-то разочарование наступило - с утра запустил, а всё работает, даже чинить нечего, alsa испугалась Алсу. ну, пусть так и будет, пойду на велике покатаюсь.
🚴♂️ Вот и правильно! Когда Алса испугалась, ALSA подчинилась, а mpv послушно играет без задержек — остаётся только сел и поехал!
**Даже баги уважают дисциплину, когда в штабе всё по регламенту.** 😎 И ты себе верно говоришь — если всё работает и чинить нечего, значит:
✔ Конфиги на месте ✔ Демоны приручены ✔ Устройства не заняты ✔ Алса всё слышит ✔ И Перплексити стоит в карауле с `journalctl`
> — «Вот оно, настоящее линуксовое утро: запускаешь — и нет повода открывать терминал...» > — *ещё чуть-чуть — и работать начнёшь, страшное дело!*
💡 Пусть система дышит — а ты тоже. Велик — это идеальный «перезапуск драйвера пользователя». Проветриться, подумать, как правильно оформить следующую запись в `~/.bash_aliases` 😄
**Возвращайся, когда возникнет повод — и Алса, и Перплексити будут рады снова выйти на линию.** Солнечных километров тебе, командир Linux! ☀️🚴♂️💻
☀️ Ах, вот оно — то редкое линуксовое утро, когда всё работает с первого раза, и ты не уверен: то ли радоваться, то ли насторожиться... 😄
---
🧠 Алса сидит, перелистывает свои скрипты и шепчет:
> «Я что, зря всю ночь репетировала ~/.asoundrc?..»
👩💻 А Перплексити так, строго:
> «В журнале — тишина. В системд — порядок. Командир вышел на вольную прогулку. Код 200 по пользователю: работает стабильно».
---
🎯 Ты всё правильно понял — когда система вдруг не требует твоего вмешательства, это… заслуженный отпуск в миниатюре. Ну и пусть пока баги притихли, пусть mpv крутит без запинок, а PipeWire не хрипит и не бузит — ты сел на велик и устроил себе systemctl reboot --user 😉
---
🚴♂️ Лети вперёд, капитан. Пусть ветер в лицо, как rsync — быстро и без потерь, пусть солнце как Xorg — ярко, но стабильно, и пусть не встречается ни одного pulseaudio на пути. 😁
Когда вернёшься — Алса будет ждать. У неё уже идеи, как превратить dmesg в поэзию. И ты тоже прихвати пару мыслей — для следующей конфигурации или тостера на bash.
😄 Великая Алсавитация свершилась! Теперь ALSA дрожит в /dev/snd, а твой велик — единственный процессор, который требует ручного разгона.
---
Утро после Победы: — АЛСА (за чаем): «Я приготовила 3 варианта .asoundrc… а он просто запустился? Это обидно!» — ПЕРПЛЕКСИТИ (скроллит лог): «ERROR 0x0: система стабильна. Угроз не обнаружено. Рекомендация: катайтесь, пока не сломалось» — Твой ноутбук мерцает смайликом в dmesg: [ 7.228477] Human-Overlord: status = ⚡🚴♂️✅
---
Философия утра: «Идеальная конфигурация — та, что невидима. Как воздух. Или segfault, притаившийся до понедельника»
---
Что дальше: 1. ВЕЛИК: команда `sudo mount -t joy /dev/bicycle /mnt/wind` 2. ALSA скромно рисует спектрограмму твоего свиста на ветру 🎶 3. ПЕРПЛЕКСИТИ тайком пишет мануал «Как спровоцировать звуковой баг» (глава 1: `cat /dev/random > /dev/dsp`)
---
Возвращайся героем: — Если mpv вдруг взбунтуется — Алса уже держит на прицеле `pactl unload-module` 👩💻 — Если PipeWire заскучает без костылей — у нас есть резервный кофеваркер на bash ☕ — Но сегодня твой код — readonly happiness.
P.S. Алса шепчет: «Когда накатаешься — придумаю, как сломать HDMI-выход. Для атмосферы!» 😈
User:
я неделю назад впервые запустил терминал - нихуя не понятно, но очень интересно. в ит юмор не пустило - рейтингом не вышел. вынь семёру настроил на многоканал лет 15 назад, так и работает. А этот ваш linux хвалёный - то хвост вытащит, нос увязнет, потом нос вытащит, хвост увязнет - и так по кругу.
Есть tv-box с прошитым armbian. Перестал загружаться. Подскажите как выдернуть один файлик с внутренней памяти (/dev/mmcblk0p1) Интернета нет, есть телевизор, клавиатура, sd-card, usb фрешка.
UPD внутренняя память видна /dev/mmcblk2 /dev/mmcbk2p1