LINUX.ORG.RU

История изменений

Исправление kostik87, (текущая версия) :

Если уж очень хочется и по другому никак - то собираете ваше приложение так, чтобы оно ставилось и искало свои файлы и библиотеки относительно /opt ли /usr/local.

Т.е. в

  • /opt/bin/ваша_программа - исполняемый файл
  • /opt/lib - библиотеки вашей программы
  • /opt/share - прочие файлы вашей программы
  • /opt/var - изменяемые данные вашей программы

Это должно быть настроено корректно в сборочном окружении.

Вот здесь косвенно можно класть свои библиотеки, но в целом не рекомендуется.

Правильный подход - сборка под конкретный релиз дистрибутива набора DEB пакетов, в которых корректно указаны DEB-пакеты - зависимости из официального репозитория дистрибутива в Internet или на DVD диске.

В случае Astra SE можно и так и так.

Вот содержимое пакета с библиотекой libvlc5:

dpkg-deb -c libvlc5_3.0.21-0astra2+b3_amd64.deb
drwxr-xr-x root/root         0 2025-10-23 12:50 ./
drwxr-xr-x root/root         0 2025-10-21 22:36 ./usr/
drwxr-xr-x root/root         0 2025-10-21 22:36 ./usr/lib/
drwxr-xr-x root/root         0 2025-10-23 12:50 ./usr/lib/x86_64-linux-gnu/
-rw-r--r-- root/root    154104 2025-10-21 22:36 ./usr/lib/x86_64-linux-gnu/libvlc.so.5.6.1
drwxr-xr-x root/root         0 2025-10-21 22:36 ./usr/share/
drwxr-xr-x root/root         0 2025-10-21 22:36 ./usr/share/bug/
drwxr-xr-x root/root         0 2025-10-21 22:36 ./usr/share/bug/libvlc5/
-rw-r--r-- root/root       292 2022-11-23 21:49 ./usr/share/bug/libvlc5/control
-rw-r--r-- root/root      1156 2022-11-23 21:49 ./usr/share/bug/libvlc5/presubj
drwxr-xr-x root/root         0 2025-10-21 22:36 ./usr/share/doc/
drwxr-xr-x root/root         0 2025-10-21 22:36 ./usr/share/doc/libvlc5/
-rw-r--r-- root/root       206 2025-10-21 22:36 ./usr/share/doc/libvlc5/changelog.Debian.amd64.gz
-rw-r--r-- root/root      3205 2025-10-21 22:36 ./usr/share/doc/libvlc5/changelog.Debian.gz
-rw-r--r-- root/root     70963 2024-06-05 18:57 ./usr/share/doc/libvlc5/changelog.gz
-rw-r--r-- root/root     59112 2022-12-06 01:04 ./usr/share/doc/libvlc5/copyright
lrwxrwxrwx root/root         0 2025-10-21 22:36 ./usr/lib/x86_64-linux-gnu/libvlc.so.5 -> libvlc.so.5.6.1

Именно с этой библиотекой (/usr/lib/x86_64-linux-gnu/libvlc.so.5) должна быть слинкована ваша программа, а в зависимостях DEB пакета с ней должен быть указан пакет c libvlc5:

Depends: libc6 (>= 2.4), liblc5 (>= 3.0.21)

Исходная версия kostik87, :

Если уж очень хочется и по другому никак - то собираете ваше приложение так, чтобы оно ставилось и искало свои файлы и библиотеки относительно /opt ли /usr/local.

Т.е. в

  • /opt/bin/ваша_программа - исполняемый файл
  • /opt/lib - библиотеки вашей программы
  • /opt/share - прочие файлы вашей программы
  • /opt/var - изменяемые данные вашей программы

Это должно быть настроено корректно в сборочном окружении.

Вот здесь косвенно можно класть свои библиотеки, но в целом не рекомендуется.

Правильный подход - сборка под конкретный релиз дистрибутива набора DEB пакетов, в которых корректно указаны DEB-пакеты - зависимости из официального репозитория дистрибутива в Internet или на DVD диске.

В случае Astra SE можно и так и так.

Вот содержимое пакета с библиотекой libvlc5:

dpkg-deb -c libvlc5_3.0.21-0astra2+b3_amd64.deb
drwxr-xr-x root/root         0 2025-10-23 12:50 ./
drwxr-xr-x root/root         0 2025-10-21 22:36 ./usr/
drwxr-xr-x root/root         0 2025-10-21 22:36 ./usr/lib/
drwxr-xr-x root/root         0 2025-10-23 12:50 ./usr/lib/x86_64-linux-gnu/
-rw-r--r-- root/root    154104 2025-10-21 22:36 ./usr/lib/x86_64-linux-gnu/libvlc.so.5.6.1
drwxr-xr-x root/root         0 2025-10-21 22:36 ./usr/share/
drwxr-xr-x root/root         0 2025-10-21 22:36 ./usr/share/bug/
drwxr-xr-x root/root         0 2025-10-21 22:36 ./usr/share/bug/libvlc5/
-rw-r--r-- root/root       292 2022-11-23 21:49 ./usr/share/bug/libvlc5/control
-rw-r--r-- root/root      1156 2022-11-23 21:49 ./usr/share/bug/libvlc5/presubj
drwxr-xr-x root/root         0 2025-10-21 22:36 ./usr/share/doc/
drwxr-xr-x root/root         0 2025-10-21 22:36 ./usr/share/doc/libvlc5/
-rw-r--r-- root/root       206 2025-10-21 22:36 ./usr/share/doc/libvlc5/changelog.Debian.amd64.gz
-rw-r--r-- root/root      3205 2025-10-21 22:36 ./usr/share/doc/libvlc5/changelog.Debian.gz
-rw-r--r-- root/root     70963 2024-06-05 18:57 ./usr/share/doc/libvlc5/changelog.gz
-rw-r--r-- root/root     59112 2022-12-06 01:04 ./usr/share/doc/libvlc5/copyright
lrwxrwxrwx root/root         0 2025-10-21 22:36 ./usr/lib/x86_64-linux-gnu/libvlc.so.5 -> libvlc.so.5.6.1

Именно с этой библиотекой должна быть слинкована ваша программа, а в зависимостях DEB пакета с ней должен быть указан пакет c libvlc5:

Depends: libc6 (>= 2.4), liblc5 (>= 3.0.21)