Как настроить путь при установке нового плагина в Linux?

1

Всякий раз, когда мне нужно что-то установить на Xentos, я находил rpm или tar шары.

Я хочу знать, в чем разница между двумя.

Также, если мне нужно установить что-то для php, но я установил в другую папку, как я могу указать этот путь php при использовании команды configure во вновь загруженном пакете tar.gz?

user782234
источник
Никогда не слышал о Xentos, может быть, вы имеете в виду Centos?
vtest

Ответы:

1

RPM - это архив с множеством специальных вещей. Он предназначен для установки уже созданного программного обеспечения и иногда исходного кода (обычно помечается как SRPM, для исходного RPM). Помимо самих файлов, он также может иметь сценарии предустановки, сценарии постинсталляции, а также сценарии предустановки и удаления, если вы когда-либо захотите удалить программное обеспечение. Он поддерживает порядок, сохраняя некоторую информацию об установке в базе данных RPM. Для установки вам нужно быть пользователем root не только потому, что файлы (почти всегда) устанавливаются в местах, к которым обычно имеет доступ только root, но вам также нужно быть пользователем root, чтобы изменить базу данных RPM.

tarball в общем просто архив. Коллекция файлов и каталогов. У вас есть архив с исходным кодом, который нужно настроить и запустить для конкретной установки. После того, как вы извлекаете тарбол ( tar -xzvf /path/to/something.tar.gz будет извлекать его). Большая часть программного обеспечения использует то, что называется autoconf который генерирует скрипт с именем configure который может настроить ваш источник для сборки. Он выполняет некоторые проверки (есть ли у вас компилятор? Достаточно ли новые библиотеки?) И может принимать некоторые флаги командной строки использование configure --help чтобы увидеть, что это за флаги. Обычно единственный флаг, который вам нужен, это --prefix=/path/to/somewhere сказать, где вы хотите установить. После того, как вы запустите конфигурацию, вы можете запустить make && make install установить его. Или же, sudo make install если вы используете только корневые локации.

Что-нибудь за prefix=... Флаг очень зависит от вашего источника и того, что уже существует на вашем компьютере. Я не знаю ваш пакет и не знаю, как к нему подключается php. Есть ли configure --help перечислить какие-либо флаги для пути php? Иногда вы просто помещаете переводчика в вашу PATH, например PATH = / путь / к / PHP / бен: $ PATH. configure Затем скрипт (может) найдет php и запросит его (вещи, которые используют perl, работают таким образом). Возможно, вам понадобится некоторая конфигурация после сборки после. Будьте готовы к эксперименту.

Поскольку вы сказали, что у вас есть вещи в нестандартных местах, ваш выбор может быть просто исходным архивом. Обороты RPM предварительно собраны и, как правило, имеют несколько вариантов конфигурации.

Rich Homolka
источник
2

RPM - это готовый пакет - вы можете использовать либо графический инструмент, либо rpm (CLI) для установить его.

Тарболы являются исходным кодом. Обычно вы можете сойти с рук только бегом

./configure && make && make install

Если вам нужно изменить путь установки пакета, сделайте что-то вроде этого:

./configure --prefix=/this/is/where/everything/goes && make && sudo make install

(или использовать su -c: Я Zenwalker и не могу сказать, что предпочитается в дистрибутивах на основе RH)

который будет в конечном итоге с деревом каталогов, как:

/this/is/.../goes/bin
/this/is/.../goes/doc
/this/is/.../goes/share

Если это не то, что вы хотите в отношении изменения пути установки, не стесняйтесь быть более конкретным, как ./configure имеет следующие параметры пути:

Тонкая настройка установки   справочники:

--bindir = исполняемые файлы пользователя DIR [EPREFIX / bin]

--sbindir = исполняемые файлы системного администратора DIR [EPREFIX / sbin]

--libexecdir = исполняемые файлы программы DIR [EPREFIX / libexec]

--sysconfdir = DIR-данные только для одной машины [PREFIX / etc]

--sharedstatedir = DIR-модифицируемые архитектурно-независимые данные [PREFIX / com]

--localstatedir = DIR-модифицируемые данные для одной машины [PREFIX / var]

--libdir = библиотеки объектного кода DIR [EPREFIX / lib]

--includedir = заголовочные файлы DIR C [PREFIX / include]

--oldincludedir = заголовочные файлы DIR C для не-gccv [/ usr / include]

--datarootdir = DIR доступный только для чтения арх. независимый корень данных [PREFIX / share]

--datadir = DIR-данные, доступные только для чтения, для архитектуры [DATAROOTDIR]

--infodir = DIR информационная документация [DATAROOTDIR / info]

--localedir = DIR-зависимые от локали данные [DATAROOTDIR / locale]

--mandir = ДЛЯ мужчин документация [DATAROOTDIR / man]

--docdir = корневой каталог документации DIR [DATAROOTDIR / doc / bullet]

--htmldir = HTML-документация DIR [DOCDIR]

--dvidir = DIR dvi документация [DOCDIR]

--pdfdir = DIR pdf документация [DOCDIR]

--psdir = DIR ps документация [DOCDIR]

new123456
источник