* [devel] Как пройти сборку если требуется /dev/shm ? @ 2014-12-29 14:32 Andrew V. Stepanov 2014-12-30 13:53 ` Andrew V. Stepanov 0 siblings, 1 reply; 14+ messages in thread From: Andrew V. Stepanov @ 2014-12-29 14:32 UTC (permalink / raw) To: devel При сборке RPM пакета, требуется /dev/shm А именно, SemLock.__init__(self, SEMAPHORE, 1, 1) File "/usr/lib64/python2.7/multiprocessing/synchronize.py", line 75, in __init__ sl = self._semlock = _multiprocessing.SemLock(kind, value, maxvalue) OSError: [Errno 38] Function not implemented Как лучше поступить в данном случае? Я понимаю что можно внести разрешить /dev/shm в конфиге hasher-priv..но это локальное решение. ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [devel] Как пройти сборку если требуется /dev/shm ? 2014-12-29 14:32 [devel] Как пройти сборку если требуется /dev/shm ? Andrew V. Stepanov @ 2014-12-30 13:53 ` Andrew V. Stepanov 2014-12-31 13:57 ` Alexander Bokovoy 2015-01-01 20:41 ` Dmitry V. Levin 0 siblings, 2 replies; 14+ messages in thread From: Andrew V. Stepanov @ 2014-12-30 13:53 UTC (permalink / raw) To: devel Как выяснилось, Python тут ни причем. Рассмотрим компьютер в котором один однопоточный процессор, с одним ядром. И рассмотрим семафор Posix. $ cat 1.c #include <semaphore.h> #include <stdio.h> #include <errno.h> #include <stdlib.h> #include <unistd.h> #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> #include <sys/mman.h> int main(int argc, char **argv) { sem_t *mutex; if ((mutex = sem_open("mysemaphore", O_CREAT, 0644, 1)) == SEM_FAILED) { perror("semaphore initilization"); exit(1); } exit(0); } $ gcc 1.c -lpthread $ ./a.out semaphore initilization: Function not implemented Т.е. POSIX семафоры в Linux хотят /dev/shm Хотеть семафор даже на однопроцессорной машине __вполне законно__. Python multiprocessing модуль написан с использованием POSIX семафоров, что также вполне законно. Что видно: File "/usr/src/RPM/BUILD/bro-2.3.1/aux/btest/btest", line 198, in runSubprocess q = multiprocessing.Queue() File "/usr/lib64/python2.7/multiprocessing/__init__.py", line 218, in Queue return Queue(maxsize) File "/usr/lib64/python2.7/multiprocessing/queues.py", line 63, in __init__ self._rlock = Lock() File "/usr/lib64/python2.7/multiprocessing/synchronize.py", line 147, in __init__ SemLock.__init__(self, SEMAPHORE, 1, 1) File "/usr/lib64/python2.7/multiprocessing/synchronize.py", line 75, in __init__ sl = self._semlock = _multiprocessing.SemLock(kind, value, maxvalue) OSError: [Errno 38] Function not implemented Семафоры нужны даже на однопоточных машинах. А POSIX семафоры хотят /dev/shm В конкретно в моем случае: http://git.altlinux.org/gears/p/python.git?p=python.git;a=blob;f=Python/Modules/_multiprocessing/semaphore.c;h=b9e8f345fbb1cd70918fb960377dadaea46fd8f3;hb=55198a185eef2089e6f4eba8654c5d9047a3c3a7#l195 Вывод: Hasher запрещает использование POSIX named semaphore. ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [devel] Как пройти сборку если требуется /dev/shm ? 2014-12-30 13:53 ` Andrew V. Stepanov @ 2014-12-31 13:57 ` Alexander Bokovoy 2015-01-01 20:41 ` Dmitry V. Levin 1 sibling, 0 replies; 14+ messages in thread From: Alexander Bokovoy @ 2014-12-31 13:57 UTC (permalink / raw) To: ALT Linux Team development discussions 2014-12-30 15:53 GMT+02:00 Andrew V. Stepanov <stanv@altlinux.ru>: > > Как выяснилось, Python тут ни причем. > > Рассмотрим компьютер в котором один однопоточный процессор, с одним ядром. > > И рассмотрим семафор Posix. > > $ cat 1.c > #include <semaphore.h> > #include <stdio.h> > #include <errno.h> > #include <stdlib.h> > #include <unistd.h> > #include <sys/types.h> > > #include <sys/stat.h> > #include <fcntl.h> > #include <sys/mman.h> > > int main(int argc, char **argv) > { > sem_t *mutex; > > if ((mutex = sem_open("mysemaphore", O_CREAT, 0644, 1)) == > SEM_FAILED) { > perror("semaphore initilization"); > exit(1); > } > > exit(0); > } > > > > $ gcc 1.c -lpthread > > $ ./a.out > semaphore initilization: Function not implemented > > Т.е. POSIX семафоры в Linux хотят /dev/shm > > Хотеть семафор даже на однопроцессорной машине __вполне законно__. > > > Python multiprocessing модуль написан с использованием POSIX семафоров, что > также вполне законно. > > > Что видно: > File "/usr/src/RPM/BUILD/bro-2.3.1/aux/btest/btest", line 198, in > runSubprocess > q = multiprocessing.Queue() > File "/usr/lib64/python2.7/multiprocessing/__init__.py", line 218, in > Queue > return Queue(maxsize) > File "/usr/lib64/python2.7/multiprocessing/queues.py", line 63, in > __init__ > self._rlock = Lock() > File "/usr/lib64/python2.7/multiprocessing/synchronize.py", line 147, in > __init__ > SemLock.__init__(self, SEMAPHORE, 1, 1) > File "/usr/lib64/python2.7/multiprocessing/synchronize.py", line 75, in > __init__ > sl = self._semlock = _multiprocessing.SemLock(kind, value, maxvalue) > OSError: [Errno 38] Function not implemented > > > Семафоры нужны даже на однопоточных машинах. > А POSIX семафоры хотят /dev/shm > > В конкретно в моем случае: > > http://git.altlinux.org/gears/p/python.git?p=python.git;a=blob;f=Python/Modules/_multiprocessing/semaphore.c;h=b9e8f345fbb1cd70918fb960377dadaea46fd8f3;hb=55198a185eef2089e6f4eba8654c5d9047a3c3a7#l195 > > Вывод: Hasher запрещает использование POSIX named semaphore. Учитывая, что /dev/shm может быть смонтировано в приватное адресное пространство на современных ядрах, ничего не мешает хэшеру использовать /dev/shm для сборки приложений. -- / Alexander Bokovoy ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [devel] Как пройти сборку если требуется /dev/shm ? 2014-12-30 13:53 ` Andrew V. Stepanov 2014-12-31 13:57 ` Alexander Bokovoy @ 2015-01-01 20:41 ` Dmitry V. Levin 2015-01-12 12:30 ` Anton Farygin 1 sibling, 1 reply; 14+ messages in thread From: Dmitry V. Levin @ 2015-01-01 20:41 UTC (permalink / raw) To: ALT Devel discussion list [-- Attachment #1: Type: text/plain, Size: 797 bytes --] Hi, On Tue, Dec 30, 2014 at 04:53:59PM +0300, Andrew V. Stepanov wrote: > И рассмотрим семафор Posix. > > $ cat 1.c > #include <semaphore.h> > #include <stdio.h> > #include <errno.h> > #include <stdlib.h> > #include <unistd.h> > #include <sys/types.h> > > #include <sys/stat.h> > #include <fcntl.h> > #include <sys/mman.h> > > int main(int argc, char **argv) > { > sem_t *mutex; > > if ((mutex = sem_open("mysemaphore", O_CREAT, 0644, 1)) == > SEM_FAILED) { > perror("semaphore initilization"); > exit(1); > } > > exit(0); > } > > $ gcc 1.c -lpthread > > $ ./a.out > semaphore initilization: Function not implemented Используйте hasher >= 1.3.23-alt1 и собирайте на tmpfs. -- ldv [-- Attachment #2: Type: application/pgp-signature, Size: 181 bytes --] ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [devel] Как пройти сборку если требуется /dev/shm ? 2015-01-01 20:41 ` Dmitry V. Levin @ 2015-01-12 12:30 ` Anton Farygin 2015-01-12 13:55 ` Dmitry V. Levin 0 siblings, 1 reply; 14+ messages in thread From: Anton Farygin @ 2015-01-12 12:30 UTC (permalink / raw) To: devel On 01.01.2015 23:41, Dmitry V. Levin wrote: > Hi, > > On Tue, Dec 30, 2014 at 04:53:59PM +0300, Andrew V. Stepanov wrote: >> И рассмотрим семафор Posix. >> >> $ cat 1.c >> #include <semaphore.h> >> #include <stdio.h> >> #include <errno.h> >> #include <stdlib.h> >> #include <unistd.h> >> #include <sys/types.h> >> >> #include <sys/stat.h> >> #include <fcntl.h> >> #include <sys/mman.h> >> >> int main(int argc, char **argv) >> { >> sem_t *mutex; >> >> if ((mutex = sem_open("mysemaphore", O_CREAT, 0644, 1)) == >> SEM_FAILED) { >> perror("semaphore initilization"); >> exit(1); >> } >> >> exit(0); >> } >> >> $ gcc 1.c -lpthread >> >> $ ./a.out >> semaphore initilization: Function not implemented > > Используйте hasher >= 1.3.23-alt1 и собирайте на tmpfs. Дима, а почему такое требование - tmpfs ? мне вот уже давно более удобно в VM пробрасывать ramdisk нужного размера. /dev/vdb 4,0G 1,2G 2,7G 31% /home/rider/hasher Как сделать так, что б оно собиралось у меня локально в моей конфигурации без использования tmpfs ? ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [devel] Как пройти сборку если требуется /dev/shm ? 2015-01-12 12:30 ` Anton Farygin @ 2015-01-12 13:55 ` Dmitry V. Levin 2015-01-12 14:15 ` Dmitry V. Levin 0 siblings, 1 reply; 14+ messages in thread From: Dmitry V. Levin @ 2015-01-12 13:55 UTC (permalink / raw) To: ALT Devel discussion list [-- Attachment #1: Type: text/plain, Size: 574 bytes --] On Mon, Jan 12, 2015 at 03:30:16PM +0300, Anton Farygin wrote: > On 01.01.2015 23:41, Dmitry V. Levin wrote: [...] > >Используйте hasher >= 1.3.23-alt1 и собирайте на > >tmpfs. > > Дима, а почему такое требование - tmpfs ? sem_open(3) требует, чтобы /dev/shm был на tmpfs (и доступен на запись). Строго говоря, если /dev/shm не на tmpfs, и /proc/mounts доступен на чтение, то sem_open(3) будет пытаться использовать первую попавшуюся в /proc/mounts точку монтирования на tmpfs. Если никаких tmpfs не нашлось, то sem_open(3) работать не будет. -- ldv [-- Attachment #2: Type: application/pgp-signature, Size: 181 bytes --] ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [devel] Как пройти сборку если требуется /dev/shm ? 2015-01-12 13:55 ` Dmitry V. Levin @ 2015-01-12 14:15 ` Dmitry V. Levin 2015-01-12 19:12 ` Anton Farygin 0 siblings, 1 reply; 14+ messages in thread From: Dmitry V. Levin @ 2015-01-12 14:15 UTC (permalink / raw) To: ALT Devel discussion list [-- Attachment #1: Type: text/plain, Size: 724 bytes --] On Mon, Jan 12, 2015 at 04:55:33PM +0300, Dmitry V. Levin wrote: > On Mon, Jan 12, 2015 at 03:30:16PM +0300, Anton Farygin wrote: > > On 01.01.2015 23:41, Dmitry V. Levin wrote: > [...] > > >Используйте hasher >= 1.3.23-alt1 и собирайте на > > >tmpfs. > > > > Дима, а почему такое требование - tmpfs ? > > sem_open(3) требует, чтобы /dev/shm был на tmpfs (и доступен на запись). > Строго говоря, если /dev/shm не на tmpfs, и /proc/mounts доступен на > чтение, то sem_open(3) будет пытаться использовать первую попавшуюся в > /proc/mounts точку монтирования на tmpfs. Если никаких tmpfs не нашлось, > то sem_open(3) работать не будет. Начиная с glibc-2.19-16-g6fc8123, ramfs тоже подойдет. -- ldv [-- Attachment #2: Type: application/pgp-signature, Size: 181 bytes --] ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [devel] Как пройти сборку если требуется /dev/shm ? 2015-01-12 14:15 ` Dmitry V. Levin @ 2015-01-12 19:12 ` Anton Farygin 2015-01-12 19:36 ` Dmitry V. Levin 0 siblings, 1 reply; 14+ messages in thread From: Anton Farygin @ 2015-01-12 19:12 UTC (permalink / raw) To: devel On 12.01.2015 17:15, Dmitry V. Levin wrote: > On Mon, Jan 12, 2015 at 04:55:33PM +0300, Dmitry V. Levin wrote: >> On Mon, Jan 12, 2015 at 03:30:16PM +0300, Anton Farygin wrote: >>> On 01.01.2015 23:41, Dmitry V. Levin wrote: >> [...] >>>> Используйте hasher >= 1.3.23-alt1 и собирайте на >>>> tmpfs. >>> >>> Дима, а почему такое требование - tmpfs ? >> >> sem_open(3) требует, чтобы /dev/shm был на tmpfs (и доступен на запись). >> Строго говоря, если /dev/shm не на tmpfs, и /proc/mounts доступен на >> чтение, то sem_open(3) будет пытаться использовать первую попавшуюся в >> /proc/mounts точку монтирования на tmpfs. Если никаких tmpfs не нашлось, >> то sem_open(3) работать не будет. > > Начиная с glibc-2.19-16-g6fc8123, ramfs тоже подойдет. Ты не понял, ramfs у меня пробрасывается в виде диска в VM. Т.е. - о том, что это RamFS знает только хост система. Для виртуальной машины это обычный диск с файловой системой ext4. А почему ты не хочешь реализовать монтирование /dev/shm в сборочный чрут ? Как заметил Саша Боковой в соседнем письме - namespace поможет изолировать адресное пространство. ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [devel] Как пройти сборку если требуется /dev/shm ? 2015-01-12 19:12 ` Anton Farygin @ 2015-01-12 19:36 ` Dmitry V. Levin 2015-01-13 11:55 ` Anton Farygin 0 siblings, 1 reply; 14+ messages in thread From: Dmitry V. Levin @ 2015-01-12 19:36 UTC (permalink / raw) To: ALT Devel discussion list [-- Attachment #1: Type: text/plain, Size: 1738 bytes --] On Mon, Jan 12, 2015 at 10:12:06PM +0300, Anton Farygin wrote: > On 12.01.2015 17:15, Dmitry V. Levin wrote: > >On Mon, Jan 12, 2015 at 04:55:33PM +0300, Dmitry V. Levin wrote: > >>On Mon, Jan 12, 2015 at 03:30:16PM +0300, Anton Farygin wrote: > >>>On 01.01.2015 23:41, Dmitry V. Levin wrote: > >>[...] > >>>>Используйте hasher >= 1.3.23-alt1 и собирайте на > >>>>tmpfs. > >>> > >>>Дима, а почему такое требование - tmpfs ? > >> > >>sem_open(3) требует, чтобы /dev/shm был на tmpfs (и > >>доступен на запись). > >>Строго говоря, если /dev/shm не на tmpfs, и > >>/proc/mounts доступен на > >>чтение, то sem_open(3) будет пытаться > >>использовать первую попавшуюся в > >>/proc/mounts точку монтирования на tmpfs. Если > >>никаких tmpfs не нашлось, > >>то sem_open(3) работать не будет. > > > >Начиная с glibc-2.19-16-g6fc8123, ramfs тоже подойдет. > > Ты не понял, ramfs у меня пробрасывается в > виде диска в VM. > > Т.е. - о том, что это RamFS знает только хост > система. Для виртуальной машины это > обычный диск с файловой системой ext4. > > А почему ты не хочешь реализовать > монтирование /dev/shm в сборочный чрут ? Поскольку я собираю на tmpfs, у меня уже давно все работает. :) Там возникнет конфликт прав доступа к chroot/dev/shm, который еще надо придумать, как разрешить: - если chroot/dev/shm уже на tmpfs, то псевдопользователь #2 должен иметь доступ к нему на запись; - если chroot/dev/shm должен быть смонтирован, то на права доступа к нему налагаются сильные ограничения. > Как > заметил Саша Боковой в соседнем письме - > namespace поможет изолировать адресное > пространство. hasher-priv >= 1.4.0-alt1 уже выполняет unshare(CLONE_NEWNS) автоматически. [-- Attachment #2: Type: application/pgp-signature, Size: 181 bytes --] ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [devel] Как пройти сборку если требуется /dev/shm ? 2015-01-12 19:36 ` Dmitry V. Levin @ 2015-01-13 11:55 ` Anton Farygin 2015-01-16 14:54 ` Dmitry V. Levin 0 siblings, 1 reply; 14+ messages in thread From: Anton Farygin @ 2015-01-13 11:55 UTC (permalink / raw) To: devel On 12.01.2015 22:36, Dmitry V. Levin wrote: > On Mon, Jan 12, 2015 at 10:12:06PM +0300, Anton Farygin wrote: >> On 12.01.2015 17:15, Dmitry V. Levin wrote: >>> On Mon, Jan 12, 2015 at 04:55:33PM +0300, Dmitry V. Levin wrote: >>>> On Mon, Jan 12, 2015 at 03:30:16PM +0300, Anton Farygin wrote: >>>>> On 01.01.2015 23:41, Dmitry V. Levin wrote: >>>> [...] >>>>>> Используйте hasher >= 1.3.23-alt1 и собирайте на >>>>>> tmpfs. >>>>> >>>>> Дима, а почему такое требование - tmpfs ? >>>> >>>> sem_open(3) требует, чтобы /dev/shm был на tmpfs (и >>>> доступен на запись). >>>> Строго говоря, если /dev/shm не на tmpfs, и >>>> /proc/mounts доступен на >>>> чтение, то sem_open(3) будет пытаться >>>> использовать первую попавшуюся в >>>> /proc/mounts точку монтирования на tmpfs. Если >>>> никаких tmpfs не нашлось, >>>> то sem_open(3) работать не будет. >>> >>> Начиная с glibc-2.19-16-g6fc8123, ramfs тоже подойдет. >> >> Ты не понял, ramfs у меня пробрасывается в >> виде диска в VM. >> >> Т.е. - о том, что это RamFS знает только хост >> система. Для виртуальной машины это >> обычный диск с файловой системой ext4. >> >> А почему ты не хочешь реализовать >> монтирование /dev/shm в сборочный чрут ? > > Поскольку я собираю на tmpfs, у меня уже давно все работает. :) Ну так надо тогда сказать, что hasher'ом можно пользоваться только на TMPFS со всеми вытекающими ограничениями. В некоторых местах большой tmpfs невозможен без свопа. > > Там возникнет конфликт прав доступа к chroot/dev/shm, который еще надо > придумать, как разрешить: > - если chroot/dev/shm уже на tmpfs, то псевдопользователь #2 должен иметь > доступ к нему на запись; А чем тебя не устраивает 777 на chroot/dev/shm ? > - если chroot/dev/shm должен быть смонтирован, то на права доступа к нему > налагаются сильные ограничения. > ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [devel] Как пройти сборку если требуется /dev/shm ? 2015-01-13 11:55 ` Anton Farygin @ 2015-01-16 14:54 ` Dmitry V. Levin 2015-01-16 19:07 ` Anton Farygin 0 siblings, 1 reply; 14+ messages in thread From: Dmitry V. Levin @ 2015-01-16 14:54 UTC (permalink / raw) To: ALT Devel discussion list [-- Attachment #1: Type: text/plain, Size: 812 bytes --] On Tue, Jan 13, 2015 at 02:55:13PM +0300, Anton Farygin wrote: > On 12.01.2015 22:36, Dmitry V. Levin wrote: [...] > >Там возникнет конфликт прав доступа к > >chroot/dev/shm, который еще надо > >придумать, как разрешить: > >- если chroot/dev/shm уже на tmpfs, то > >псевдопользователь #2 должен иметь > >доступ к нему на запись; > > А чем тебя не устраивает 777 на chroot/dev/shm ? Там сейчас 1777, и это устраивало всех, кроме процедуры монтирования. > >- если chroot/dev/shm должен быть смонтирован, > >то на права доступа к нему > >налагаются сильные ограничения. Я почти убедился в том, что в режиме mount namespace isolation права доступа 1777 новых угроз не создают. Интересно, сколько nr_blocks и nr_inodes необходимо давать для /dev/shm в чруте по умолчанию? -- ldv [-- Attachment #2: Type: application/pgp-signature, Size: 181 bytes --] ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [devel] Как пройти сборку если требуется /dev/shm ? 2015-01-16 14:54 ` Dmitry V. Levin @ 2015-01-16 19:07 ` Anton Farygin 2015-01-16 19:54 ` Dmitry V. Levin 0 siblings, 1 reply; 14+ messages in thread From: Anton Farygin @ 2015-01-16 19:07 UTC (permalink / raw) To: devel On 16.01.2015 17:54, Dmitry V. Levin wrote: > On Tue, Jan 13, 2015 at 02:55:13PM +0300, Anton Farygin wrote: >> On 12.01.2015 22:36, Dmitry V. Levin wrote: > [...] >>> Там возникнет конфликт прав доступа к >>> chroot/dev/shm, который еще надо >>> придумать, как разрешить: >>> - если chroot/dev/shm уже на tmpfs, то >>> псевдопользователь #2 должен иметь >>> доступ к нему на запись; >> >> А чем тебя не устраивает 777 на chroot/dev/shm ? > > Там сейчас 1777, и это устраивало всех, кроме процедуры монтирования. > >>> - если chroot/dev/shm должен быть смонтирован, >>> то на права доступа к нему >>> налагаются сильные ограничения. > > Я почти убедился в том, что в режиме mount namespace isolation права > доступа 1777 новых угроз не создают. > > Интересно, сколько nr_blocks и nr_inodes необходимо давать для /dev/shm > в чруте по умолчанию? Это не имеет никакого значения - сейчас ты даёшь на сборочнице явно больше, чем любое ограничение. Кстати, что будет на сборочнице, если некий пакет случайно создаст очень много мусора в /dev/shm в сборочном чруте ? Это же можно и сейчас проверить ? ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [devel] Как пройти сборку если требуется /dev/shm ? 2015-01-16 19:07 ` Anton Farygin @ 2015-01-16 19:54 ` Dmitry V. Levin 2015-01-16 20:06 ` Anton Farygin 0 siblings, 1 reply; 14+ messages in thread From: Dmitry V. Levin @ 2015-01-16 19:54 UTC (permalink / raw) To: ALT Devel discussion list [-- Attachment #1: Type: text/plain, Size: 1760 bytes --] On Fri, Jan 16, 2015 at 10:07:57PM +0300, Anton Farygin wrote: > On 16.01.2015 17:54, Dmitry V. Levin wrote: > >On Tue, Jan 13, 2015 at 02:55:13PM +0300, Anton Farygin wrote: > >>On 12.01.2015 22:36, Dmitry V. Levin wrote: > >[...] > >>>Там возникнет конфликт прав доступа к > >>>chroot/dev/shm, который еще надо > >>>придумать, как разрешить: > >>>- если chroot/dev/shm уже на tmpfs, то > >>>псевдопользователь #2 должен иметь > >>>доступ к нему на запись; > >> > >>А чем тебя не устраивает 777 на chroot/dev/shm ? > > > >Там сейчас 1777, и это устраивало всех, > >кроме процедуры монтирования. > > > >>>- если chroot/dev/shm должен быть смонтирован, > >>>то на права доступа к нему > >>>налагаются сильные ограничения. > > > >Я почти убедился в том, что в режиме mount > >namespace isolation права > >доступа 1777 новых угроз не создают. > > > >Интересно, сколько nr_blocks и nr_inodes > >необходимо давать для /dev/shm > >в чруте по умолчанию? > > Это не имеет никакого значения Речь идет об умолчаниях, которые будут зашиты в hasher-priv/mount.c > - сейчас > ты даёшь на сборочнице явно больше, чем > любое ограничение. Сборочница тут вообще не при чем: все сборочные узлы бездисковые, там все на tmpfs, и /dev/shm там монтировать незачем. > Кстати, что будет на сборочнице, если > некий пакет случайно создаст очень много > мусора в /dev/shm в сборочном чруте ? Сборочнице все равно, где пакет размещает свой мусор. У каждого сборочного потока действует свой memory.limit_in_bytes. > Это же можно и сейчас проверить ? Да проверяли уже. http://lists.altlinux.org/pipermail/devel/2014-September/199034.html http://lists.altlinux.org/pipermail/devel/2014-September/199054.html -- ldv [-- Attachment #2: Type: application/pgp-signature, Size: 181 bytes --] ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [devel] Как пройти сборку если требуется /dev/shm ? 2015-01-16 19:54 ` Dmitry V. Levin @ 2015-01-16 20:06 ` Anton Farygin 0 siblings, 0 replies; 14+ messages in thread From: Anton Farygin @ 2015-01-16 20:06 UTC (permalink / raw) To: devel On 16.01.2015 22:54, Dmitry V. Levin wrote: > On Fri, Jan 16, 2015 at 10:07:57PM +0300, Anton Farygin wrote: >> On 16.01.2015 17:54, Dmitry V. Levin wrote: >>> On Tue, Jan 13, 2015 at 02:55:13PM +0300, Anton Farygin wrote: >>>> On 12.01.2015 22:36, Dmitry V. Levin wrote: >>> [...] >>>>> Там возникнет конфликт прав доступа к >>>>> chroot/dev/shm, который еще надо >>>>> придумать, как разрешить: >>>>> - если chroot/dev/shm уже на tmpfs, то >>>>> псевдопользователь #2 должен иметь >>>>> доступ к нему на запись; >>>> >>>> А чем тебя не устраивает 777 на chroot/dev/shm ? >>> >>> Там сейчас 1777, и это устраивало всех, >>> кроме процедуры монтирования. >>> >>>>> - если chroot/dev/shm должен быть смонтирован, >>>>> то на права доступа к нему >>>>> налагаются сильные ограничения. >>> >>> Я почти убедился в том, что в режиме mount >>> namespace isolation права >>> доступа 1777 новых угроз не создают. >>> >>> Интересно, сколько nr_blocks и nr_inodes >>> необходимо давать для /dev/shm >>> в чруте по умолчанию? >> >> Это не имеет никакого значения > > Речь идет об умолчаниях, которые будут зашиты в hasher-priv/mount.c Я понял. Дима, на твоё усмотрение. Там много не надо. На работающей системе больше 10 файлов в /dev/shm/ не видел. Объём. Да кто ж его знает. Ну сделай мегабайт 20, хватит за глаза. Правда я б честно не стал бы вообще ограничения по объёму вводить. > >> - сейчас >> ты даёшь на сборочнице явно больше, чем >> любое ограничение. > > Сборочница тут вообще не при чем: все сборочные узлы бездисковые, > там все на tmpfs, и /dev/shm там монтировать незачем. Да, но и ограничений нет. точнее ограничения есть для потока. > >> Кстати, что будет на сборочнице, если >> некий пакет случайно создаст очень много >> мусора в /dev/shm в сборочном чруте ? > > Сборочнице все равно, где пакет размещает свой мусор. > У каждого сборочного потока действует свой memory.limit_in_bytes. А, точно. там общий лимит на память. > >> Это же можно и сейчас проверить ? > > Да проверяли уже. > http://lists.altlinux.org/pipermail/devel/2014-September/199034.html > http://lists.altlinux.org/pipermail/devel/2014-September/199054.html ^ permalink raw reply [flat|nested] 14+ messages in thread
end of thread, other threads:[~2015-01-16 20:06 UTC | newest] Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2014-12-29 14:32 [devel] Как пройти сборку если требуется /dev/shm ? Andrew V. Stepanov 2014-12-30 13:53 ` Andrew V. Stepanov 2014-12-31 13:57 ` Alexander Bokovoy 2015-01-01 20:41 ` Dmitry V. Levin 2015-01-12 12:30 ` Anton Farygin 2015-01-12 13:55 ` Dmitry V. Levin 2015-01-12 14:15 ` Dmitry V. Levin 2015-01-12 19:12 ` Anton Farygin 2015-01-12 19:36 ` Dmitry V. Levin 2015-01-13 11:55 ` Anton Farygin 2015-01-16 14:54 ` Dmitry V. Levin 2015-01-16 19:07 ` Anton Farygin 2015-01-16 19:54 ` Dmitry V. Levin 2015-01-16 20:06 ` Anton Farygin
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