Котаны, возникла сегодня охуенная ситуация. Короче, с утра на кудахтере не запускаются никакие графические приложения. Даже перезагрузить и выключить через меню нельзя, диалог не появляется. Хорошо, хоть был запущен yakuake, который продолжал работать, и через него удалось выяснить, что файл xauth - того. И тут первый момент, начиная с sddm 0.20 этот файл создаётся не в домашней папке (~/.Xauthority как раньше), а в /tmp/xauth_… Так вот, на директории /tmp было время модификации 3 часа ночи. В логе в это время как раз отработал cron. А в кроне есть такой любопытный скрипт systemd-tmpfiles-clean , который запускает systemd-tmpfiles --clean Но у меня же гента с openrc, какой нафиг systemd? А вот так, куски этого скверного поделия пробрались и сюда (как udev, logind). Раньше была баш-портянка в составе openrc “opentmpfiles”, но это было немодно и немолодёжно, поэтому её deprecated, и теперь с гентой идёт ещё один кусок лёниной поделки. И вот этот кусок, как оказалось, заодно по дефолту втихаря чистит /tmp, ломая систему. А, ещё, мякотка в том, что удаляются файлы 10-дневной давности, и обнаружилось всё потому, что у меня внезапно образовался аптайм как раз 10 дней. А так то вродё всё работает, и с новым sddm (где xauth в /tmp), который стабилизировался уже как пару месяцев назад. Такие дела.
А не думаешь ли ты, котан, что мудак конкретно в этом кейсе не лёня, а тот кто сломал стандарт и впихнул .xauth в tmp?
«.xauth в tmp» Фиг с ним с xauth, а если бы в /tmp какие важные данные хранились? В каком стандарте написано, что файлы из tmp надо удалять через 10 дней?
В каком стандарте написано
а еще правильнее: а есть ли у нас вообще сейчас стандарты на линукс или каждый редхат просто импровизирует?
все эти симлинки, которые они насоздавали?
lrwxrwxrwx 1 root root 7 Sep 29 06:06 bin -> usr/bin lrwxrwxrwx 1 root root 7 Sep 29 06:06 lib -> usr/lib lrwxrwxrwx 1 root root 9 Sep 29 06:06 lib32 -> usr/lib32 lrwxrwxrwx 1 root root 9 Sep 29 06:06 lib64 -> usr/lib64 lrwxrwxrwx 1 root root 10 Sep 29 06:06 libx32 -> usr/libx32 lrwxrwxrwx 1 root root 8 Sep 29 06:06 sbin -> usr/sbinэто стандарт что ли?
man:
The place for small temporary files. This directory is usually mounted as a "tmpfs" instance, and should hence not be used for larger files. (Use /var/tmp/ for larger files.) This directory is usually flushed at boot-up. Also, files that are not accessed within a certain time may be automatically deleted. If applications find the environment variable $TMPDIR set, they should use the directory specified in it instead of /tmp/ (see environ(7) and IEEE Std 1003.1[4] for details). Since /tmp/ is accessible to other users of the system, it is essential that files and subdirectories under this directory are only created with mkstemp(3), mkdtemp(3), and similar calls. For more details, see Using /tmp/ and /var/tmp/ Safely[5].Also, files that are not accessed within a certain time may be automatically deleted.
«man» Это лёнькина ересь А вот что в стандарте «Programs must not assume that any files or directories in /tmp are preserved between invocations of the program.» Но тут то иксы и sddm были всё время запущены. И вообще «Although data stored in /tmp may be deleted in a site-specific manner, it is recommended that files and directories located in /tmp be deleted whenever the system is booted.» Оно логично, если монтировать /tmp в tmpfs, тогда содержимое будет очищаться при перезагрузке, но про то, чтобы оно по планировщику внезапно удалялось, речи не идёт.
гента… systemd… одно г*вно на другом сидит и другим погоняет… это реально все косяки дизайна Linux’a вцелом. так называемый базар по все статьям… плохая интеграцию разнородных систем… тут и поттер виноват, и гентушники и все-все-все, кто в этом принимал участие…
они говорили, что systemd создаст единый стандарт, а в итоге на сосискиной убунту я читаю в крон-файлах:
# Important Note! This cronjob will NOT be executed if you are # running systemd as your init system. If you are running systemd, # the cronjob.timer function takes precedence over this cronjob. For # more details, see the systemd.timer manpage, or use systemctl showотлично! еще одна специфика!
p.s.
переходи на фряху. никаких тебе левых скриптов и тем более никаких systemd.
«плохая интеграцию разнородных систем» На мой взгляд, проблема в том, что эти системы слишком много на себя берут. Ладно, если это готовый дистрибутив, куда надо только тыкать мышкой, но тут самые базовые компоненты превращаются в грёбаный комбайн, который живёт своей жизнью, и сам делает то, чего от него не ожидаешь. По сути, tmpfiles был нужен, чтобы при загрузке создавать временные папки и всякие pid-файлы в /run для демонов, а он внезапно начинает хозяйничать, удалять “старые” файлы, запускаясь по таймеру. И это не сам systemd, а его малюсенький кусочек
На мой взгляд, проблема в том, что эти системы слишком много на себя берут.
или слишком мало. вот если бы у тебя systemd заодно рулил файлами графических сессий, как это делается в Gnome на дистрах от RH, у тебя бы не вышло этой проблемы. так что смотря как смотреть.
смысл в том, что такие вещи должны быть продуманы в рамках единого дизайна, а не конструктора “собери сам”.
вайфай завезли или вы с диалапа капчуете до сих пор?
И тут первый момент, начиная с sddm 0.20
Надо пойти к ним в иссуси и пригрозить кастрацией.
Пацаны!
А леня не пробовал вообще, перед тем как сносить файлы по крону, проверять не открыт ли часом энтот файл кем-то?
Ты хочешь, чтобы от такой замудреной логики системда еле ворочалась на последнем поколении процов?
Вот и потный не хочет, потому удаляет без проверки.
Это фоновая задача по крону, абсолютно пофиг как она там будет ворочаться.
Исходя из того, как пишет потный – оно или будет еле ворочатся или всеравно будет недопроверять и удалять.
Но у меня же гента с openrc
ССЗБ. Используй gentoo с systemd.
Хорошо, хоть был запущен yakuake, который продолжал работать, и через него удалось выяснить, что файл xauth - того.
Позорник, в чём проблема нажать
CtrL+Alt+F1и залогинится в консоли?– Васильиваныч, Анка к белым ползëт!
– Не стреляй, Петька. Это наше бактериологическое оружие.Да ладно, винда тоже не без сюрпризов.








