Возможно ли создавать переносимые приложения для Linux?
Я хотел бы создать набор портативных сетевых утилит, которые можно легко загрузить в систему (у меня будет root-доступ), а затем быстро удалить
Это возможно?
Вот приложения, которые я планирую сделать переносимыми http://linoxide.com/monitoring-2/network-monitoring-tools-linux/
1 ответ
Давайте перечислим причины, по которым при запуске в другом дистрибутиве GNU/Linux приложение не будет работать:
- Отсутствуют общие библиотеки
- Общие библиотеки неправильной версии
- (если вы их использовали) отсутствующие утилиты командной строки
- Срочные изменения в API ядра
Чтобы бороться с проблемой с библиотеками, вы можете просто связать все статически при сборке. Это значительно увеличит размер приложения, но да, уменьшит количество зависимостей времени выполнения.
С утилитами командной строки можно бороться, ориентируясь на какой-то конкретный стандарт, например, POSIX.
Вы не можете бороться с изменением в API ядра, но оно (часть пользовательского пространства) в любом случае очень стабильно - достаточно стабильно, что вы можете просто не беспокоиться об этом.