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


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.