Re: пакеты: как правильно получить владельца группу файла из скрипта debian/postinst ?
> 22 марта 2017 г., 8:45 пользователь Dmitry Alexandrov написал: >> >> Что это значит «юзер назначит zsh в качастве /bin/sh»? >> Пользователям, очевидно, не дано никаких прав выбирать, на что указывает >> /bin/sh. > > man chsh | NAME |chsh - change login shell | login shell | login >> Если же некто таки умудрится вручную переписать ссылку с /bin/sh на zsh, >> то он несомненно ССЗБ, и подстраиваться под такого настолько же излишне, > > zsh - вполне законный sh и он может работать как /bin/sh. Тов. Никитин утверждает, что zsh(1) несет за собой описанные им проблемы со stat’ом. Я не пользуюсь zsh, и не проверял этого, но у меня нет никаких оснований ему не верить. Впрочем, так это или иначе — это не так важно. Все, что я хотел сказать, — это то, что Дебиан, насколько я знаю, не предоставляет документированных средств для выбора чего-либо, кроме dash’а и bash’а, в качестве /bin/sh. (Да и возможность выбрать ГНУ Баш-то, как мне кажется, предоставляется только для совместимости со старыми выпусками Дебиана). Так что допускать, что /bin/sh окажется zsh’ем, ksh’ем, csh’ем и так далее, не стоит. А то, что могут существовать маргинальные системы, где за /bin/sh служит zsh, а то и что еще более странное, — это понятно. Но в контексте вопроса это не имеет значения — т. Никитин-то пишет сценарий для deb-пакета.
Re: пакеты: как правильно получить владельца группу файла из скрипта debian/postinst ?
22 марта 2017 г., 8:45 пользователь Dmitry Alexandrov написал: > > Что это значит «юзер назначит zsh в качастве /bin/sh»? > Пользователям, очевидно, не дано никаких прав выбирать, на что указывает > /bin/sh. man chsh > Если же некто таки умудрится вручную переписать ссылку с /bin/sh на zsh, > то он несомненно ССЗБ, и подстраиваться под такого настолько же излишне, zsh - вполне законный sh и он может работать как /bin/sh.
Re: пакеты: как правильно получить владельца группу файла из скрипта debian/postinst ?
> LANG=C ls -l1d fileOrDir > как-то диковато > > stat -c "%U %G" fileOrDir > а если (больной) юзер в качестве /bin/sh zsh назначит в котором stat > встроенный и совсем другой ? > > /usr/bin/stat -c "%U %G" fileOrDir >а не будет ли stat в /bin со временем, >и нужна ли завис. от конкретной версии coreutils? > > Есть ли debian-true решение этого вопроса? Все ответы уже даны, я так и не догнал до причины вопроса. Что это значит «юзер назначит zsh в качастве /bin/sh»? Пользователям, очевидно, не дано никаких прав выбирать, на что указывает /bin/sh. Системному же оператору, насколько я вижу, предоставлено лишь две опции: dash (по-умолчанию) и bash (по старинке) — посредством debconf (# dpkg-reconfigure dash), и не предоставлено никакого выбора посредством update-alternatives(1). Если же некто таки умудрится вручную переписать ссылку с /bin/sh на zsh, то он несомненно ССЗБ, и подстраиваться под такого настолько же излишне, насколько под того, кто заменит /bin/cp rsync’ом.
Re: Как предотвратить жёсткие зависания компьютера в ресурсоёмких играх?
В сообщении от [Вт 2017-03-21 19:53 +0300] Max Dmitrichenkoпишет: > Проблема тут не в неисправном железе, не в приоритетах, не в шедулере и не в > подобных "твиках" системы. Происходит тут следущее. Пока есть доступная память > и swap, то ОС активно использует и то, и другое. Но в силу каких-то > особенностей игры, со временем её потребление памяти разрастается, и она > съедает всю доступную память+swap, и запрашивает ещё чуть памяти. Если бы игра > попросила сразу много памяти, то ОС вызвала бы OOM-killer и убила бы игрушку. > Но игрушка просит совсем чуть-чуть. В этот момент Linux начинает очень > странную > борьбу за память. Поскольку выгрузить данные какой-нибудь софтины в swap более > нельзя, Linux начинает выгружать из памяти код запущенных процессов. Сделать > это он имеет право даже при отсутствие swap'а, т.к. копия этого кода есть на > жестком диске и он всегда сможет подгрузить этот код. Дальше начинается > чертовщина, потому что выгруженные процессы начинают просыпаться, и линукс > обратно начинает загружать их с ЖД в память, процесс приобретает > лавинообразный > характер, так как процессы пробуждаются быстрее, чем ОС успевает их > подгружать. > > Весь этот процесс напоминает сцену из фильма "Собачье сердце": когда профессор > передвигался на двух стульях по затопленной квартире - чтобы сделать очередной > шаг, надо освободить первый стул, и переставить его вперед. > > Цейтнот и комп "виснет", так как, чтобы залогиниться и зайти с другой консоли, > нужно выполнить как минимум несколько процессов - подгрузить getty, запустить > процесс login, а потом shell - а все они выгружены из памяти. > > Как бороться? > 1) Увеличить swap. 2 Гб явно маловато. Общие рекомендации для > пользовательского > компьютера состоят в том, что своп должен быть в два раза больше чем объем > RAM. > Если вас останавливает то, что нужно для это переразбивать разделы, то можете > сделать два свопа - один в существующем разделе на 2 Гб, второй просто файлом > на ЖД в любой существующей файловой системе. Однако, если в игрухе течет > память, то это лишь отсрочит сценарий, описанный выше. > > 2) Ограничь игруху (или пользователя брата) в использовании памяти. Как только > она превысит лимит, то будет убита. > > > 20 марта 2017 г., 20:47 пользователь Зиганшин Руслан > > написал: > > Компьютеру почти 11 лет, мат. плата (socket 775, поддержка только > одноядерных процессоров и до 2 гб ddr2 ram) и процессор (pentium 4), как > самые дорогие детали, до сих пор не заменены. Может так зависнуть при игре > младшего брата в garrys mod, что переключение по ctrl+alt+f1 занимает > несколько минут, а потом из-за таймаута не удаётся войти в свою учётку > чтобы если не завершить зависший процесс, то хотя бы выполнить sudo > reboot. > Под своп выделено 2 гб на hdd. На апгрейд пока нет средств. Не знал что линукс может выгружать код запущенных процессов без свопа, киньте ссылку почитать про это. Однако, если такое происходит, тогда остается единственный вариант — загружать всё в память и работать только в ней. То есть вам нужно сделать LiveCD и загрузить его в память. Возьмите готовый [1] на базе например Xfce, там всё как обычно, только рутовый раздел запакован и сжат в Squashfs. Распакуйте, сделайте chroot, удалите офис (и всё что считаете лишним, так как у вас всего 2 ГБ), добавьте вашу игрушку и снова запакуйте. Теперь загружайтесь с параметром toram (загрузить в память). Но прежде чем заморачиваться с LiveCD, попробуйте отключить своп совсем и посмотреть что будет. У меня был комп AMD A4 2 ядра и 2 Гб оперативки я решил провести эксперимент с cgroups [2]. Ограничил браузер Chrome одним ядром и одним гигабайтом оперативки, но разрешил своп и начал открывать вкладки новостных сайтов, дабы создать нагрузку. В какой-то момент, он начал свопить, когда своп достиг примерно 25% от оперативки, зависло всё, так же как и у вас, зайти в консоль и вырубить его занимало несколько минут. Так что увеличение свопа не вариант, можно порекомендовать zRam [3], но у вас мало оперативки, если игрушка активно свопит, то это всё равно не поможет. [1]: https://www.debian.org/CD/live/index.ru.html [2]: https://www.kernel.org/doc/Documentation/cgroup-v1/memory.txt [3]: https://ru.wikipedia.org/wiki/ZRam -- Коротаев Руслан https://blog.kr.pp.ru smime.p7s Description: S/MIME cryptographic signature
Re: Как предотвратить жёсткие зависания компьютера в ресурсоёмких играх?
Сколько "интересных" советов от тех, кто не понимает сути проблемы. Проблема тут не в неисправном железе, не в приоритетах, не в шедулере и не в подобных "твиках" системы. Происходит тут следущее. Пока есть доступная память и swap, то ОС активно использует и то, и другое. Но в силу каких-то особенностей игры, со временем её потребление памяти разрастается, и она съедает всю доступную память+swap, и запрашивает ещё чуть памяти. Если бы игра попросила сразу много памяти, то ОС вызвала бы OOM-killer и убила бы игрушку. Но игрушка просит совсем чуть-чуть. В этот момент Linux начинает очень странную борьбу за память. Поскольку выгрузить данные какой-нибудь софтины в swap более нельзя, Linux начинает выгружать из памяти код запущенных процессов. Сделать это он имеет право даже при отсутствие swap'а, т.к. копия этого кода есть на жестком диске и он всегда сможет подгрузить этот код. Дальше начинается чертовщина, потому что выгруженные процессы начинают просыпаться, и линукс обратно начинает загружать их с ЖД в память, процесс приобретает лавинообразный характер, так как процессы пробуждаются быстрее, чем ОС успевает их подгружать. Весь этот процесс напоминает сцену из фильма "Собачье сердце": когда профессор передвигался на двух стульях по затопленной квартире - чтобы сделать очередной шаг, надо освободить первый стул, и переставить его вперед. Цейтнот и комп "виснет", так как, чтобы залогиниться и зайти с другой консоли, нужно выполнить как минимум несколько процессов - подгрузить getty, запустить процесс login, а потом shell - а все они выгружены из памяти. Как бороться? 1) Увеличить swap. 2 Гб явно маловато. Общие рекомендации для пользовательского компьютера состоят в том, что своп должен быть в два раза больше чем объем RAM. Если вас останавливает то, что нужно для это переразбивать разделы, то можете сделать два свопа - один в существующем разделе на 2 Гб, второй просто файлом на ЖД в любой существующей файловой системе. Однако, если в игрухе течет память, то это лишь отсрочит сценарий, описанный выше. 2) Ограничь игруху (или пользователя брата) в использовании памяти. Как только она превысит лимит, то будет убита. 20 марта 2017 г., 20:47 пользователь Зиганшин Руслан < ziganshinrus...@gmail.com> написал: > Компьютеру почти 11 лет, мат. плата (socket 775, поддержка только > одноядерных процессоров и до 2 гб ddr2 ram) и процессор (pentium 4), как > самые дорогие детали, до сих пор не заменены. Может так зависнуть при игре > младшего брата в garrys mod, что переключение по ctrl+alt+f1 занимает > несколько минут, а потом из-за таймаута не удаётся войти в свою учётку > чтобы если не завершить зависший процесс, то хотя бы выполнить sudo reboot. > Под своп выделено 2 гб на hdd. На апгрейд пока нет средств. > -- With best regards Max Dmitrichenko
Validation failed
*** Errors validating /srv/www.debian.org/www/international/l10n/po/en_GB.ru.html: *** Line 118, character 351: "128513" is not a character number in the document character set Line 307, character 337: "128513" is not a character number in the document character set Line 1311, character 241: "128513" is not a character number in the document character set -- You received this mail for the language code ru. Please edit webwml/english/devel/website/validation.data if this is not accurate Please also update webwml/english/devel/website/ with the new coordinator(s) data
Re: Как предотвратить жёсткие зависания компьютера в ресурсоёмких играх?
Помониторить своп. Если зависания от его заполнения, то Zswap (уменьшит ио) и увеличить своп. Вин ХП поставить. Оно быстрее линуксов на слабых машинах
Re: пакеты: как правильно получить владельца группу файла из скрипта debian/postinst ?
В Tue, 21 Mar 2017 13:35:23 +0200 Peter Pentchevпишет: > Или, проще, "command stat". Да! C zsh работает. Осталось понять разницу "shell function" и "builtin command" И как эти мановые (dash|bash) понятия коррелируют с "shell builtin", % type stat stat is a shell builtin % which stat stat: shell built-in command
Re: пакеты: как правильно получить владельца группу файла из скрипта debian/postinst ?
On Tue, Mar 21, 2017 at 02:45:38PM +0500, Stanislav Vlasov wrote: > 21 марта 2017 г., 14:42 пользователь Andrey Nikitin >написал: > >> Прописать #!/bin/bash в начале скрипта. > > > > Да, спсб., хотя подозрительно мало пакетов так делают, но, видимо, не > > запрещено. > > И сразу другой вопрос - нужно прописывать зависимость от bash? > > Второй способ: прописать /usr/bin/stat и зависимость не от bash, а от > coreutils Или, проще, "command stat". Всего лучшего, Петр -- Peter Pentchev r...@ringlet.net r...@freebsd.org p...@storpool.com PGP key:http://people.FreeBSD.org/~roam/roam.key.asc Key fingerprint 2EE7 A7A5 17FC 124C F115 C354 651E EFB0 2527 DF13 signature.asc Description: PGP signature
Re: установка своего пакета с зависимостями
On Tue, 21 Mar 2017 17:27:47 +0700 Дмитрий Фёдоровwrote: > 21 марта 2017 г., 17:25 пользователь Artem Chuprina написал: > > > Есть такой установщик, который поставит пакет из файла, > > > а его зависимости - из сетевых репо? > > > > gdebi > > gnome - перебор. gdebi прекрасно работает и без gnome. Там есть три пакета gdebi (который с gnome) gdebi-core (который содержит командно-строчную утилиту gdebi) и gdebi-kde.
Re: установка своего пакета с зависимостями
21 марта 2017 г., 17:25 пользователь Artem Chuprina написал: > > Есть такой установщик, который поставит пакет из файла, > > а его зависимости - из сетевых репо? > > gdebi gnome - перебор.
RE: пакеты: как правильно получить владельца группу файла из скрипта debian/postinst?
ИМХО getfacl но это еще один прицеп в виде зависимости acl -Исходное сообщение- От: "Andrey Nikitin"Отправлено: 21.03.2017 12:20 Кому: "debian-russian@lists.debian.org" Тема: пакеты: как правильно получить владельца группу файла из скрипта debian/postinst? Привет. LANG=C ls -l1d fileOrDir как-то диковато stat -c "%U %G" fileOrDir а если (больной) юзер в качестве /bin/sh zsh назначит в котором stat встроенный и совсем другой ? /usr/bin/stat -c "%U %G" fileOrDir а не будет ли stat в /bin со временем, и нужна ли завис. от конкретной версии coreutils? Есть ли debian-true решение этого вопроса?
Re: установка своего пакета с зависимостями
Дмитрий Фёдоров -> Russian Debian List @ Tue, 21 Mar 2017 16:51:24 +0700: > Есть свой личный пакет, которого в ни в каких сетевых репозиториях > никогда не будет. > А вот зависимости у него есть, причем они-то есть в стандартных репо. > Сейчас пакет ставится dpkg -i ..., а вот его зависимости > приходится ставить > aptitude install <список пакетов, вручную выковырянный> > Ещё и запятые руками удаляю :) > Есть такой установщик, который поставит пакет из файла, > а его зависимости - из сетевых репо? gdebi
Re: установка своего пакета с зависимостями
On 2017-03-21 1651 (+0700), Дмитрий Фёдоров wrote: Есть свой личный пакет, которого в ни в каких сетевых репозиториях никогда не будет. Есть такой установщик, который поставит пакет из файла, а его зависимости - из сетевых репо? APT умеет работать с репозиторием на файловой системе, но надо его подготовить. У меня в своё время работала такая схема: mkdir -p /var/cache/apt/localrepo cp $package /var/cache/apt/localrepo/ cd /var/cache/apt/localrepo dpkg-scanpackages . /dev/null | gzip -c9 > Packages.gz В sources.list добавить 'deb file:///var/cache/apt/localrepo /'
Re: установка своего пакета с зависимостями
21 марта 2017 г., 16:57 пользователь Victor Wagner написал: > > Есть два способа - простой и правильный. > > Простой > > dpkg -i имя-файла-пакета > (ругается на отсутствующие зависимости, и оставляет пакет в > неотконфигурированном состоянии) > apt-get install -f > (после пары вопросов доставляет все зависимости и конфигурирует пакет) Спасибо, так и буду делать. > Правильный - научиться делать собственный репозиторий и прописывать его > в soruces.list наряду со стандартными (а лучше - отдельный файлик > в /etc/apt/sources.list.d). Сложно, вот как раз своего репо и хотелось бы избежать. Ну или скриптик, выдирающий зависимости и запускающий на них apt-get, а потом dpkg -i.
Re: установка своего пакета с зависимостями
On Tue, 21 Mar 2017 16:51:24 +0700 Дмитрий Фёдоровwrote: > Есть свой личный пакет, которого в ни в каких сетевых репозиториях > никогда не будет. > > А вот зависимости у него есть, причем они-то есть в стандартных репо. > > Сейчас пакет ставится dpkg -i ..., а вот его зависимости > приходится ставить > aptitude install <список пакетов, вручную выковырянный>\ > Ещё и запятые руками удаляю :) > > Есть такой установщик, который поставит пакет из файла, > а его зависимости - из сетевых репо? Есть два способа - простой и правильный. Простой dpkg -i имя-файла-пакета (ругается на отсутствующие зависимости, и оставляет пакет в неотконфигурированном состоянии) apt-get install -f (после пары вопросов доставляет все зависимости и конфигурирует пакет) Правильный - научиться делать собственный репозиторий и прописывать его в soruces.list наряду со стандартными (а лучше - отдельный файлик в /etc/apt/sources.list.d).
установка своего пакета с зависимостями
Есть свой личный пакет, которого в ни в каких сетевых репозиториях никогда не будет. А вот зависимости у него есть, причем они-то есть в стандартных репо. Сейчас пакет ставится dpkg -i ..., а вот его зависимости приходится ставить aptitude install <список пакетов, вручную выковырянный> Ещё и запятые руками удаляю :) Есть такой установщик, который поставит пакет из файла, а его зависимости - из сетевых репо?
Re: пакеты: как правильно получить владельца группу файла из скрипта debian/postinst ?
21 марта 2017 г., 16:42 пользователь Andrey Nikitin написал: > В Tue, 21 Mar 2017 16:29:50 +0700 > >> Прописать #!/bin/bash в начале скрипта. > > Да, спсб., хотя подозрительно мало пакетов так делают, но, видимо, не > запрещено. > И сразу другой вопрос - нужно прописывать зависимость от bash? Не знаю, как по правилам, но почему бы и нет?
Re: пакеты: как правильно получить владельца группу файла из скрипта debian/postinst ?
21 марта 2017 г., 14:42 пользователь Andrey Nikitinнаписал: >> Прописать #!/bin/bash в начале скрипта. > > Да, спсб., хотя подозрительно мало пакетов так делают, но, видимо, не > запрещено. > И сразу другой вопрос - нужно прописывать зависимость от bash? Второй способ: прописать /usr/bin/stat и зависимость не от bash, а от coreutils -- Stanislav
Re: пакеты: как правильно получить владельца группу файла из скрипта debian/postinst ?
В Tue, 21 Mar 2017 16:29:50 +0700 Дмитрий Фёдоровпишет: > Прописать #!/bin/bash в начале скрипта. Да, спсб., хотя подозрительно мало пакетов так делают, но, видимо, не запрещено. И сразу другой вопрос - нужно прописывать зависимость от bash?
Re: пакеты: как правильно получить владельца группу файла из скрипта debian/postinst ?
21 марта 2017 г., 16:19 пользователь Andrey Nikitin написал: > > LANG=C ls -l1d fileOrDir > как-то диковато > > stat -c "%U %G" fileOrDir > а если (больной) юзер в качестве /bin/sh zsh назначит в котором stat > встроенный и совсем другой ? Прописать #!/bin/bash в начале скрипта. Я видел совсем больных, которые сделали /bin/sh симлинком на /bin/csh и так работали всем коллективом на старой рабочей станции, но от таких совсем защиты нет.
пакеты: как правильно получить владельца группу файла из скрипта debian/postinst ?
Привет. LANG=C ls -l1d fileOrDir как-то диковато stat -c "%U %G" fileOrDir а если (больной) юзер в качестве /bin/sh zsh назначит в котором stat встроенный и совсем другой ? /usr/bin/stat -c "%U %G" fileOrDir а не будет ли stat в /bin со временем, и нужна ли завис. от конкретной версии coreutils? Есть ли debian-true решение этого вопроса?
Re: почему не собралось?
On Tue, 21 Mar 2017 10:42:05 +0700 Ivan Petrovwrote: > ~/Загрузки/libktorrent-1.1.2/build/CMakeCache.txt Попробуй собрать в каталоге без кириллицы. Да, XXI век, а глюки с не-ASCII символами всё ещё могут быть живы. >/usr/bin/ld: cannot find -lc libc6-dev стоит? -- Alexander Galanin