Должен ли я использовать & ldquo; sudo & rdquo; до & ldquo; сделать install & rdquo ;?

Я устанавливаю последнюю версию FFmpeg из этого руководства:

В некоторых местах предлагается выполнить make install без sudo, вот один пример из нескольких:

cd ~/ffmpeg_sources
wget http://download.videolan.org/pub/x264/snapshots/last_x264.tar.bz2
tar xjvf last_x264.tar.bz2
cd x264-snapshot*
PATH="$PATH:$HOME/bin" ./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin" --enable-static --disable-openclcd ~/ffmpeg_sources
wget http://download.videolan.org/pub/x264/snapshots/last_x264.tar.bz2
tar xjvf last_x264.tar.bz2
cd x264-snapshot*
PATH="$PATH:$HOME/bin" ./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin" --enable-static --disable-opencl
PATH="$PATH:$HOME/bin" make
make install
make distclean

Должен ли я использовать sudo make install вместо этого?

Я намерен сделать пакеты доступными для всех пользователей, включая Apache / PHP.

1
задан 15 September 2014 в 12:53

4 ответа

Это зависит от того, где будет установлен ваш пакет.

Во время установки вам нужно ввести sudo, если вы выполняете установку в системных каталогах, таких как /usr. Вам необходимо ввести это, потому что у вас нет права на запись в этом каталоге. Локальная установка не потребует sudo до make install

4
ответ дан 24 May 2018 в 03:41

В качестве дополнения рассмотрите возможность использования checkinstall для создания управляемого пакета, а затем установите его с помощью dpkg или другого инструмента apt. Для установки программного обеспечения из источника это может облегчить многие головные боли, когда приходит время для обновления, удаления или устранения проблем.

4
ответ дан 24 May 2018 в 03:41

Следующее руководство предполагает, что вы хотите установить ffmpeg в ~/bin/ в вашем домашнем каталоге. Это имеет то преимущество, что не требуется sudo для установки, но мы не сможем использовать ffmpeg для всей системы от всех пользователей.

Кроме того, этот путь не существует в установке Ubuntu по умолчанию, где самокомпилированное программное обеспечение с широким спектром должно предпочтительно перейти к /opt. См. Что лучше всего устанавливать для пользовательских приложений?

Если нам нужен доступ к ffmpeg от всех пользователей, мы должны использовать путь установки вне нашего HOME для make install. Это, конечно же, требует установки sudo для установки. См. Также . Какое место лучше всего устанавливать для пользовательских приложений? .

2
ответ дан 24 May 2018 в 03:41

Если вы сомневаетесь, почти наверняка ответ: вы не должны использовать sudo.

Каждый раз, когда вы пытаетесь sudo make install, вы подвергаете свою систему потенциальным ошибкам, как root.

Я практикую системный администратор и регулярно настраиваю программное обеспечение для третьих лиц; если есть что-то, что действительно является системным аспектом (например, модулем ядра), большая часть программного обеспечения устанавливается и живет счастливо в пространстве пользователя, даже если она используется многими пользователями, используя ./configure --prefix

Fi. > 1000 программных компонентов, видимых здесь, настраиваются под одним постоянным пользователем: https://hpc.uni.lu/users/software/

Пример:

CUDA - это разработка графического процессора среда, предоставляемая nVidia; это установлено без драйверов sudo nVidia GPU, хотя требуется доступ на более низкий уровень и, таким образом, выполняется через sudo / root
0
ответ дан 24 May 2018 в 03:41
  • 1
    Спасибо. Предполагая, что я должен установить программное обеспечение, которое будет использоваться всеми пользователями, как мне это сделать без sudo? Предлагаете ли вы добавить двоичные файлы для каждого пользователя ~/bin/? Или, возможно, создание фиктивного пользователя software и добавление его ~/bin/ ко всем путям пользователей? – dotancohen 16 September 2014 в 10:28
  • 2
    @dotancohen: это никогда не подтверждалось, извинения: действительно, последний аспект, который вы описываете, точно так же, как сайты HPC по всему миру организуют свои деревья программного обеспечения (несколько компиляторов, библиотек, mpi-стеков и т. д.), и это рекомендуемый подход для стороннего программного обеспечения , Обычно вы не хотите смешивать системное (восходящее) программное обеспечение от стороннего производителя, потому что по дороге их совместное обслуживание становится кошмаром (например, проблемы: zlib, libreadline, ncurses, boost ... их гораздо больше). – fgeorgatos 24 June 2017 в 11:11
  • 3
    @all: и вот технология, используемая для этого, на сайтах HPC: ru.wikipedia.org/wiki/Environment_Modules_ (программное обеспечение) В более общем плане, слепой sudo make install через 1000s программных пакетов очень небезопасная практика, потому что вы в основном говорите: «Ребята, я верю, что вы все делаете правильные вещи с вашими установками». Вы можете доверять одному или двум людям, чтобы поступать правильно, но не тысячу! – fgeorgatos 24 June 2017 в 11:14

Другие вопросы по тегам:

Похожие вопросы: