On Fri, Jan 16, 2004 at 03:40:29PM +0200, Michael Shigorin wrote: > On Fri, Jan 16, 2004 at 04:05:02PM +0300, Dmitry V. Levin wrote: > > > > Мне категорически не нравится прибивание идентификаторов > > > > гвоздями для каждого нового пакета. > > > Чем? > > Создает проблемы типа "что делать, если этот идентификатор уже > > занят". > > Вот. Если: > > - все использующие функциональность пакеты соответствуют полиси; > - установлены только соответствующие полиси пакеты > > -- все в порядке. Если: > > 1) uid и/или gid, на которые претендует устанавливаемый "new-style" > пакет, занят (useradd -r или ручное редактирование) > a) "old-style" пакетом (необязательно старой версией этого же); > b) ручным добавлением системного пользователя. > 2) user/group, на которые претендует он же -- занят > a) аналогично (useradd в %pre "old-style"); > b) аналогично (необязательно -r). По-моему, второй вариант реалистичнее. > Обработка в рантайме предлагается таким образом: соответствующая > часть макроса %useradd по крайней мере выводит сообщение вида > > --- почти то же самое > Error: user %add_username doesn't have uid=%add_uid. > Correct this before installing %name. > Consult Administrator's Manual ($TOPICNAME) on how-to. > --- Ужасно. Это прямой путь к "apt-get -f install". > Возможно, имеет смысл выводить cut-n-paste строчку для > find | xargs chown, но не уверен (и пример из головы выскользнул). Не имеет. > > > Тоже не в восторге (AANA пора заводить :) -- но другие пути > > > ухудшают переносимость принадлежащих этим псевдопользователям > > > данных для администратора. :( > > Почему ухудшают? > > Пусть требуется скопировать данные на другой хост, который > исторически отличался порядком выполнения нефиксированного > добавления системных пользователей/групп. > > Для консистентности прав на объекты файловой системы может > потребоваться chown(1). > > Если количество систем и/или наборов таких данных (в итоге > псевдопользователей с различным числовым представлением) растет, > получаем квадравардак. Почему же? Какая разница для chown, имя или номер? Тем более что по умолчанию cpio не использует --numeric-uid-gid и tar не использует --numeric-owner. -- ldv