imam |
|
Темы:
5
Сообщения:
29
Участник с: 28 апреля 2009
|
vadik Пакет лежит где и лежал а на попытку установить говорит error: you cannot perform this operation unless you are root. тоесть я в отдельном каталоге из под простого юзера собираю макет дерева каталогов и файлов для образа. |
vadik |
|
Темы:
57
Сообщения:
5497
Участник с: 17 августа 2009
|
imam, про расположение пакета я спрашивал у arcanis-а. А вас просил показать тот pacman.conf, на который ссылаетесь в своей команде установки (есть мысль, но надо проверить). П.с. только уже все это завтра, пора спать. |
imam |
|
Темы:
5
Сообщения:
29
Участник с: 28 апреля 2009
|
vadik комент выше правил )))) pacman.conf: [options] RootDir = /mnt/ DBPath = /mnt/var/lib/pacman/ CacheDir = /mnt/var/cache/pacman/pkg/ LogFile = /mnt/var/log/pacman.log HoldPkg = pacman glibc Architecture = auto CheckSpace SigLevel = Required DatabaseOptional LocalFileSigLevel = Optional |
arcanis |
|
Темы:
31
Сообщения:
1496
Участник с: 09 сентября 2012
|
vadikв tmp кэш только. Пакет в основной системе лежит, вывод ls (с перенаправлением stdout, только stderr) это подтверждает |
naszar |
|
Темы:
21
Сообщения:
507
Участник с: 24 сентября 2012
|
Отучить pacman проверять, для некоторых операций, запущен ли он от рута нельзя - это часть его логики работы определенная в исходниках. Хотя некоторые считают что так делать моветон. А вот почему suid бит на него не действует - интересный вопрос. Наверное поэтому: $ps -eo euser,ruser,pid,command|grep pacman root bigboss 6651 pacman -S guake UPD: похоже во всем виноват bash, который выставляет EUID в UID... видать в целях безопастности, типа защита от дурака, если тот сделает chmod +s /usr/bin/bash... чуть больше подробностей... вот вам и KISS... |
imam |
|
Темы:
5
Сообщения:
29
Участник с: 28 апреля 2009
|
naszar Значит мне придется править исходник для отключения проверки на рута и собирать временную тулзу pacman`а для установки своих пакетов, ну а потом уже переключаться обратно на родную когда уже буду работать под рутом ))). |
naszar |
|
Темы:
21
Сообщения:
507
Участник с: 24 сентября 2012
|
Значит мне придется править исходникСобственно скорее всего хватит заменить в src/pacman/pacman.c:778: uid_t myuid = geteuid(); на uid_t myuid = 0; и пересобрать пакет через makepkg, а дальше только следить чтобы у пользователя, запускающего был доступ к нужным файлам и папкам.. обратите внимание, что у пакмана еще есть своя кухня в /var. А кстати, что за задача такая. Просто пакман без своей базы смысла не имеет, а без рута доступа к базе у него не будит... может имеет смысл просто распаковать пакеты в нужную папку? tar -xJf <packege>.pkg.tar.xz -C <your_dir> |
arcanis |
|
Темы:
31
Сообщения:
1496
Участник с: 09 сентября 2012
|
вспоминая про кухню, нужно сказать, что еще надо бы по хорошему отметки делать об установке того или иного пакета (/var/lib/pacman/local). Так что просто так не разрешит распаковать для большинства задач |
vadik |
|
Темы:
57
Сообщения:
5497
Участник с: 17 августа 2009
|
arcanisЕсли пакет у вас лежит в основной системе, то покажите пожалуйста выхлоп:vadikв tmp кэш только. Пакет в основной системе лежит, вывод ls (с перенаправлением stdout, только stderr) это подтверждает ls -la /usr/bin/guake |
imam |
|
Темы:
5
Сообщения:
29
Участник с: 28 апреля 2009
|
naszar Большое спасибо целый день мучаюсь с этим )))) Мне вполне достаточно остановиться на make и запускать pacman из самой папки с исходниками, свои логи он согласно конфиг файлу итак выведит в нужные мне каталоги а прова на них я точно назначаю. |