From: Leonid Krivoshein <klark.devel@gmail.com> To: devel@lists.altlinux.org Subject: Re: [devel] /dev/shm Date: Fri, 30 Aug 2019 07:30:30 +0300 Message-ID: <98bca091-4c6e-989f-1371-709a2a656be2@gmail.com> (raw) In-Reply-To: <20190830002750.GA19971@altlinux.org> 30.08.2019 03:27, Dmitry V. Levin пишет: > On Fri, Aug 30, 2019 at 02:39:34AM +0300, Leonid Krivoshein wrote: >> [...] >> Ещё одна tmpfs... > Ещё и с существенно отличающимися параметрами монтирования. Если это имеет существенное значение для хэшера, тогда понятно. Но так ли нужные отличающиеся параметры монтирования (несколько экземпляров tmpfs) в обычной системе *по умолчанию*? >> А как это всё соотносится с повсеместной тенденцией иметь всё-таки ОДНУ >> tmpfs на каждую систему? > Интересно, где наблюдается такая тенденция? Похоже, насчёт повсеместности я несколько перегнул. Посмотрел скелеты базовых систем разных дистрибутивов, тенденция не прослеживается. Кто во что горазд, даже чаще встречается отказ от /bin -> /usr/bin, от /sbin -> /usr/sbin и от /lib64 -> /usr/lib64. В Debian на такую схему перешли в 2013 для упрощения перехода из stage1 в stage2 (один mount --move /run вместо дюжины). FHS явно описывает разное назначение для этих каталогов: /tmp может быть tmpfs, но может быть и частью корневой системы, /run должна быть tmpfs, но преемственность с /var/run подразумевает и её чистку при загрузке, /dev/shm вообще не затрагивается FHS, но это всегда только tmpfs и отказаться от неё практически невозможно. То есть, FHS здесь можно трактовать по-разному, в том числе, в пользу объединения. Контроль над параметрами монтирования различных tmpfs или пересоздания каталогов при запуске, помимо статических записей в /etc/fstab, предусмотрен только для /tmp (в каких-нибудь /etc/default/tmpfs или /etc/tmpfiles.d/*.conf), да и логика подталкивает к тому, что /run и /tmp очень схожи по сути. Для многопользовательских систем systemd отделяет /run/user/$UID, хотя у нас есть свой /tmp/.private/$USER, но на общем разделе /tmp. Для типичной однопользовательской системы нет особой нужды иметь столько TMPDIR'ов. Если корневая система только для чтения, вполне логично, что у нас могут быть проблемы и с /root/tmp, и с /etc/udev/hwdb.bin (rpm -V udev, по-хорошему надо тоже линковать в /run/udev, поскольку создаётся при каждой загрузке). По FHS опять же /root необязателен, на практике без него встречал только некоторые busybox-образы, а тот факт, что для рута могут использоваться и /root/tmp, и /tmp немного вводит в замешательство. Короче, клоню к тому, что проще администрировать одну tmpfs. > >> к тому же всё делается на tmpfs хостовой системы. > Хостовая файловая система, вообще говоря, не обязана быть tmpfs. Да, но так ведь практика... >> Раз пошли вслед за остальными в этом вопросе (имеются ввиду симлинки >> /var/run -> /run и /var/lock -> /run/lock), логичнее было бы довести это >> до ума с остальными каталогами, которые также всегда были tmpfs. Чтобы >> на каждую систему была только одна tmpfs: >> >> /dev/.* -> /run/* (к примеру /dev/.udev -> /run/udev) >> /dev/shm -> /run/shm > Интересно, а что такое /run/shm? Подкаталог, создаваемый при каждом запуске после монтирования tmpfs в /run (в Debian и основанных на нём). >> /dev/shm/* -> /run/* > Прямо в run? Да. Наверное, имеются ввиду всякие X-овые в первую очередь программы, всякие СУБД, которые раньше использовали для тех же целей /dev/shm -- теперь они могут использовать непосредственно /run, та же tmpfs. >> /tmp -> /run/tmp > Интересно, а что такое /run/tmp? Тоже подкаталог, как и /run/shm. Но я проверил, это далеко не везде так. > Раньше размер /tmp на порядки превышал размер /run; > с тех пор что-то изменилось? Поскольку речь идёт о делёжке RAM+SWAP, придумывать жёсткие лимиты на каждый случай для схожих задач незачем. Ничто не мешает закрутить гайки на конкретной системе, если цели оправданы. Сейчас же мне это видится скорее вредным, раз всё так перемешалось и программы могут использовать разные пути для своих задач. > У разных tmpfs разные задачи и, как следствие, разные параметры > монтирования. Разные только в плане ограничения по размеру (айнодам). Так-то задача tmpfs иметь быстрый доступ к данным и не захламлять диск. Большая часть других ограничений решается дискретной моделью доступа к подкаталогам в /run и общим для всего tmpfs (/run) "nosuid,noexec". Тем, кто собирает на tmpfs хэшером или mkimage это, понятно, не подходит. Но ведь не все пользователи альта занимаются сборкой, скорее меньшинство, а дефолт /tmp сейчас для сборщиков в ущерб безопасности. Вот для них (для нас то есть) /tmp можно отделить причём даже не весь /tmp, а только $TMPDIR. -- Best regards, Leonid Krivoshein.
next prev parent reply other threads:[~2019-08-30 4:30 UTC|newest] Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top 2019-08-28 8:27 ` [devel] Fwd: [cyber] I: Sisyphus-20190827 x86_64 beehive_status: +34 -5 (105) Levin Stanislav 2019-08-28 9:04 ` [devel] /dev/shm Dmitry V. Levin 2019-08-28 9:55 ` Dmitry V. Levin 2019-08-28 9:58 ` Anton Farygin 2019-08-28 10:03 ` Валерий Иноземцев 2019-08-28 10:13 ` Dmitry V. Levin 2019-08-28 10:57 ` Dmitry V. Levin 2019-08-29 0:56 ` Alexey Shabalin 2019-08-28 13:54 ` Dmitry V. Levin 2019-08-28 14:33 ` Alexey Gladkov 2019-08-28 15:02 ` Dmitry V. Levin 2019-08-28 15:11 ` Alexey Gladkov 2019-08-28 15:23 ` Dmitry V. Levin 2019-08-28 18:08 ` Alexey Gladkov 2019-08-28 18:11 ` Anton Farygin 2019-08-28 18:24 ` Dmitry V. Levin 2019-08-28 18:45 ` Anton Farygin 2019-08-28 18:50 ` Anton Farygin 2019-08-28 18:59 ` Dmitry V. Levin 2019-08-29 21:08 ` Dmitry V. Levin 2019-08-28 18:15 ` Dmitry V. Levin 2019-08-28 19:50 ` Alexey Gladkov 2019-08-28 20:53 ` Dmitry V. Levin 2019-08-28 21:46 ` Alexey Gladkov 2019-08-28 22:52 ` Dmitry V. Levin 2019-08-29 13:58 ` Andrey Savchenko 2019-08-29 19:24 ` Dmitry V. Levin 2019-08-29 19:36 ` Anton Farygin 2019-08-29 23:39 ` Leonid Krivoshein 2019-08-30 0:27 ` Dmitry V. Levin 2019-08-30 4:30 ` Leonid Krivoshein [this message] 2019-08-28 16:31 ` Stanislav Levin
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=98bca091-4c6e-989f-1371-709a2a656be2@gmail.com \ --to=klark.devel@gmail.com \ --cc=devel@lists.altlinux.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
ALT Linux Team development discussions This inbox may be cloned and mirrored by anyone: git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \ devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru public-inbox-index devel Example config snippet for mirrors. Newsgroup available over NNTP: nntp://lore.altlinux.org/org.altlinux.lists.devel AGPL code for this site: git clone https://public-inbox.org/public-inbox.git