[SOLVED] eix-sync не может выполнить обновление /var/cache/eix/portage.eix

Не уверен с веткой форума, но вроде как eix ближе к portage.
Таким образом, господа гентуводы, с некоторого времени в конце eix-sync вместо красивого цветного списка обновленных пакетов я начал видеть следующее:

Applying masks ..
Calculating hash tables ..
Writing database file /var/cache/eix/portage.eix ..
void update(const char*, CacheTable&, PortageSettings&, const std::vector&, const std::vector >&, Statusline&): Can't open the database file '/var/cache/eix/portage.eix' for writing (mode = 'wb')
* eix-update failed

Может быть кто-нибудь сталкивался с подобным? Что с этим делать?
Если после этого выполнить eix-update, то он работает без проблем.

Странная страннота, ведь

Странная страннота, ведь eix-sync — это просто скриптец, вызывающий eix-update.

Текстовый редактор vi имеет два режима работы: в первом он пищит, а во втором — всё портит.

Can't open the database file

Can't open the database file '/var/cache/eix/portage.eix' for writing

Из-под пользователя запускаешь?

Не грусти, товарищ! Всё хорошо, beautiful good!

Из-под root'а: sudo

Из-под root'а:
sudo eix-sync
ибо он portage синкает. Раньше все нормально было. eix-update запускаю естественно из-под пользователя.

Да, падает именно из-за

Да, падает именно из-за запуска из-под рута.
sudo eix-update
падает с той же самой ошибкой:
Writing database file /var/cache/eix/portage.eix ..
void update(const char*, CacheTable&, PortageSettings&, const std::vector&, const std::vector >&, Statusline&): Can't open the database file '/var/cache/eix/portage.eix' for writing (mode = 'wb')

Странно.

покажи ls -la

покажи

ls -la /var/cache/eix*

и

grep -v ^# /etc/eixrc 

Что будет, если запустить

eix-update -o /tmp/eix

?

jauhien@kamputar_m ~ % ls -la

jauhien@kamputar_m ~ % ls -la /var/cache/eix*
total 13012
drwxrwxr-x 2 portage portage 4096 Apr 14 09:10 .
drwxr-xr-x 13 root root 4096 Apr 14 20:09 ..
-rw-r--r-- 1 root root 0 Mar 24 03:18 .keep_app-portage_eix-0
-rw-r--r-- 1 jauhien jauhien 5826451 Apr 17 00:52 portage.eix
-rw-r--r-- 1 jauhien jauhien 5825115 Apr 15 22:52 previous.eix
-rw-r--r-- 1 jauhien jauhien 1626753 Mar 29 22:37 remote.tar.bz2

jauhien@kamputar_m ~ % grep -v ^# /etc/eixrc

PORTDIR_CACHE_METHOD='sqlite'
OVERLAY_CACHE_METHOD='parse'

При выполнении eix-update -o /tmp/eix из-под пользователя и из-под рута при пустой /tmp все в порядке. А вот в eix-update -o /tmp/eix && sudo eix-update -o /tmp/eix вторая команда падает с той же ошибкой. Т.е. проблема в том, что уже существует кэш, принадлежащий пользователю. Но почему root не может его переписать для меня загадка.

потому что -rw-r--r-- 1

потому что

-rw-r--r-- 1 jauhien jauhien

сделай chmod 666 на эти файлы

По-моему, eix-update пытается

По-моему, eix-update пытается писать эти файлы от имени portage, если его запускать root'ом (я именно всегда так и делаю, для простоты и удобства).

Текстовый редактор vi имеет два режима работы: в первом он пищит, а во втором — всё портит.

Точно, вот в чем проблема, я

Точно, вот в чем проблема, я думал, он их от имени root'а писать пробует, и тогда все равно, что за права. а он от имени портежа.
Всем спасибо, проблема решена.

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".