[SOLVED] eix-sync не может выполнить обновление /var/cache/eix/portage.eix
Jauhien 16 апреля, 2012 - 00:06
Не уверен с веткой форума, но вроде как 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
* eix-update failed
Может быть кто-нибудь сталкивался с подобным? Что с этим делать?
Если после этого выполнить eix-update, то он работает без проблем.
»
- Для комментирования войдите или зарегистрируйтесь
Странная страннота, ведь
Странная страннота, ведь eix-sync — это просто скриптец, вызывающий eix-update.
Текстовый редактор vi имеет два режима работы: в первом он пищит, а во втором — всё портит.
Can't open the database file
Из-под пользователя запускаешь?
Не грусти, товарищ! Всё хорошо, beautiful good!
Из-под root'а: sudo
Из-под root'а:
sudo eix-sync
ибо он portage синкает. Раньше все нормально было. eix-update запускаю естественно из-под пользователя.
Да, падает именно из-за
Да, падает именно из-за запуска из-под рута.&, const std::vector >&, Statusline&): Can't open the database file '/var/cache/eix/portage.eix' for writing (mode = 'wb')
sudo eix-update
падает с той же самой ошибкой:
Writing database file /var/cache/eix/portage.eix ..
void update(const char*, CacheTable&, PortageSettings&, const std::vector
Странно.
покажи ls -la
покажи
и
Что будет, если запустить
?
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
потому что
сделай chmod 666 на эти файлы
По-моему, eix-update пытается
По-моему, eix-update пытается писать эти файлы от имени portage, если его запускать root'ом (я именно всегда так и делаю, для простоты и удобства).
Текстовый редактор vi имеет два режима работы: в первом он пищит, а во втором — всё портит.
Точно, вот в чем проблема, я
Точно, вот в чем проблема, я думал, он их от имени root'а писать пробует, и тогда все равно, что за права. а он от имени портежа.
Всем спасибо, проблема решена.