1

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

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

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

2 ответа2

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 = DIR man документация [DATAROOTDIR/man]

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

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

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

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

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

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 чтобы указать, куда вы хотите установить. После запуска configure вы можете запустить make && make install чтобы установить его. Или sudo make install если вы используете только корневые каталоги.

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .