Чи можу я безпосередньо оновити програмне забезпечення, встановлене з вихідного коду


14

Хоча минуло майже рік, як я почав використовувати Ubuntu, я не намагався встановити програмне забезпечення з джерела. Я насправді не знайшов потреби в цьому. Але зараз я працюю над програмним забезпеченням, яке знаходиться на етапі випуску кандидатів у сховищах, але вихідний код останньої стабільної версії доступний на домашній сторінці програмного забезпечення.

Я дізнався, що встановити з вихідного коду може бути складно, якщо програмне забезпечення має багато залежностей. Однак якщо я вирішу це питання, я можу бути задоволений останньою версією. Але мені цікаво, чи таке програмне забезпечення може автоматично оновлюватись чи доведеться запускати деякі сценарії для оновлення пакета. Або ще гірше, що доведеться перевстановлювати кожне оновлення з нуля?

Також я хочу знати, чи є якась певна перевага встановлення з іншого джерела, ніж вище.


Відповіді:


10

Найкраще зазначити, що залежність від програмного забезпечення рідко змінюється. Якщо ви успішно склали програмне забезпечення один раз, будь-які наступні версії повинні бути легко зібрані - всі залежності повинні бути задоволені вже.

Якщо ви компілювали з джерела, не існує жодного .debабо подібного пакета, який ви могли б використовувати для оновлення, якщо тільки ви не дочекаєтесь, коли дистрибутив включить це програмне забезпечення у свої сховища або не дочекається оновлення PPA розробників.

Простіше кажучи, хтось повинен скомпілювати його спочатку, щоб зробити його дебютом. Складання старої версії не дасть вам можливості оновитись автоматично, вам все одно доведеться пройти весь процес "скачати-налаштувати-скласти-встановити".

Однак , якщо ви хочете встановити одну і ту ж версію на декількох комп'ютерах, було б доцільно упакувати компільовану версію у вигляді .deb(або подібної) та розподілити її на цих комп’ютерах. Якщо правильно зробити, залежність буде автоматично втягнута.

Щодо переваг установки з джерела, я можу придумати лише два:

  • Ви отримуєте доступ до останньої редакції коду, і у вас є вибір стабільної версії або найсучаснішої версії (зазвичай її називають нічним складанням, останньою редакцією тощо)
  • Ubuntu / other-distribution може не захотіти включати програмне забезпечення у свої сховища. У цьому випадку ви застрягли з вихідним кодом або пакунками, наданими розробниками чи спільнотою. Тобто у вас немає іншого вибору, як використовувати джерела.

4
Навіть якщо ви самостійно збираєте щось для використання на 1 комп’ютері, завжди корисно скласти пакет .deb самостійно, оскільки це допомагає вам зберегти огляд встановленого програмного забезпечення в одному місці, а також видалення та оновлення полегшує для вас також.
січня

4

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

Якщо для створення пакету "деякий пакет" з джерел, і існують залежності, ви можете спробувати "apt-get build-dep some-package", щоб автоматично встановити всі залежності, необхідні для складання вашого пакету, не відстежуючи кожен вручну залежність від себе. Таким чином, залежність також керує менеджером пакунків і повинна також оновлюватися автоматично.


3

Ще одну альтернативу для gitкористувачів варто згадати:

Ви також можете скористатися git pullпісля попереднього git cloneоновлення вихідного коду, а потім, за бажанням, перекомпілювати програму. (Ви також можете використовувати gitдля подальшого відстеження файлів: відповідь див . Тут .)

Якщо ви спочатку використовували git cloneдля отримання вихідного коду, як, наприклад,

git clone git://github.com/person/programname.git

і ви зберегли папку після компіляції та встановлення, можете перейти в папку та запустити, git pullщоб отримати останні оновлення. Потім видаліть усі створені та / або запущені каталоги збірки make clean(якщо потрібно), а потім знову скомпілюйте програмне забезпечення та встановіть його checkinstall, що також створює пакет для вас (хоча не підходить для розповсюдження).

Однак, якщо ви допомагаєте в розробці програми та потребуєте перекомпіляції після кожного дня, git pullто, ймовірно, ви встановите в домашню папку, оскільки це було б непотрібно встановлювати в /usr/local/ієрархію кожного разу.

Наприклад, якщо я тестую і так регулярно перекомпілюю програму, я б перейшов у свою папку збірки після отримання останніх комісій git pullта запуску (для цієї конкретної програми):

cmake .. -DCMAKE_BUILD_TYPE=Debug -DLAYOUT=home -DPREFIX=home

а потім складіть версію налагодження для тестування.

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


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