The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Обновление FreeBSD 6.3 до FreeBSD 7.0 из исходных текстов
Устанавливаем комплект файлов для обратной совместимости.

1. Загружаем localedata-5.4.tbz и compat6x-i386-6.x.xxxxxx.yyyymm.tbz 
с ftp://ftp6.ru.freebsd.org/pub/FreeBSD/ports/i386/packages-7.0-release/All 
2. Первый файл распаковываем (через pkg_add имя_пакета) 
в /usr/local/share/compat/, второй в /usr/local/lib/compat/

Устанавливаем комплект для обновления.

Загружаем http://people.freebsd.org/~rse/dist/freebsd-adm-1.2.2.tar.gz 

1. Распаковываем в /usr/adm:
   cd /usr
   fetch http://people.freebsd.org/~rse/dist/freebsd-adm-1.2.2.tar.gz
   rm -rf adm; 
   gunzip <freebsd-adm-1.2.2.tar.gz | tar xvf -; 
   rm -f freebsd-adm-1.2.2.tar.gz

2. В файле /usr/adm/cfg/csup.src заменяем RELENG_6 на RELENG_7_0

Обновляем исходные тексты на FreeBSD 7.0:
   cd /usr/src && make cleandir
   cd /usr/adm && make update

Обновляем конфигурацию ядра:
  vi /sys/`uname -m`/conf/`hostname -s | tr 'a-z' 'A-Z'`

1. Добавляем:
  options        COMPAT_FREEBSD6
  options        TCP_DROP_SYNFIN
  options        SCTP            # Stream Transmission Control Protocol
  options        UFS_GJOURNAL    # Enable gjournal-based UFS
  options        STOP_NMI        # Stop CPUS using NMI instead of IPI
  options        AUDIT           # Security event auditing
  options        GEOM_LABEL      # Provides labelization
  options        GEOM_PART_GPT   # GUID Partition Tables.
  options        COMPAT_43TTY    # BSD 4.3 TTY compat [KEEP THIS!]
  options KSE
  device         uart            # Generic UART driver
  device         le              # AMD Am7900 LANCE and Am79C9xx PCnet
  device         firmware        # firmware assist module
  device         dcons           # Dumb console driver
  device         dcons_crom      # Configuration ROM for dcons

2. Убираем:
  options        GEOM_GPT        # GUID Partition Tables.
  options        COMPAT_43       # Compatible with BSD 4.3 [KEEP THIS!]
  device         lnc             # NE2100, NE32-VL Lance Ethernet cards

3. Замечание по опциям: 
   IPSEC_ESP меняем на FAST_IPSEC
   вместо PIM используем MROUTING
   вместо SCHED_4BSD можно поставить SCHED_ULE
   в GENERIC ядре теперь по умолчанию включены:
     cpufreq, dumb, uart, fwip (IP over FireWire), wlan_wep, wlan_ccmp и wlan_tkip

Читаем /usr/src/UPDATING

Готовимся к обновлению:
   mergemaster -p

Собираем "мир" и ядро:
   cd /usr/adm && make world-build kernel-build

Устанавливаем FreeBSD 7.0
   make kernel-install world-install

Чистим хвосты FreeBSD 6.3:
   rm -f /etc/rc.d/ike /etc/rc.d/pccard /etc/rc.d/pcvt /etc/rc.d/ramdisk
   rm -f /etc/rc.d/ramdisk-own /etc/rc.d/usbd
   make etc
   make clean

Перезагружаем машину
   shutdown -r now

Продолжаем чистку хвостов:
   cd /; exec `/usr/bin/which bash sh | head -1`
   PATH=/bin:/usr/bin:/sbin:/usr/sbin; umask 022; unset TMOUT

Ищем что можно удалить:
   ( for dir in /bin /sbin /usr/bin /usr/sbin /usr/libexec /usr/libdata; do \
      find $dir -mtime +2 -type f -xdev -print; \
      find $dir -mtime +2 -type l -xdev -print; \
      done ) >/tmp/remove
  
Смотрим что будем удалять, внимательно анализируем /tmp/remove
Удаляем:
   cat /tmp/remove | xargs rm -f

Ищем что нужно переместить:
   ( for dir in /lib /usr/lib; do \
      find $dir -mtime +2 -type f -xdev -print; \
      find $dir -mtime +2 -type l -xdev -print; \
      done ) | grep -v /usr/lib/compat >/tmp/move

Смотрим что будем перемещать, внимательно анализируем /tmp/move
   for x in `cat /tmp/move`; do chflags noschg $x; mv $x /usr/lib/compat/; done

Подчищаем системы после сборки:
   cd /usr/src; make BATCH_DELETE_OLD_FILES=YES delete-old delete-old-libs

Окончатально перезагружаемся в FreeBSD 7.0
   shutdown -r now

Пересобираем установленные дополнительные приложения, 
так как они могут ссылаться на старые библиотеки.
   portupgrade -faP
 
28.02.2008 , Источник: http://people.freebsd.org/~rse/upgr...
Ключи: freebsd, upgrade, makeworld / Лицензия: CC-BY
Раздел:    Корень / Администратору / Система / FreeBSD специфика / Установка и апгрейд FreeBSD и приложений.

Обсуждение [ Линейный режим | Показать все | RSS ]
  • 1.1, zuborg (?), 20:07, 28/02/2008 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    ставить бинари до того как запущено новое ядро - автору жутко везет если он не разу не попалился на этом
     
     
  • 2.2, Сергей (??), 20:55, 28/02/2008 [^] [^^] [^^^] [ответить]  
  • +/
    >ставить бинари до того как запущено новое ядро - автору жутко везет
    >если он не разу не попалился на этом

    А как вы предлагаете?

     
     
  • 3.5, cvsup (ok), 23:17, 28/02/2008 [^] [^^] [^^^] [ответить]  
  • +/
    оказывается, в первую очередь следует ставить ядро, и затем - мир.
    об этом написано на каждом углу^W^Wоф. сайте и в src/UPDATING
     
  • 2.7, Mono (?), 10:31, 29/02/2008 [^] [^^] [^^^] [ответить]  
  • +/
    Все правильно написано. Вначале ставится compat6x от FreeBSD 7.0, а вот ребут в single посе установки ядра семурки обещает вам немало секса, так как бинари от шестерки с ним работать не будут. Порты как я понял обновляются через freebsd-adm
     
     
  • 3.8, zuborg (?), 13:08, 29/02/2008 [^] [^^] [^^^] [ответить]  
  • +/
    Учите матчасть, уважаемый
    Ядро 7-ки поддерживает бинари 6-ки, потому что обратная совместимость (для основных ABI редко что меняется, а для тех что меняется есть options COMPAT_FREEBSD6 )
    А обратное далеко не верно
    И вот если на старом ядре поставить новые несовместимые бинари, причем до установки собственно ядра (ребут запустит старое ядро), и причем частично, потому что с момента когда переастанут работать sh,cp и иже с ними, доставить новые бинари до конца не получится - вот это будет незабываемый секис
     
  • 3.14, Allan Sundry (?), 13:45, 03/03/2008 [^] [^^] [^^^] [ответить]  
  • +/
    >а вот ребут
    >в single посе установки ядра семурки обещает вам немало секса, так
    >как бинари от шестерки с ним работать не будут.

    Вы пробовали то о чем пишете?!
    Обновил коды cvsup, собрал мир и ядро, установил ядро, перезаргузился и поставил мир! После чего пересобрал порты. См. http://www.freebsd.org/releases/7.0R/announce.html

     
  • 3.33, Аноним (-), 12:23, 16/06/2009 [^] [^^] [^^^] [ответить]  
  • +/
    >Все правильно написано. Вначале ставится compat6x от FreeBSD 7.0, а вот ребут
    >в single посе установки ядра семурки обещает вам немало секса, так
    >как бинари от шестерки с ним работать не будут. Порты как
    >я понял обновляются через freebsd-adm

    Только что ехал с 6.2 до 7.2 без freebsd-adm и никокого секса НЕБЫЛО

     

  • 1.3, cvsup (ok), 23:11, 28/02/2008 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    пример того, как *НЕ НАДО* делать
     
     
  • 2.6, Bocha (??), 07:16, 29/02/2008 [^] [^^] [^^^] [ответить]  
  • +/
    Согласен, какой-то ужас вообще. Есть /usr/src/UPDATING где всё описано куда более просто и понятно, всю жизнь именно тем инструкциям следую, всё быстро, просто и гладко.
     

  • 1.4, cvsup (ok), 23:15, 28/02/2008 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    как делать *ПРАВИЛЬНО* - читать здесь
    http://www.freebsd.org/releases/7.0R/announce.html
    подробно - здесь
    http://www.daemonology.net/blog/2007-11-11-freebsd-major-version-upgrade.html
     
     
  • 2.27, Аноним (27), 06:10, 22/03/2008 [^] [^^] [^^^] [ответить]  
  • +/
    почему-то (http://www.daemonology.net/blog/2007-11-11-freebsd-major-ver...)
    в правильном варианте не пишут про косяк с деревом портов, дбшкой и руби :)
    та схема которая описана как фиксанатуть portupgrade ни-ра не рабочая
     

  • 1.9, Аноним (-), 16:45, 29/02/2008 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Для особо "одаренных". в cvsup нужно говорить RELENG_7_0.
     
     
  • 2.15, Planner (?), 16:39, 03/03/2008 [^] [^^] [^^^] [ответить]  
  • +/
    >Для особо "одаренных". в cvsup нужно говорить RELENG_7_0.

    чем плоха RELENG_7 а.к.а 7.0-STABLE?

     

  • 1.10, Кирилл (??), 19:26, 29/02/2008 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    я делал через CVSUP. Все прикрасно встало. И на счёт того что ядро 7.0 не будет работать с бинари 6.x туфта. Я установил ядро, перегрузил систему и устновил бинари.
     
  • 1.11, aZ (?), 13:08, 01/03/2008 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Действительно, чушь полная написана.
     
  • 1.12, MicRO (?), 17:11, 01/03/2008 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Обновлялся 2 раза сначала с помощью freebsd-upgrade вроде всё гуд но pppoe незавелося сразу пришлось как всегда csup'нуться и всё прошло опятьже как всегда нормально Ж)
    что я сделал неправильно? (c) bash.org.ru
    а тут чтото больно много телодвижений нуна делать О_о
     
  • 1.13, gss (?), 13:33, 03/03/2008 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    обновился до семерки совершенно без проблем. Единственное что пришлось пересобрать - mpd, что вполне логично.
     
  • 1.16, Planner (?), 16:41, 03/03/2008 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    единственное, что полезного почерпнул из этой ерунды - это BATCH_DELETE_OLD_FILES=YES. Остальное - лажа полная. Люди, не делайте так, как афтор, и будете здоровы.
     
     
  • 2.24, Анонкун (?), 19:04, 12/03/2008 [^] [^^] [^^^] [ответить]  
  • +/
    >единственное, что полезного почерпнул из этой ерунды - это BATCH_DELETE_OLD_FILES=YES. Остальное -
    >лажа полная. Люди, не делайте так, как афтор, и будете здоровы.
    >

    Не хочешь написать ru@ (Руслану) чтоб он документировал эту опцию хотябы в комментариях? ;)

     
  • 2.31, Аноним (27), 09:55, 22/04/2008 [^] [^^] [^^^] [ответить]  
  • +/
    >единственное, что полезного почерпнул из этой ерунды - это BATCH_DELETE_OLD_FILES=YES.

    хосспади, вот так это делается:

    yes | make delete-old

    Зачем в голове держать названия ненужных опций?

     

  • 1.17, iZEN (?), 21:39, 03/03/2008 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Всё гораздо проще.

    Конфиг /etc/sys-supfile:
    *default host=cvsup7.FreeBSD.org
    *default base=/var/db
    *default prefix=/usr
    *default release=cvs
    *default tag=RELENG_7_0
    *default delete use-rel-suffix
    *default compress
    src-all

    Обновление:
    % csup /etc/sys-supfile

    Команды по пересборке системы:
    % cd /usr/obj && chflags -R noschg *
    % cd /usr/obj && rm -rf *
    % cd /usr/src && make cleandir && make cleandir && make cleandir
    % cd /sys/i386/conf && cp GENERIC SIMPLEGENERIC
    % ee /sys/i386/conf/SIMPLEGENERIC #<--тут отредактировал конфиг ядра, если нужно
    % ee /etc/make.conf #<--тут отредактировал конфиг make, если нужно
    % cd /usr/src && make -j2 buildworld
    % cd /usr/src && make buildkernel KERNCONF=SIMPLEGENERIC
    % cd /usr/src && make installkernel KERNCONF=SIMPLEGENERIC
    % reboot
    % ps
    % top #<--тут проверил работоспособность нового ядра
    ^C
    % cd /usr/src && make installworld
    % mergemaster #<--тут обновил конфиги
    % reboot

     
  • 1.18, unisol (?), 23:00, 03/03/2008 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >
    >Устанавливаем комплект файлов для обратной совместимости.
    >
    >1. Загружаем localedata-5.4.tbz и compat6x-i386-6.x.xxxxxx.yyyymm.tbz
    ftp://ftp6.ru.freebsd.org/pub/FreeBSD/ports/i386/packages-7.0-release/All
    >2. Первый файл распаковываем (через pkg_add имя_пакета)
    >в /usr/local/share/compat/, второй в /usr/local/lib/compat/

    Дасс - попробывали бы вы это на удалённом сервере делать :).

    Мой способ - веселее:
    Изучаем возможные проблемы с железом (типа device bge малость поломан). Думаем, а нафиг оно нам? Если понятно нафига - то вперёд.
    Берём какой-то пустой раздел, в него распаковываем binary distribution, рихтуем в нём etc/fstab - в нём пишем, что корневой раздел это тот, куда мы распаковали, копируем туда /etc/*asswd, /etc/*wd.db, /etc/group, /etc/rc.local, /etc/rc.conf
    далее - перезаписываем новое ядро в свой корневой раздел и редактируем /etc/fstab.
    sync, mount -u -o ro всему что можно, перегружаемся (есть вероятность виса. лучше сделать /rescue/reboot -nlq ), проводим "настоящий апгрейд".

    Я так с 6.2/i386 на 7.0/amd64 уехал.

    Лучше всего такое делать, если есть 2 физических диска - тогда можно подстраховаться и сделать так, чтоб махнув диски местами получить рабочий сервер.
    Или просто распаковать на второй диск и попросить махнуть шлейфы на дисках местами, описав чего вы этим хотите добиться.
    Ну и, конечно, "тренируйтесь на кошках!", до того как :).

     
  • 1.19, terr0rist (??), 17:02, 05/03/2008 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    2 iZen
    % cd /usr/src && make -j2 buildworld
    make -j* НЕ РЕКОМЕНДУЕТСЯ разработчиками Фри. См. /usr/src/UPDATING. У меня были проблемы с билдом на 5.Х, после этого не рискую и запускаю без -j.

    % cd /usr/src && make buildkernel KERNCONF=SIMPLEGENERIC
    % cd /usr/src && make installkernel KERNCONF=SIMPLEGENERIC

    Почему не просто
    % cd /usr/src && make kernel KERNCONF=SIMPLEGENERIC
    ?

    2 All
    Странно, но на моем компе фря 7.0 не работает стабильно.
    Примеры:
    1. при вставке СД в сидюшник ядро не грузится, а виснет на определении сидюка.
    2. При монтировании ntfs-раздела (read-only!) странным образом удаляется ntldr, в результате венда не грузится (решается только восстановлением ее из бэкапа).
    3. И т.д.

    После двух дней (ночей) секса поставил 6.3.

    Если честно, такого разочарования от новой фри я еще не испытывал со времен 5.0-RELEASE.

     
     
  • 2.20, iZEN (?), 20:34, 05/03/2008 [^] [^^] [^^^] [ответить]  
  • +/
    >2 iZen
    >% cd /usr/src && make -j2 buildworld
    >make -j* НЕ РЕКОМЕНДУЕТСЯ разработчиками Фри. См. /usr/src/UPDATING. У меня были проблемы
    >с билдом на 5.Х, после этого не рискую и запускаю без
    >-j.

    А что за проблемы у вас были?
    Корректное поведение опции -j зависит от GCC.

    >
    >% cd /usr/src && make buildkernel KERNCONF=SIMPLEGENERIC
    >% cd /usr/src && make installkernel KERNCONF=SIMPLEGENERIC
    >
    >Почему не просто
    >% cd /usr/src && make kernel KERNCONF=SIMPLEGENERIC
    >?

    Потому что двумя командами легче отследить ошибки каждого этапа компиляции и инсталляции, иначе сложно локализовать возникшую проблему и оперативно исправить её.


    >[оверквотинг удален]
    >Странно, но на моем компе фря 7.0 не работает стабильно.
    >Примеры:
    >1. при вставке СД в сидюшник ядро не грузится, а виснет на
    >определении сидюка.
    >2. При монтировании ntfs-раздела (read-only!) странным образом удаляется ntldr, в результате венда
    >не грузится (решается только восстановлением ее из бэкапа).
    >3. И т.д.
    >После двух дней (ночей) секса поставил 6.3.
    >Если честно, такого разочарования от новой фри я еще не испытывал со
    >времен 5.0-RELEASE.

    FreeBSD не для вас. :)

     
     
  • 3.23, Аноним (-), 12:54, 09/03/2008 [^] [^^] [^^^] [ответить]  
  • +/
    >А что за проблемы у вас были?

    А ты ни разу не видел насколько бесполезные сообщения об ошибке получаются при использовании данной опции?

    >Корректное поведение опции -j зависит от GCC.

    gcc: unrecognized option '-j'

    Иногда лучше жевать...

     

  • 1.21, San (??), 21:50, 05/03/2008 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Чё ругатсо-то?
    Вы посмотрите на дату последней модификации первоисточника %)

    >Upgrading from FreeBSD 6.X to FreeBSD 7.X
    >=========================================
    >
    >Author:   Ralf S. Engelschall <rse@FreeBSD.org>
    >Created:  2007-05-24
    >Modified: 2007-07-13
    >Version:  1.0

    Я так не делал.
    Такие танцы с бубном наверное нужны были раньше, а сегодня обовил 6.3 на 7.0 по стандартной схеме. Полёт нормальный.

     
  • 1.22, butcher (ok), 11:27, 08/03/2008 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Добавлю по этому совету:
    1. Не рекомендую так делать, есть старые и описанные в документации методы.
    2. Не забывайте после установки ядра перезагружаться. Некоторые не делают этого и сразу же обновляют мир. Есть очень большой подводный камень, от которого не уйти если пропустить перезагрузку. К примеру, обнаружены проблемы с nForce'овскими ATA контроллерами, в частности на MSI материнках. Соответсвенно после обновлённого ядра и мира вы получаете полностью нерабочую систему без возможности отката.
     
     
  • 2.25, Planner (?), 08:09, 13/03/2008 [^] [^^] [^^^] [ответить]  
  • +/
    > обнаружены проблемы с nForce'овскими ATA контроллерами, в частности на MSI материнках.

    у меня такое - CRC файлов при чтении данных с SATA-драйва не сходится (вне зависимости от ФС), средствами BIOS'а (IRQ, etc) решить не смог. Что посоветуете? В 6.2-i386 всё нормально.

     
     
  • 3.26, butcher (ok), 08:57, 13/03/2008 [^] [^^] [^^^] [ответить]  
  • +/
    >> обнаружены проблемы с nForce'овскими ATA контроллерами, в частности на MSI материнках.
    >
    >у меня такое - CRC файлов при чтении данных с SATA-драйва не
    >сходится (вне зависимости от ФС), средствами BIOS'а (IRQ, etc) решить не
    >смог. Что посоветуете? В 6.2-i386 всё нормально.

    Хз.. Нет на руках такой матири, чтобы посмотреть, другие ATA контроллеры есть, чтобы проверить? Проблема только с nForce? По сути в драйвере ATA ничего не менялось, что бы могло вызвать такие проблемы. Да и на материнках от других вендоров работает всё нормально (у меня на ASUS'е)

     
     
  • 4.29, butcher (ok), 08:21, 25/03/2008 [^] [^^] [^^^] [ответить]  
  • +/
    >ничего не менялось, что бы могло вызвать такие проблемы. Да и
    >на материнках от других вендоров работает всё нормально (у меня на
    >ASUS'е)

    Нашёл один баг, фикс скоро будет в CURRENT, не знаю решит ли это проблему.

     

  • 1.28, kamuzon (?), 23:29, 22/03/2008 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Начитался тут вас всех и уже боюсь, однако до сих пор всегда обновлялся УДАЛЁННО по схеме:
    cd /usr/src/
    mergemaster -p
    make -j4 buildworld (-j8 на dual cpu)
    make -j4 buildkernel KERNCONF=KMD
    make installkernel KERNCONF=KMD (здесь без -jX потому что на некоторых машинах происходил сбой -- не успевал контроллер hdd?!?! -- не знаю)
    make installworld
    mergemaster -iU
    reboot

    Единожды испытал грабли, когда обновлял систему с RELENG_6_2 на RELENG_6. С какого перепугу я собирал на той машине RELENG_6_2 я уже не помню. Там была проблема с libc.so.6, который оказался несовместим. Пришлось копировать его с уже обновлённой машины. И, кстати, пришлось очищать /usr/obj/. И здесь конечно удалённо решить проблему не получилось.

    Как иначе обновлять пару десятков серверов УДАЛЁННО?! Я не знаю.


    Бубнов с ядром предпочитаю избегать, поэтому мой конфиг ядра выглядит так (сам файл лежит в ~home, а в нужном месте сделан симлинк):
    ====
    include GENERIC

    options         IPFIREWALL
    options         IPFIREWALL_FORWARD
    options         IPFIREWALL_VERBOSE
    options         DUMMYNET
    options         IPFILTER
    options         DEVICE_POLLING
    options         HZ=1000
    ====
    Это позволяет избегать контроля изменившихся параметров. Система всегда собирается с наисвежайшим конфигом ядра.


    Систему всегда обновляю до последнего состояния сырцов, а не до _0/RELEASE и т.д.
    вот так это было для 6.X:
    ====
    *default host=cvsup.yasnet.ru
    *default base=/var/db
    *default prefix=/usr
    *default release=cvs tag=RELENG_6
    *default delete use-rel-suffix

    *default compress

    src-all
    ====

    Теперь конечно сначала на кошечках испытаю удалённое обновление с 6.2/6.3 до 7.0.
    и после ребута, если всё получится, то запущу ещё
    portupgrade -faP

    ЗЫ Обновляться планирую до RELENG_7.
    О результате возможно напишу сюда. ;)

     
     
  • 2.30, kamuzon (?), 20:54, 31/03/2008 [^] [^^] [^^^] [ответить]  
  • +/
    Могу сообщить, что успешно обновился удалённо.
    Сейчас пересобираю порты.
    Единственно были какие-то варнинги при installkernel
    куча строк, начинающихся на kldxref: unknown metdata record 0 in file
     

  • 1.32, MASiK (?), 14:45, 26/02/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Отличная Статья, обновился аж до 7.1
    Автору спасибо
     
     
  • 2.35, mediaunix.com (?), 16:54, 21/11/2009 [^] [^^] [^^^] [ответить]  
  • +/
    Про обновление до 7.2 коротко и по пунктам здесь:  http://mediaunix.com/bg/2009/10/31/perexodim-s-freebsd-7-1-na-7-2/
     

  • 1.34, ProFTP (?), 22:52, 05/07/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    статью написал http://www.lissyara.su/?id=1957
     

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:




    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру