Установка зависимостей Octave в CentOS 6 с помощью yum

[115310] Ваши 2 примера совершенно не связаны друг с другом, поэтому я буду обращаться к ним как к таковым. [12190] [12191]. /configure[12192]Это shell-нотация, означающая выполнение файла с именем [115768]configure[115769] в текущей рабочей директории.[12193]Обычно, когда вы хотите запустить программу, такую как [115770]/bin/ls[115771], вы просто вызываете ее как [115772]ls[115773]. Вам не нужно указывать путь. Это работает, потому что в вашем shell'е есть переменная с именем [115774]$PATH[115775], которая имеет список мест для поиска, когда вводится неквалифицированная команда. Так что [115776]$PATH[115777] будет содержать [115778]/bin[115779], и когда вы запускаете [115780]ls[115781], он ищет его в [115782]/bin[115783], и выполняет его.[12194]Теперь, когда вы хотите запустить программу, которой нет в [115784]$PATH[115785], вы должны квалифицировать этот путь. Если в настоящее время вы находитесь в [115786]/home/johndoe[115787], и у вас есть программа/скрипт с именем [115788]configure[115789] в этом каталоге, вы можете либо запустить ее как [115790]/home/johndoe/configure[115791], либо [115792]./configure[115793]. Так как вы уже находитесь в этом каталоге, нотация [115794]./[115795] короче.[12195] [12196]nano /something/something2[12197] В этом случае вы просто передаете аргумент в [115796]nano[115797]. Больше это не имеет значения. [12198]nano[115799] - это редактор. Поэтому вы просто передаете [115800]/что-то/что2[115801] в качестве аргумента в [115802]nano[115803]. Это зависит от того, что он хочет сделать с этим аргументом. Редактор может посмотреть на этот аргумент и сказать: "О, это файл, давайте откроем его", а может сказать: "О, это каталог, давайте перечислим содержимое и позволим пользователю выбрать файл". Или это может привести к ошибке :-)[12199]Смысл в том, что в то время как [115804]nano[115805] может разумно определить, что такое [115806]/что-то/что-то2[115807], это полностью зависит от nano. Другой редактор или программа могут реагировать совершенно по-другому. [115331]
2
13.04.2017, 15:36
1 ответ

Похоже, что yum больше не может найти октаву. Я почти уверен, что смог найти его через октаву поиска yum на прошлой неделе. Где найти старые репозитории yum?

Пакет octave доступен в репозитории EPEL для CentOS. Самый простой способ настроить это:

# yum install epel-release

Но вы также можете следовать инструкциям на связанной веб-странице. Как только у вас появится репозиторий EPEL:

# yum info octave
Name        : octave
Arch        : x86_64
Epoch       : 6
Version     : 3.4.3
Release     : 1.el6
Size        : 9.1 M
Repo        : epel
Summary     : A high-level language for numerical computations
URL         : http://www.octave.org
License     : GPLv3+

К сожалению ...

Я не являюсь пользователем root, поэтому всякий раз, когда я пытаюсь использовать утилиты yum для загрузки и установки файлов rpm, он требует доступа root. Мне было интересно, есть ли у меня способ воспользоваться yum-builddep (не будучи пользователем root) для локальной установки зависимостей?

Я думаю, вам здесь в основном не повезет. Системы упаковки, такие как yum , действительно не предназначены для работы при запуске непривилегированным пользователем. Вы могли бы:

repoquery --requires octave |
xargs -iDEP repoquery --whatprovides "DEP" |
sort -u |
grep x86_64 |
xargs yumdownloader

Это загрузит все зависимости (некоторые из этих команд взяты из пакета yum-utils , поэтому его необходимо установить). Вы получите несколько версий некоторых пакетов, поэтому вы захотите удалить старые версии:

repomanage --keep=1 --old . | xargs rm

И теперь у вас есть все зависимости. Как я уже сказал, yum не имеет возможности «установить» их как непривилегированный пользователь, но вы можете распаковать их все в локальное дерево каталогов, используя rpm2cpio :

for file in *.rpm; do rpm2cpio $file | cpio -id; done

..но чтобы использовать это, вам нужно будет возиться с флагами компилятора и, возможно, даже с конфигурацией времени выполнения, например LD_LIBRARY_PATH .

1
27.01.2020, 22:20

Теги

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