Вопрос или проблема
Я пытаюсь установить программу, которая поддерживается только на Linux, в среде Ubuntu 24.04.1 desktop AMD64 внутри UTM.
В настоящее время Ubuntu работает правильно внутри UTM. Я в процессе установки необходимых библиотек для программы, но сталкиваюсь с проблемами.
После выполнения:
sudo dpkg --add-architecture i386
sudo apt-get update
Я застрял с следующей командой:
sudo apt-get install libncurses5:i386 g++-5 g++-5-multilib libgfortran3:amd64 libicu-le-hb0 libiculx60
Каждый раз я получаю ошибку: E: Невозможно найти пакет <library_name>.
Я пробовал решения, предложенные на международных форумах, которые нашел через Google, но они не сработали. Одно из предложений заключалось в том, чтобы изменить репозитории в vim (я использую vim, потому что команда command+c не работает в nano):
sudo vim /etc/apt/sources.list.d/ubuntu.sources
Я добавил адрес focal-security, но это не помогло. (кодовое имя Ubuntu, которое я использую — “noble”). Вот ссылка на источник, которую я использовал: https://stackoverflow.com/questions/73464111/libncurses-so-5-library-missing-in-ubuntu-22-04-installation-for-arm64-rapsberr
Я также попробовал загрузить и установить библиотеки вручную:
wget http://archive.ubuntu.com/ubuntu/pool/universe/n/ncurses/libtinfo5_6.4-2_amd64.deb
sudo dpkg -I libtinfo5_6.4-2_amd64.deb
rm -f libtinfo5_6.4-2_amd64.deb
wget http://archive.ubuntu.com/ubuntu/pool/universe/n/ncurses/libncurses5_6.4-2_amd64.deb
Я выполнил эти команды, чтобы заменить одну из проблемных библиотек (libncurses5:i386):
sudo apt install libn32ncurses5-dev
(Результат: не удалось)
sudo apt install libncurses5
sudo apt install libncurses5-dev -y
(Результаты: оба успешны)
Этот метод также был найден на международном форуме, но хотя некоторые библиотеки установились успешно, другие все равно выдали ошибки.
Я пытался искать альтернативные библиотеки, которые могли бы заменить проблемные:
libncurses5:i386
g++-5
g++-5-multilib
libgfortran3:amd64
libicu-le-hb0
libiculx60
Я искал “noble” для всех вышеперечисленных библиотек, но не смог ничего найти.
Кроме того, согласно руководству программы моделирования, я попробовал заменить i386 на i686, но это тоже не сработало. Я не уверен, почему некоторые библиотеки не устанавливаются. Из около 20 файлов библиотеки только эти 6 проблемные.
Кроме того, я нашел следующую статью в старом блоге 2015 года в Корее (https://huammmm1.tistory.com/506).
*Версия Ubuntu, которую мы используем, имеет поддерживаемый период для каждого релиза (для обычной версии — 9 месяцев, для версий LTS — 5 лет и т.д.). Как только период поддержки для конкретной версии заканчивается, репозиторий обновлений и репозиторий пакетов для этой версии больше не поддерживаются. Проверить, закончилась ли поддержка вашей версии Ubuntu, можно по следующей ссылке:
https://wiki.ubuntu.com/Releases#End_of_Life_.28EOL.29
В моем случае я использовал Ubuntu 11.04 Natty, и поддержка Natty закончилась в октябре 2012 года.
Поскольку поддержка моей версии Ubuntu закончилась, я больше не могу использовать репозитории обновлений и пакетов. Поэтому, когда я выполнил sudo apt-get update, я получил ошибку, подобную вышеописанной, сообщающую, что не удается найти IP-адрес для домена. И поскольку репозиторий не удалось обновить, выполнение sudo apt-get install тоже дало ошибку "невозможно найти пакет".
Решение:
Если вы хотите продолжать использовать репозитории на неподдерживаемой версии Ubuntu, вам нужно изменить сервер репозитория, указанный в файле /etc/apt/sources.list, на сервер old-releases.
Сначала откройте файл /etc/apt/sources.list с помощью vi, чтобы увидеть, какую информацию он содержит.
Ключевая часть, на которую нужно обратить внимание:
deb http://us.archive.ubuntu.com
deb-src http://us.archive.ubuntu.com
В моем случае это означает, что сервер репозитория настроен на us.archive.ubuntu.com. Чтобы продолжать использовать репозиторий, измените это на old-releases.ubuntu.com.
Вы можете использовать команду замены в vi следующим образом:
:%s/us.archive.ubuntu.com/old-releases.ubuntu.com/g
Пока вы находитесь в этом, измените другие два репозитория:
:%s/security.ubuntu.com/old-releases.ubuntu.com/g
:%s/extras.ubuntu.com/old-releases.ubuntu.com/g
После внесения этих изменений выполните sudo apt-get update, и затем вы сможете устанавливать пакеты, используя sudo apt-get install.
Ссылка: http://askubuntu.com/questions/91815/how-to-install-software-or-upgrade-from-an-old-unsupported-release*
Спасибо, что нашли время прочитать мое сообщение. Если у вас есть какие-либо предложения или даже частичные советы, я буду очень признателен.
Ответ или решение
Установка библиотек старых версий на Ubuntu 24.04.1 (Apple Silicon MacBook Air)
Введение
Ваша задача заключается в установке определенных библиотек для программы, работающей в среде Ubuntu 24.04.1, которая эмулируется через UTM на MacBook Air с чипом Apple Silicon. Мы сталкиваемся с проблемой, связанной с недоступностью некоторых библиотек, таких как libncurses5:i386
, g++-5
, и других. Давайте рассмотрим шаги, которые помогут вам успешно установить необходимые библиотеки, используя репозитории старых версий.
Шаг 1: Настройка архитектур
Первым делом убедитесь, что вы добавили поддержку архитектуры i386
:
sudo dpkg --add-architecture i386
sudo apt-get update
Шаг 2: Изменение репозиториев
Если вы столкнулись с ошибкой E: Unable to locate package
, это может свидетельствовать о том, что нужные библиотеки недоступны в стандартных репозиториях. Для решения данной проблемы необходимо перенастроить файлы источников APT на старые репозитории. Для этого выполните следующие действия:
-
Откройте файл источников:
sudo vim /etc/apt/sources.list
Если вы предпочитаете работать в
nano
, это можно также сделать с помощью команды:sudo nano /etc/apt/sources.list
-
Найдите строки, содержащие
us.archive.ubuntu.com
иsecurity.ubuntu.com
, и замените их наold-releases.ubuntu.com
. Для Vim используйте::%s/us.archive.ubuntu.com/old-releases.ubuntu.com/g :%s/security.ubuntu.com/old-releases.ubuntu.com/g
В
nano
манипуляции предстоит делать вручную. -
После внесения изменений выполните обновление:
sudo apt-get update
Шаг 3: Установка библиотек
Теперь вы можете пытаться установить нужные пакеты. Попробуйте выполнить следующую команду:
sudo apt-get install libncurses5:i386 g++-5 g++-5-multilib libgfortran3:amd64 libicu-le-hb0 libiculx60
Если по-прежнему возникают ошибки, попробуйте установить альтернативные известные пакеты:
sudo apt install libncurses5 libncurses5-dev
Шаг 4: Установка недостающих библиотек вручную
Если некоторые библиотеки по-прежнему недоступны, вы можете загрузить их вручную с помощью команды wget
. Например:
wget http://old-releases.ubuntu.com/ubuntu/pool/universe/n/ncurses/libtinfo5_6.4-2_amd64.deb
sudo dpkg -i libtinfo5_6.4-2_amd64.deb
Убедитесь, что вы загружаете версии библиотек, соответствующие вашей архитектуре.
Заключение
Следуя приведенным выше шагам, вы сможете корректно настроить вашу среду Ubuntu 24.04.1 для установки старых библиотек и необходимых пакетов. Иногда возникает необходимость обращаться к архивам, особенно когда версии устаревают и не поддерживаются. Убедитесь, что перед установкой вы проверяете совместимость библиотек и их соответствие вашим требованиям.
Если у вас возникнут дополнительные вопросы или проблемы, не стесняйтесь обращаться за помощью на форумах или в сообществе пользователей Ubuntu.