LINUXTALKS.CO

Лёня опять залил говна в дупу

 ,

L


0

1

Котаны, возникла сегодня охуенная ситуация.
Короче, с утра на кудахтере не запускаются никакие графические приложения. Даже перезагрузить и выключить через меню нельзя, диалог не появляется.
Хорошо, хоть был запущен 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), который стабилизировался уже как пару месяцев назад.

Такие дела.

★★★★★★★★★★★
Ответ на: комментарий от Anoxemian

.xauth в tmp

Фиг с ним с xauth, а если бы в /tmp какие важные данные хранились? В каком стандарте написано, что файлы из tmp надо удалять через 10 дней?

TheAnonymous    
★★★★★★★★★★★
Linux / Firefox

гента… 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.

crypt    
★★★☆☆
FreeBSD / Chrome
Ответ на: комментарий от TheAnonymous

В каком стандарте написано

а еще правильнее: а есть ли у нас вообще сейчас стандарты на линукс или каждый редхат просто импровизирует?

все эти симлинки, которые они насоздавали?

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

это стандарт что ли?

crypt    
★★★☆☆
Последнее исправление: crypt (всего исправлений: 1)

FreeBSD / Chrome
Ответ на: комментарий от TheAnonymous

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.

Anoxemian    
★★
Android / Chrome
Ответ на: комментарий от crypt

плохая интеграцию разнородных систем

На мой взгляд, проблема в том, что эти системы слишком много на себя берут.
Ладно, если это готовый дистрибутив, куда надо только тыкать мышкой, но тут самые базовые компоненты превращаются в грёбаный комбайн, который живёт своей жизнью, и сам делает то, чего от него не ожидаешь. По сути, tmpfiles был нужен, чтобы при загрузке создавать временные папки и всякие pid-файлы в /run для демонов, а он внезапно начинает хозяйничать, удалять «старые» файлы, запускаясь по таймеру. И это не сам systemd, а его малюсенький кусочек

TheAnonymous    
★★★★★★★★★★★
Linux / Firefox
Ответ на: комментарий от Anoxemian

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, тогда содержимое будет очищаться при перезагрузке, но про то, чтобы оно по планировщику внезапно удалялось, речи не идёт.

TheAnonymous    
★★★★★★★★★★★
Последнее исправление: TheAnonymous (всего исправлений: 1)

Linux / Firefox

Пацаны!

А леня не пробовал вообще, перед тем как сносить файлы по крону, проверять не открыт ли часом энтот файл кем-то?

JamesHolden    
★★★★★★★
Последнее исправление: JamesHolden (всего исправлений: 1)

Android / Chrome
Ответ на: комментарий от TheAnonymous

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

или слишком мало. вот если бы у тебя systemd заодно рулил файлами графических сессий, как это делается в Gnome на дистрах от RH, у тебя бы не вышло этой проблемы. так что смотря как смотреть.

смысл в том, что такие вещи должны быть продуманы в рамках единого дизайна, а не конструктора «собери сам».

crypt    
★★★☆☆
Последнее исправление: crypt (всего исправлений: 1)

FreeBSD / Chrome

Хорошо, хоть был запущен yakuake, который продолжал работать, и через него удалось выяснить, что файл xauth - того.

Позорник, в чём проблема нажать CtrL+Alt+F1 и залогинится в консоли?

torvn77    
★★★
Последнее исправление: torvn77 (всего исправлений: 1)

Android / Chrome
Ответ на: комментарий от JamesHolden

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

Вот и потный не хочет, потому удаляет без проверки.

deep-purple    
★★★★★★★★★★
Android / Firefox