LINUX.ORG.RU

[gentoo] emerge --sync выдает Bus error

 


0

1

я поставил gentoo x86_64 по хендбуку и затем запустил emerge -e world со своим большим файлом мира.

Команду выполняю после выполнения скрипта перехода в chroot
следующего вида:

#!/bin/bash
export CHROOT=/chroot/amd64
mount -t proc none ${CHROOT}/proc
mount -o bind /dev ${CHROOT}/dev
mount -o bind /dev/pts ${CHROOT}/dev/pts
chroot ${CHROOT} /bin/bash
env-update
source /etc/profile
umount ${CHROOT}/dev/pts
umount ${CHROOT}/dev
umount ${CHROOT}/proc

внутри chroot в файле cat /chroot/amd64/root/.bashrc написано

env-update && source /etc/profile
export PS1="(chroot) ${PS1}"

после выполнения emerge --sync внутри chroot,
tail /var/log/messages [снаружи] выдает

Jun 19 07:27:39 localhost bash: HISTORY: PID=4364 UID=0 emerge --sync
Jun 19 07:27:39 localhost kernel: attempt to access beyond end of device
Jun 19 07:27:39 localhost kernel: vda1: rw=0, want=15351918976, limit=229006512

Я пробовал проверить диски, для этого снаружи сказал всем дискам
tune2fs -c 1 /dev/vda1
[и так далее] и пару раз перезагрузился.
Ничего не поменялось.

Мир теперь не собирается вообще.
Сообщение Bus Error выдается на любую команду emerge - не только на emerge --sync. Снаружи [не в chroot] emerge --sync работает.
что делать дальше?

Ответ на: комментарий от namezys

> все. хана

можно по-подробнее - чему конкретно хана? может если HDD расширить - заработает? (хотя вроде и место есть и свободные иноды)

[code] # dumpe2fs /dev/vda1 | head -n 20 | grep Free dumpe2fs 1.41.12 (17-May-2010) Free blocks: 4136778 Free inodes: 3140857 [/code]

StrongDollar
() автор топика
 
umount ${CHROOT}/dev/pts 
umount ${CHROOT}/dev 
umount ${CHROOT}/proc 

Что это такое?

anonymous
()
Ответ на: комментарий от anonymous

После какого выхода?

я вижу, что размонтирование выполняется сразу после chroot


команда chroot запускает /bin/bash, который работает в консольном режиме столько, сколько мне надо, пока я из него не выйду.

А как выйду, произойдет завершение команды chroot и отмонтирование.

StrongDollar
() автор топика
Ответ на: комментарий от anonymous

Да, добавил туда echo «Exit completed» для примера:

localhost # chroot_amd64
>>> Regenerating /etc/ld.so.cache...
(chroot) localhost / $ exit
exit
Exit completed
>>> Regenerating /etc/ld.so.cache...
StrongDollar
() автор топика

Мегабакс, объясни-ка чем тебе такой chroot не нормальный

кто тебе такую херь сказал!?

не трогай генты - ты пока не дорос

сделай НОРМАЛЬНЫЙ чрут без своих говно-скриптов!

потом поговорим


чем же он ненормальный?
в нормальном, кстати, все то же самое.

Сообщение удалено megabaks по причине 'ТС - долбаёб! (0)'


Это утверждение - тоже обоснуй, хорошо бы тебе за хамство скор срезать (не мне же одному страдать)

StrongDollar
() автор топика

Хз, связано ли это, но может вместо

>mount -o bind /dev ${CHROOT}/dev

mount -o bind /dev/pts ${CHROOT}/dev/pts

просто делать
mount -o rbind /dev ${CHROOT}/dev
?

anonymous
()
Ответ на: комментарий от anonymous

mount -o rbind /dev ${CHROOT}/dev


такая команда хорошо монтирует, но потом отмонтировать не получается
ни при помощи umount ${CHROOT}/dev
ни при помощи umount -O rbind ${CHROOT}/dev

но даже если не задаваться вопросом отмонтирования,
то предложенная команда ошибку не устраняет

StrongDollar
() автор топика
Ответ на: комментарий от anonymous

С этого и надо было начинать.


у меня уже года полтора-два работает в kvm и до этого проблем не было

В чём тайный смысл сборки генты в chroot под kvm?


kvm позволяет запустить несколько виртуальных машин, на некоторых из которых выполянются операционые системы другого типа

chroot позволяет провести тестирование, чтобы не завалить основную машину. И вообще - это билд сервер, собираю на нем бинарные пакеты для использования в директиве PORTAGE_BINHOST.

StrongDollar
() автор топика
Ответ на: комментарий от StrongDollar

>kvm позволяет запустить несколько виртуальных машин, на некоторых из которых выполянются операционые системы другого типа

Я не спрашивал, что такое kvm. Я спрашивал, зачем ты собираешь генту в chroot под kvm

chroot позволяет провести тестирование, чтобы не завалить основную машину

У тебя там гента целиком live-версий?

И вообще - это билд сервер

Билд-сервер под kvm? ума палата

anonymous
()
Ответ на: комментарий от anonymous

Я спрашивал, зачем ты собираешь генту в chroot под kvm

Билд-сервер под kvm?


это позволяет мне решать все необходимые задачи оптимально используя аппаратные ресурсы.

ума палата


продвинутые навыки time management позволяют мне параллельно со сборкой выполнять много других задач (например сидеть на форуме :) ).

У тебя там гента целиком live-версий?


я не понял твой вопрос. Гента вся собирается самостоятельно (stable-ветка с избранными размаскированными приложениями),
на всех машинах используется версия, собираемая на билд-сервере.

StrongDollar
() автор топика
Ответ на: комментарий от StrongDollar

>это позволяет мне решать все необходимые задачи оптимально используя аппаратные ресурсы

Бугога. Собирать пакеты под виртуалкой - это оптимально использовать аппаратные ресурсы? у меня для тебя скверные новости

продвинутые навыки time management позволяют мне параллельно со сборкой выполнять много других задач (например сидеть на форуме

Для этого нужен kvm?

Гента вся собирается самостоятельно (stable-ветка с избранными размаскированными приложениями), на всех машинах используется версия, собираемая на билд-сервере

И зачем тут kvm?

anonymous
()
Ответ на: комментарий от anonymous

Собирать пакеты под виртуалкой -

это оптимально использовать аппаратные ресурсы?


Использовать систему виртуализации для сокращения числа используемых серверов - это оптимально использовать аппаратные ресурсы.

у меня для тебя скверные новости


какие же?

Для этого нужен kvm?


да, для сокращания количества используемых физических серверов нужна какая-либо система виртуализации. Ранее использовал Xen, но перешел на kvm, потому что это мейнстрим

И зачем тут kvm?


kvm тут для того, чтобы на одном сервере запустить сервисы как на базе Linux так и на базе альтернативных операционных систем.

StrongDollar
() автор топика
Ответ на: комментарий от StrongDollar

>Использовать систему виртуализации для сокращения числа используемых серверов

Не понял, поясни

kvm тут для того, чтобы на одном сервере запустить сервисы как на базе Linux так и на базе альтернативных операционных систем

Зачем он для билд-сервера?

anonymous
()
Ответ на: комментарий от anonymous

> Не понял, поясни

берешь два или более виртуальных сервера, ставишь на один физический. Деньги на один или более физических сэкономил.

Зачем он для билд-сервера?

а как же виртуальный сервер без системы виртуализации запустить-то?

StrongDollar
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.