Возможно ли создавать переносимые приложения для Linux?

Я хотел бы создать набор портативных сетевых утилит, которые можно легко загрузить в систему (у меня будет root-доступ), а затем быстро удалить

Это возможно?

Вот приложения, которые я планирую сделать переносимыми http://linoxide.com/monitoring-2/network-monitoring-tools-linux/

1 ответ

Давайте перечислим причины, по которым при запуске в другом дистрибутиве GNU/Linux приложение не будет работать:

  • Отсутствуют общие библиотеки
  • Общие библиотеки неправильной версии
  • (если вы их использовали) отсутствующие утилиты командной строки
  • Срочные изменения в API ядра

Чтобы бороться с проблемой с библиотеками, вы можете просто связать все статически при сборке. Это значительно увеличит размер приложения, но да, уменьшит количество зависимостей времени выполнения.

С утилитами командной строки можно бороться, ориентируясь на какой-то конкретный стандарт, например, POSIX.

Вы не можете бороться с изменением в API ядра, но оно (часть пользовательского пространства) в любом случае очень стабильно - достаточно стабильно, что вы можете просто не беспокоиться об этом.

Другие вопросы по тегам