Доброе время суток.
Обновлял FreeBSD с 9.2 на 10.1
Все пошло, выдало reboot и FreeBSD-Update Install
все сделал, перезагрузил, freebsd-update install, а потом пошли ошибки типа
uid 0: exited on signal 11 (core dumped)
и ничего не получается, ни одной команды. перезагрузил и ядро не загружается.
старое ядро тоже не получилось загрузить. kernel.old
система рабочая, горю, все в ажеотаже паникуют, что ничего не работает.
что можно еще попробовать?
> Доброе время суток.
> Обновлял FreeBSD с 9.2 на 10.1
> Все пошло, выдало reboot и FreeBSD-Update Install
> все сделал, перезагрузил, freebsd-update install, а потом пошли ошибки типа
> uid 0: exited on signal 11 (core dumped)
> и ничего не получается, ни одной команды. перезагрузил и ядро не загружается.
> старое ядро тоже не получилось загрузить. kernel.old
> система рабочая, горю, все в ажеотаже паникуют, что ничего не работает.
> что можно еще попробовать?Вообще-то мало информации, особенно интересна на чем стоит ваша система, на zfs или ufs, если ufs, то можно загрузиться с 9.2 и проинсталлировать старое ядро, если же юзаете zfs, то грузиться уже надо с 10.1
> Вообще-то мало информации, особенно интересна на чем стоит ваша система, на
> zfs или ufs, если ufs, то можно загрузиться с 9.2 и
> проинсталлировать старое ядро, если же юзаете zfs, то грузиться уже надо
> с 10.1Была FreeBSD 9.2 на UFS. Я думаю оно не могло переформатироваться в zfs
С LiveCD загрузился, подмонтировался к своей системе rw.
Как мне проинсталлировать ядро системы FreeBSD 9.2 чтобы остались данные?
> С LiveCD загрузился, подмонтировался к своей системе rw.
> Как мне проинсталлировать ядро системы FreeBSD 9.2 чтобы остались данные?если имеете ввиду установочный диск, то ядро лежит где то в dist/kernel (под рукой нету чтобы точно сказать) там же скрипт для установки, но без него можно обойтись, он его просто распаковывает
>> С LiveCD загрузился, подмонтировался к своей системе rw.
>> Как мне проинсталлировать ядро системы FreeBSD 9.2 чтобы остались данные?
> если имеете ввиду установочный диск, то ядро лежит где то в dist/kernel
> (под рукой нету чтобы точно сказать) там же скрипт для установки,
> но без него можно обойтись, он его просто распаковываетДа, LiveCD FreeBSD. а кто нибудь может подсказать как можно проинсталлировать в систему старое ядро? т.е. откатится до старого ядра.
Ядро не компилировал не пересобирал, стандартное GENERIC как есть из дистрибутива.
>>> С LiveCD загрузился, подмонтировался к своей системе rw.
>>> Как мне проинсталлировать ядро системы FreeBSD 9.2 чтобы остались данные?
>> если имеете ввиду установочный диск, то ядро лежит где то в dist/kernel
>> (под рукой нету чтобы точно сказать) там же скрипт для установки,
>> но без него можно обойтись, он его просто распаковывает
> Да, LiveCD FreeBSD. а кто нибудь может подсказать как можно проинсталлировать в
> систему старое ядро? т.е. откатится до старого ядра.
> Ядро не компилировал не пересобирал, стандартное GENERIC как есть из дистрибутива.вам же сказали на cd в /USR/FREEBSD_DIST/kernel.txz, взять и распаковать, нечто типа
tar --unlink -xpf kernel.txz -C /mnt, только путь свой поставьте..
а в /USR/FREEBSD_DIST/basе.txz лежит сама система...
> Доброе время суток.
> Обновлял FreeBSD с 9.2 на 10.1
> Все пошло, выдало reboot и FreeBSD-Update Install
> все сделал, перезагрузил, freebsd-update install, а потом пошли ошибки типа
> uid 0: exited on signal 11 (core dumped)
> и ничего не получается, ни одной команды. перезагрузил и ядро не загружается.
> старое ядро тоже не получилось загрузить. kernel.old
> система рабочая, горю, все в ажеотаже паникуют, что ничего не работает.
> что можно еще попробовать?у Вас разъехалась синхронизация: kernel и система, нужно определить
что у вас стало:
- kernel 9.2 или 10.1
- система 9.2 или 10.1 (возможно смесь обеих)самый простой вариант (ничего не определяя):
- можете для начала сохранить /etc или то что нужно из него + /boot/loader.conf
- загрузиться с 9.2 memstick или disc1, вышли в Live (root без пароля),
прогнали fsck_ffs на ваши FS на диске, смонтировали в /tmp или /mnt (которые не read-only)
и руками (tar) восстановить: kernel, base и lib32 (если amd64)Восстановите работоспособность 9.2 и установленного софта.
Если не идет на этой системе бинарный апгрейд, ну сделайте традиционный,
соберите из sources:# 1. `cd /usr/src' (or to the directory containing your source tree).
# 2. `make buildworld'
# 3. `make buildkernel KERNCONF=YOUR_KERNEL_HERE' (default is GENERIC).
# 4. `make installkernel KERNCONF=YOUR_KERNEL_HERE' (default is GENERIC).
# [steps 3. & 4. can be combined by using the "kernel" target]
# 5. `reboot' (in single user mode: boot -s from the loader prompt).
# 6. `mergemaster -p'
# 7. `make installworld'
# 8. `mergemaster' (you may wish to use -i, along with -U or -F).
# 9. `make delete-old'
# 10. `reboot'
# 11. `make delete-old-libs' (in case no 3rd party program uses them anymore)пункт "5." - не делайте, пункт "11." не делайте:
- либо установите misc/compat9x
- либо пересоберите порты
после это можно выполнить пункт "11."Система будет работать, сбоку все пересоберете, никому не мешая.
> и руками (tar) восстановить: kernel, base и lib32 (если amd64)А как руками восстановить? туда куда нужно?
я tar не пользовался.
да и потом на CDRom'е в папке /usr/freebsd-dist только единственный файл MANIFEST
когда просматриваешь его там встречаются такие kernel, base
я в систему зайти не могу, только через LiveCD, примонтировав диск с системой.
получается не 'cd /usr/src' а 'cd /mnt/usr/src'
и там все эти манипуляции проделать?
>> и руками (tar) восстановить: kernel, base и lib32 (если amd64)
> А как руками восстановить? туда куда нужно?
> я tar не пользовался.Ну так почитайте и воспользуйтесь...
> да и потом на CDRom'е в папке /usr/freebsd-dist только единственный файл MANIFEST
> когда просматриваешь его там встречаются такие kernel, baseУ вас диск под названием bootonly, там действительно ничего нет, скачайте либо disk1 либо dvd
> У вас диск под названием bootonly, там действительно ничего нет, скачайте
> либо disk1 либо dvdтогда под рукой нет сейчас ни болванки, диска установочного, только bootonly
остается второй способ.
получается не 'cd /usr/src' а 'cd /mnt/usr/src'
и там все эти манипуляции проделать?примонтировал корень рабочего диска в /mnt на чтение запись, сохранил всю папку /etc и /boot
>> У вас диск под названием bootonly, там действительно ничего нет, скачайте
>> либо disk1 либо dvd
> тогда под рукой нет сейчас ни болванки, диска установочного, только bootonly
> остается второй способ.
> получается не 'cd /usr/src' а 'cd /mnt/usr/src'
> и там все эти манипуляции проделать?да лучше нет, флешка надеюсь есть, то можете скачать memstick и грузиться с нее
Можете скачать файлы напрямую с
ftp://ftp.freebsd.org/pub/FreeBSD/releases/amd64/9.2-RELEASE/
ftp://ftp.freebsd.org/pub/FreeBSD/releases/i386/9.2-RELEASE/
>> и руками (tar) восстановить: kernel, base и lib32 (если amd64)
> А как руками восстановить? туда куда нужно?
> я tar не пользовался.
> да и потом на CDRom'е в папке /usr/freebsd-dist только единственный файл MANIFEST
> когда просматриваешь его там встречаются такие kernel, baseгрузимся с FreeBSD-9.2-RELEASE-amd64-disc1.iso или memstick:
FreeBSD Installer:
Welcome...
<Install> <Shell> <Live CD>
выбираем <Live CD>, заходим под рутом (без пароля)
# mount
/dev/iso9660/FREEBSD_INSTALL on / (cd9660, local, read-only)
devfs on /dev (devfs, local, multilabel)
/dev/md0 on /var (ufs, local)
/dev/md1 on /tmp (ufs, local)
## ls -la /usr/freebsd-dist/
total 295511
drwxr-xr-x 2 root wheel 2048 Sep 27 2013 .
drwxr-xr-x 15 root wheel 2048 Sep 27 2013 ..
-rw-r--r-- 1 root wheel 782 Sep 27 2013 MANIFEST
-rw-r--r-- 1 root wheel 67671964 Sep 27 2013 base.txz
-rw-r--r-- 1 root wheel 1442376 Sep 27 2013 doc.txz
-rw-r--r-- 1 root wheel 887524 Sep 27 2013 games.txz
-rw-r--r-- 1 root wheel 83735660 Sep 27 2013 kernel.txz
-rw-r--r-- 1 root wheel 12622248 Sep 27 2013 lib32.txz
-rw-r--r-- 1 root wheel 36178396 Sep 27 2013 ports.txz
-rw-r--r-- 1 root wheel 100062284 Sep 27 2013 src.txz
#- смотрим что у нас на hdd (ниже для gpt):
# gpart show
или
# gpart show ada0
=> 34 16777149 ada0 GPT (8.0G)
34 128 1 freebsd-boot (64k)
162 15935360 2 freebsd-ufs (7.6G)
15935522 837632 3 freebsd-swap (409M)
16773154 4029 - free - (2M)
#ada0p2 - корень, все на нем
- создаем mount_point:
# mkdir /tmp/root
- прогоняем fsck:
# fsck_ffs -fy /dev/ada0p2
если у Вас несколько FS на диске: /usr - отдельная FS, /var,
прогоняете на них fsck_ffs тоже и монтируете внутрь /tmp/root,
например, ada0p4 - /usr, ada0p5 - /var# fsck_ffs -fy /dev/ada0p4
# fsck_ffs -fy /dev/ada0p5- монтируем, сначала корень, затем уже в него все остальное
# mount /dev/ada0p2 /tmp/root
# ls -la /tmp/rootесли есть отдельные FS:
# mount /dev/ada0p4 /tmp/root/usr
# mount /dev/ada0p5 /tmp/root/var# mount
/dev/iso9660/FREEBSD_INSTALL on / (cd9660, local, read-only)
devfs on /dev (devfs, local, multilabel)
/dev/md0 on /var (ufs, local)
/dev/md1 on /tmp (ufs, local)
/dev/ada0p2 on /tmp/root (ufs, local, journaled soft-updates)- сохраняете все что Вам нужно из etc (обычно etc/ssh/*, passwd,master.passwd, pwd.db,
spwd.dbнапример:
# mkdir /tmp/etc
# cd /tmp/etc
# cp -R /tmp/root/etc/ssh .
# cp /tmp/root/etc/passwd .
# cp /tmp/root/etc/master.passwd .
# cp /tmp/root/etc/pwd.db .
# cp /tmp/root/etc/spwd.db .
# cp /tmp/root/etc/rc.conf .возможно что-то еще, конфиг firewall'а, файл hosts... (вообще-то rc.conf создается
руками и в разворачиваемом дистрибутиве его нет)- разворачиваем поверх того что есть: kernel,base,lib32 (лучше руками или добавить
exclude для var# cd /usr/freebsd-dist/
запускаем sh:
# sh
# for file in base.txz kernel.txz lib32.txz ; do (cat $file | tar --unlink -xvpJf - -C /tmp/root); done
# exitили тоже самое руками последовательно:
Важно, как и для сохранения нужных файлов из etc, так и данные в старом var:
# tar --unlink --exclude "./var" -xvpJf /usr/freebsd-dist/base.txz -C /tmp/root
выше, мы пропускаем извлечение /var, чтобы сохранить наш
# tar --unlink -xvpJf /usr/freebsd-dist/kernel.txz -C /tmp/root
# tar --unlink -xvpJf /usr/freebsd-dist/lib32.txz -C /tmp/rootВсе, копируйте назад ssh, passwd, master.passwd, pwd.db, spwd.db и все остальное
что сохранили.- размонтируете дисковые FS и reboot (загружаемся с HDD)
ps. Для начала, можете попробовать в виртуалке
> - размонтируете дисковые FS и reboot (загружаемся с HDD)
> ps. Для начала, можете попробовать в виртуалкеОгромное вам спасибо за ваш труд, получилось!))
но че то пропустил или лишнее хватанул, root без пароля
и сервисы все не прорегистрированные, не запускаются. сеть не идет, ну с этим завтра разберемся, большое спасибо!
>> - размонтируете дисковые FS и reboot (загружаемся с HDD)
>> ps. Для начала, можете попробовать в виртуалке
> Огромное вам спасибо за ваш труд, получилось!))
> но че то пропустил или лишнее хватанул, root без пароля
> и сервисы все не прорегистрированные, не запускаются. сеть не идет, ну с
> этим завтра разберемся, большое спасибо!так rc.conf, passwd и master.passwd & etc - нужно было сохранить до рас'tar'ривания,
и записать обратно, после рас'tar'ривания.
А так, у Вас чистый passwd и master.passwd, group - про последний я забыл написать.Про это было написано, вроде даже акцент стоял: "Важно"
Если есть backup /etc - восстанавливайте: rc.conf, passwd/pwd.db, master.passwd/spwd.db,
group, firewall и прочееps. что есть "прорегистрированные" сервисы?
> так rc.conf, passwd и master.passwd & etc - нужно было сохранить до
> рас'tar'ривания,
> и записать обратно, после рас'tar'ривания.
> А так, у Вас чистый passwd и master.passwd, group - про
> последний я забыл написать.
> Про это было написано, вроде даже акцент стоял: "Важно"
> Если есть backup /etc - восстанавливайте: rc.conf, passwd/pwd.db, master.passwd/spwd.db,
> group, firewall и прочее
> ps. что есть "прорегистрированные" сервисы?я думаю переустановлю нужные порты и все заведется как было.
полностью всю папку etc сохранил и восстановил."прорегистрированные" я называю service samba status
service squid restart
мне быстрее service набрать чем полный путь /usr/local/etc/rc.d/[порт], особенно когда переключаюсь с одного на другое.
P.S. я вообще не сисадмин, всех тонкостей не знаю, мне просто интересна система FreeBSD, все прозрачно и стабильно, настроил и забыл!
Выражаю форуму opennet огромнейшую благодарность, за то, что он есть и за то, что можно обратиться к таким хорошим специалистам, которые подскажут.
Спасибо всем тем, кто помог решить данную проблему, а особенно многоуважаемому специалисту с ником lavr. Респект и уважуха.
Все запустилось, все собралось, все замечательно, все сохранилось.
Работаем.
>[оверквотинг удален]
> Важно, как и для сохранения нужных файлов из etc, так и данные
> в старом var:
> # tar --unlink --exclude "./var" -xvpJf /usr/freebsd-dist/base.txz -C /tmp/root
> выше, мы пропускаем извлечение /var, чтобы сохранить наш
> # tar --unlink -xvpJf /usr/freebsd-dist/kernel.txz -C /tmp/root
> # tar --unlink -xvpJf /usr/freebsd-dist/lib32.txz -C /tmp/root
> Все, копируйте назад ssh, passwd, master.passwd, pwd.db, spwd.db и все остальное
> что сохранили.
> - размонтируете дисковые FS и reboot (загружаемся с HDD)
> ps. Для начала, можете попробовать в виртуалкеlavr огромное спасибо за помощь, присоединяюсь к благодарностям всех решивших проблему
еще раз спасибо!