Правильний спосіб побудови з джерел


12

Я ввійшов як звичайний користувач. Чи варто використовувати:

./configure && make && make install

або

sudo ./configure && sudo make && sudo make install

або

./configure && make && sudo make install

при встановленні пакетів.

І хтось міг би пояснити відмінності.

Я хочу, щоб усі користувачі могли ним користуватися.


Ще краще ... unix.stackexchange.com
mxmissle

1
Вам слід встановити програмне забезпечення із сховищ ubuntu або PPA. Якщо ви зіткнулися з чимось ще не упакованим, не соромтесь розглянути можливість створення власного PPA. Таким чином ви будете тримати свою систему в чистоті, надаватимете пакунки і для інших людей, оскільки безкоштовний бонус з часом отримає більше тестерів.
vtest

Відповіді:


15

Ваша третя версія правильна, ./configure && make && sudo make install. Зробити та налаштувати можна як звичайний користувач, оскільки ви не намагаєтесь записати файли в системний каталог, make installчасто намагаєтесь скопіювати двійкові файли в / usr / bin або / bin, для запису яких потрібен кореневий доступ.


... і до яких не слід писати, оскільки їх вмістом керує управління пакетами.
reinierpost

2
Ви можете навіть зайти так далеко, щоб створити користувача local, а потім видати chown -R local /usr/localі потім встановити програмне забезпечення, використовуючи, sudo local make installщоб вас попередили, коли пакет пише десь в іншому місці, ніж під ним /usr/local(що може зіпсувати ваше управління пакетом).
reinierpost

Якщо пакет побудований у відповідності зі стандартами кодування gnu, необроблений "configure && make && sudo make install" встановлюватиметься лише в / usr / local, а не в / usr / bin або / bin.
Вільям Перселл

4

Вам потрібна остання версія:

./configure && make && sudo make install

Налаштування та створення можуть відбуватися у вашій локальній папці, але для встановлення вам знадобляться права доступу до root. Ця команда виконує це.

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


2

Ви повинні використовувати найменші привілеї, які працюють. Це зазвичай:

./configure && make && sudo make install


2

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

Одне застереження полягає в тому, що деякі сценарії налаштування виявлять, що вони працюють як некористувальні користувачі, і створюватимуть файли, які встановлюються в $ HOME або подібні. У такому випадку ви також хочете зробити "sudo ./configure". Якщо ви запустите налаштування або зробите як root, у вас буде роздратованість деяких файлів, що належать корінню, у вашому каталозі звичайних користувачів.


2

Замість встановлення sudo make слід використати sudo checkinstall

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

https://help.ubuntu.com/community/CheckInstall

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