Де слід зберігати завантаження джерела для встановлення?


10

Раніше я завантажував все в / tmp, тому що після make; sudo make installцих файлів мені зазвичай більше не потрібні файли.

Але тепер я зрозумів, що єдиним способом видалення програм, встановлених з джерела, є використання make uninstall(коли це можливо). Тому я, мабуть, повинен зберігати свої завантаження у випадку, якщо вони знадобляться пізніше.

То де я їх повинен зберігати? Чи є призначене місце для цього в Linux?


Уникайте проблеми: встановлюйте з пакунків, коли це можливо.
Майкл Хемптон

@MichaelHampton Іноді це не варіант (я думаю), наприклад: nginx вимагає встановлення джерела форми, якщо ви хочете додати сторонні модулі.
ChocoDeveloper

Відповіді:


16

Місце, визначене стандартом ієрархії файлової системи для збереження вихідного коду, є /usr/src. Я припускаю, що ви також можете використовувати /usr/local/src, оскільки це трохи більш описово, звідки походить програмне забезпечення (тобто ви його створили; дистрибутив не став).

Зауважте, однак, що FHS насправді згадує, що вихідний код не повинен будуватися з цього каталогу, ймовірно, тому, що ви не повинні збирати речі як корінь, тому я припускаю, що ви перемістили б там вихідне дерево після встановлення. На практиці, однак, я не турбуюся; Я зберігаю все, що будую ~/Code, що є на більш просторій перегородці. В основному, не існує загальновизнаної конвенції; ти просто робиш те, що працює для тебе.

Ви також повинні подивитися на checkinstall , чудовий невеликий фрагмент програмного забезпечення, який складає рудиментарний пакет з команди. (Можливо, це буде у сховищі вашого дистрибутива.) По суті, замість запуску

sudo make install

Ви б запустили щось по лінії

sudo checkinstall make install

який перевіряє інформацію про створений вами пакет, спостерігає, як make installвсе встановлюється, а потім створює пакет, який потім можна буде встановити та видалити за допомогою менеджера пакунків. Я вважаю, що checkinstall може створювати пакети для систем на основі dpkg (Ubuntu, Debian тощо), систем на основі RPM (Fedora, RHEL тощо) та систем на базі Slackware. Якщо ви працюєте з Arch, не турбуйтеся з реєстрацією; замість цього, розгляньте можливість використання PKGBUILD.

Сподіваюся, що це допомагає!


+1 для згадування пакетів. Я думаю, це відповідь, яка була потрібна (але не запитувалася).
Геннес

Дякую! Я використовую checkinstall зараз, виглядає чудово поки що. Останнє питання: мені не потрібно зберігати .deb, правда? dpkg буде знати, як його видалити, навіть якщо його вже немає
ChocoDeveloper

Це правильно. Усі менеджери пакунків зберігають список встановлених пакетом файлів, тому ви можете видалити вбудований пакет після його встановлення.
тридцять тридцятиріччя

5

Немає місця для вихідних файлів; у кожного свої звички.

Однак врахуйте ці три варіанти:

  1. У корінні homedir (працює, але він у /, як правило, досить малий).
  2. / usr / local / src / (або насправді що-небудь під / usr / local /
  3. Встановіть через пакет і використовуйте диспетчер пакунків для видалення.

Для тривалого технічного обслуговування я дуже рекомендую варіант 3. Навіть якщо вам доведеться складати пакунки самостійно (з джерела). У такому випадку ви отримуєте: untar / configure / make / make package через синтаксис, залежно від вибору пакета / install package

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.