Загрузка данных
Теперь причина ясна. В вашей ALT p11 установлен `eepm 3.64.35`, а пакет OpenCode после перепаковки получает ложную зависимость:
```text
libc.so()(64bit)
```
Это **не нормальная зависимость glibc** для ALT. У вас glibc, конечно, установлен — без него сама система не работала бы. Проблема в генерации метаданных RPM при перепаковке.
В более новых `eepm` механизм обработки библиотечных зависимостей менялся: появились отдельные исправления фильтрации `.so`-зависимостей; текущий Sisyphus уже содержит значительно более новый `eepm` 3.64.66, тогда как у вас 3.64.35. ([GitHub][1])
### Я бы сейчас выбрал AppImage
Для **OpenCode Desktop на ALT p11 это самый чистый вариант**: не нужно ломать RPM-зависимости и вмешиваться в пакетную базу. Сам OpenCode официально выпускает Desktop для Linux в `.deb`, `.rpm` **и `.AppImage`**. ([GitHub][2])
Скачайте файл вида:
```text
opencode-desktop-linux-amd64.AppImage
```
и установите его в домашний каталог:
```bash
mkdir -p ~/.local/opt/opencode
mv ~/Загрузки/opencode-desktop-linux-amd64.AppImage \
~/.local/opt/opencode/opencode-desktop.AppImage
chmod +x ~/.local/opt/opencode/opencode-desktop.AppImage
```
Запуск:
```bash
~/.local/opt/opencode/opencode-desktop.AppImage
```
Если запускается — вопрос решён без `rpm`, `apt-get` и `eepm`.
---
### Если AppImage пожалуется на FUSE
Можно вообще не использовать FUSE, а распаковать AppImage:
```bash
cd ~/.local/opt/opencode
./opencode-desktop.AppImage --appimage-extract
```
Появится каталог:
```text
squashfs-root
```
Переименуем:
```bash
mv squashfs-root AppDir
```
И запускаем:
```bash
~/.local/opt/opencode/AppDir/AppRun
```
Такой способ часто удобнее именно на дистрибутивах, для которых приложение официально не собиралось.
---
### А что с вашим RPM?
Для начала можете подтвердить, что зависимость действительно искусственная:
```bash
rpm -q --whatprovides 'libc.so()(64bit)'
```
С большой вероятностью получите, что поставщика нет.
А вот реальная glibc:
```bash
rpm -q glibc-core
```
и:
```bash
ldd --version
```
ALT p11 действительно содержит glibc. ([Alt Linux Packages][3])
Поэтому **устанавливать какую-то дополнительную `libc` не надо**. Особенно не нужно искать сторонний RPM с `libc.so`: можно повредить систему.
### Можно ли просто сделать `rpm -Uvh --nodeps`?
Технически:
```bash
sudo rpm -Uvh --nodeps \
/var/tmp/tmp.4RAxLIF7z5/opencode-1.18.16-epm1.repacked.2.x86_64.rpm
```
может сработать.
Но я пока **не рекомендую** это делать, потому что сначала стоит выяснить, является ли `libc.so()` только ошибочной RPM-зависимостью или какой-то файл внутри OpenCode действительно слинкован с `libc.so` вместо `libc.so.6`.
Это можно проверить без установки.
Для исходного RPM выполните:
```bash
rpm -qpl ./opencode-desktop*.rpm
```
И отдельно очень полезно:
```bash
rpm -qp --requires ./opencode-desktop*.rpm | grep libc
```
А для перепакованного:
```bash
rpm -qp --requires \
/var/tmp/tmp.4RAxLIF7z5/opencode-1.18.16-epm1.repacked.2.x86_64.rpm | grep libc
```
Если у **исходного** RPM нет
```text
libc.so()(64bit)
```
а у перепакованного он появился — тогда это практически однозначно ошибка старого `eepm`.
### Обновление eepm — второй вариант
Ваш корпоративный репозиторий зафиксировал:
```text
eepm 3.64.35-alt1
http://nexus.mycompany.ru ... p11/date/2025/12/07/
```
То есть обычное:
```bash
sudo apt-get update
sudo apt-get install eepm
```
вам новую версию не даст.
При этом upstream Etersoft официально предлагает установку свежего EPM своим скриптом:
```bash
curl -sL https://eepm.ru/epm.sh | sudo bash /dev/stdin ei
```
и также публикует пакеты EPM через свой Korinf. ([GitHub][4])
**Но в вашем случае я бы этого пока не делал.** Судя по `nexus.mycompany.ru`, у вас корпоративное зеркало/фиксированный snapshot. Подмена системного `eepm` внешней версией может противоречить принятой схеме обновлений.
И тем более **не надо подключать Sisyphus к p11** только ради нового `eepm`.
### Поэтому мой порядок действий
1. **OpenCode CLI** — ставить официальным tar/install-скриптом.
2. **OpenCode Desktop** — использовать `AppImage`.
3. RPM оставить в покое, пока не проверим, откуда возник `libc.so()(64bit)`.
4. Не использовать `--nodeps`, пока не проверим ELF-зависимости.
Пришлите вывод всего **двух команд**:
```bash
rpm -qp --requires ./opencode-desktop*.rpm | grep -E 'libc|libgcc|libstdc'
```
и
```bash
rpm -qp --requires \
/var/tmp/tmp.4RAxLIF7z5/opencode-1.18.16-epm1.repacked.2.x86_64.rpm \
| grep -E 'libc|libgcc|libstdc'
```
По сравнению этих двух выводов я смогу сказать, можно ли безопасно **вырезать только `libc.so()(64bit)` из RPM и собрать нормальный ALT-пакет**, не используя `--nodeps`.
[1]: https://github.com/Etersoft/eepm/blob/master/eepm.spec?utm_source=chatgpt.com "eepm/eepm.spec at master · Etersoft/eepm"
[2]: https://github.com/anomalyco/opencode?utm_source=chatgpt.com "anomalyco/opencode: The open source coding agent."
[3]: https://packages.altlinux.org/en/p11/srpms/glibc/?utm_source=chatgpt.com "p11 - glibc-2.38.0.123.650a0-alt1 - The GNU libc libraries"
[4]: https://github.com/Etersoft/eepm/?utm_source=chatgpt.com "Etersoft EPM package manager"