Кроссгрейд Debian

То что я тут покажу – это вполне необычный способ обновить ОС до 64-бит системы, но он работает.
Первый выпуск Debian с функцией Multiarch – это Wheezy, поэтому вам нужно будет выполнить обновление, прежде чем пытаться выполнить процедуру, описанную здесь.
Полное резервное копирование также настоятельно рекомендуется, так как эта процедура все еще находится в стадии разработки. Переустановка все еще более безопасный вариант. Вы были предупреждены!
Это шаги для преобразования установки i386 в amd64, но они могут применяться для любых других пар архитектуры, если ваша машина может работать как (например, armel и armhf). Вы можете использовать arch-test, чтобы определить, какие архитектуры Debian может работать ваша система. Вы можете установить поддержку добавления qemu-user-static для других архитектур Debian.

1. Добавим новую архитектуру в ОС

# dpkg --print-architecture i386
# dpkg --add-architecture amd64
# dpkg --print-foreign-architectures amd64
# apt-get update

2. Установим подходящее ядро и перезагрузимся

# apt-get install linux-image-amd64:amd64
# reboot
Внимание! Убедитесь, что вы действительно запускаете новое ядро, прежде чем переходить к следующим шагам (uname -a).

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

Сначала необходимо обновить или иным образом проверить все версии пакетов, подлежащие перекрестной интеграции, на этом шаге, чтобы убедиться, что все пакеты amd64 / i386 синхронизированы по версии, в противном случае перекрестная оценка будет нарушена.

4. Кроссгрейдим пакеты установщиков tar, dpkg, apt

Получите все пакеты, необходимые для замены dpkg, tar и apt, затем установите их для новой архитектуры. Это изменение dpkg, которое на самом деле «рассчитывает» на изменение арки по умолчанию. Tar должен быть заменен на dpkg, а не на apt, в противном случае он будет удален, тогда не будет tar, с которым можно было бы исправить положение.
# apt-get --download-only install dpkg:amd64 tar:amd64 apt:amd64
# dpkg --install /var/cache/apt/archives/*_amd64.deb
# dpkg --print-architecture amd64
# dpkg --print-foreign-architectures i386
# apt-get update
Кроссгрейдим зависимости
Если вы дошли до этого уровня, то теперь вы эффективно запускаете amd64, но в основном с пакетами i386. Вы можете попробовать заменить их на соответствующие пакеты amd64. Если это не сработает (еще не все библиотеки обязательно будут конвертированы в Multiarch), можно удалить пакет i386 и установить вместо него версию amd64. Один довольно жестокий способ сделать swap:
dpkg --get-selections | grep :i386 | sed -e s/:i386/:amd64/ | dpkg --set-selections
apt-get -f install
Вам нужно будет ввести «Yes, do as I say», чтобы получить такую возможность.
Поделиться:

Нет комментариев