37.1 Установка и удаление пакетов
Предполагая, что пакет доступен в файле image-1.0.0.tar.gz, его можно установить из приглашения Octave с помощью команды
pkg install image-1.0.0.tar.gz
Если пакет установлен успешно, ничего не будет выведено в приглашение, но если во время установки произошла ошибка, она будет сообщена. Можно установить несколько пакетов одновременно, записав несколько файлов пакетов после команды pkg install. Если уже установлена другая версия пакета, она будет удалена перед установкой нового пакета. Это упрощает обновление и понижение версии пакета, но делает невозможным одновременное наличие нескольких версий одного и того же пакета.
Чтобы увидеть, какие пакеты установлены, введите
pkg list -| Package Name | Version | Installation directory -| --------------+---------+----------------------- -| image *| 1.0.0 | /home/jwe/octave/image-1.0.0
В этом случае установлен только пакет версии 1.0.0 пакета image. Символ '*' рядом с именем пакета указывает, что пакет image загружен и готов к использованию.
Можно удалить пакет из системы, используя команду pkg uninstall, как в этом примере
pkg uninstall image
Если пакет удален успешно, ничего не будет выведено в приглашение, но если произошла ошибка, она будет сообщена. Следует отметить, что файл пакета, используемый для установки, не нужен для удаления, и при удалении пакета следует использовать только имя пакета, как сообщается в pkg list. Можно удалить несколько пакетов одновременно, записав несколько имен пакетов после команды pkg uninstall.
Для минимизации дублирования кода между пакетами возможно, что один пакет зависит от другого. Если пакет зависит от другого, он проверит, установлен ли этот пакет во время установки. Если нет, будет сообщено об ошибке, и пакет не будет установлен. Это поведение можно отключить, передав флаг -nodeps команде pkg install
pkg install -nodeps my_package_with_dependencies.tar.gz
Поскольку установленный пакет ожидает установки своих зависимостей, он может работать неправильно. Поэтому не рекомендуется отключать проверку зависимостей.
- команда pkg имя_пакета
- команда pkg опция имя_пакета
- [выход1, …] = pkg (команда, …)
-
Управление или запрос пакетов (наборов дополнительных функций) для Octave.
Различные действия доступны в зависимости от значения команда и выходных аргументов.
Доступные команды:
- ‘install’
-
Установка именованных пакетов. Например,
pkg install image-1.0.0.tar.gz
устанавливает пакет, найденный в файле image-1.0.0.tar.gz. Файл, содержащий пакет, может быть URL, например,
pkg install 'http://somewebsite.org/image-1.0.0.tar.gz'
устанавливает пакет, найденный в заданном URL. Это требует подключения к Интернету и библиотеки cURL.
Риск безопасности: перед установкой не выполняется проверка пакета. Он имеет те же проблемы с безопасностью, что и при ручном скачивании пакета с указанного URL и его установке.
Отказ от поддержки: сообщество GNU Octave не несёт ответственности за пакеты, установленные с зарубежных сайтов. Для получения поддержки или сообщения об ошибках необходимо обратиться непосредственно к разработчикам установленного пакета (см. файл DESCRIPTION пакета).
Переменная option может содержать опции, которые влияют на способ установки пакета. Эти опции могут быть одной или несколькими из:
-nodeps-
Менеджер пакетов отключит проверку зависимостей. С этой опцией можно установить пакет, даже если он зависит от другого пакета, который не установлен в системе. Используйте эту опцию с осторожностью.
-local-
Принудительная установка локального пакета (доступного только текущему пользователю), даже если пользователь имеет системные привилегии.
-global-
Принудительная установка глобального пакета (доступного всем пользователям), даже если пользователь обычно не имеет системных привилегий.
-forge-
Установка пакета непосредственно из репозитория Octave Forge. Это требует подключения к Интернету и библиотеки cURL.
Риск безопасности: перед установкой не выполняется проверка пакета. Для пакетов нет подписей или контрольных сумм для подтверждения правильности загруженного файла. Это имеет те же проблемы с безопасностью, что и при ручном скачивании пакета из репозитория Octave Forge и его установке.
-verboseМенеджер пакетов будет выводить вывод всех команд по мере их выполнения.
- ‘update’
-
Проверка установленных пакетов Octave Forge в репозитории и обновление устаревших элементов. Требуется подключение к Интернету и библиотека cURL. Использование:
pkg update
Для обновления одного пакета используйте
pkg install -forge - ‘uninstall’
-
Удаление именованных пакетов. Например,
pkg uninstall image
удаляет пакет
imageиз системы. Если другой установленный пакет зависит от пакетаimage, будет выдано сообщение об ошибке. Пакет всё равно можно удалить, используя опцию -nodeps. - ‘load’
-
Добавление именованных пакетов в путь. После загрузки пакета можно использовать функции, предоставляемые этим пакетом. Например,
pkg load image
добавляет пакет
imageв путь. - ‘unload’
-
Удаление именованных пакетов из пути. После разгрузки пакета больше нельзя использовать функции, предоставляемые этим пакетом.
- ‘list’
-
Вывод списка установленных пакетов. Например,
pkg list
выведет краткий отчёт с именем пакета, версией и каталогом установки для каждого установленного пакета. Укажите имя пакета, чтобы ограничить вывод конкретным пакетом. Например:
pkg list image
Если запрашивается один выходной аргумент, то
pkgвозвращает ячейный массив, где каждый элемент — структура с информацией об одном пакете.installed_packages = pkg ("list")Если запрашиваются два выходных аргумента,
pkgразделяет список установленных пакетов на пакеты, установленные текущим пользователем, и пакеты, установленные системным администратором.[user_packages, system_packages] = pkg ("list")Опция
"-forge"отображает пакеты, доступные в репозитории Octave Forge. Это требует подключения к Интернету и библиотеки cURL. Например:oct_forge_pkgs = pkg ("list", "-forge") - ‘describe’
-
Вывод краткого описания установленных пакетов. С опцией
"-verbose"также вывести функции, предоставляемые пакетом. Например,pkg describe -verbose
выведет описание всех установленных пакетов и предоставляемых ими функций. Вывод можно ограничить набором пакетов:
## describe control and signal packages pkg describe control signal
Если требуется один вывод, то возвращается ячейка структуры, содержащая описание и список функций каждого пакета, а не вывод на экран:
desc = pkg ("describe", "secs1d", "image")Если какой-либо из запрошенных пакетов не установлен,
pkgвозвращает ошибку, если не запрашивается второй вывод:[desc, flag] = pkg ("describe", "secs1d", "image")flag примет одно из значений
"Not installed","Loaded", или"Not loaded"для каждого из именованных пакетов. - ‘prefix’
-
Установка каталога-префикса установки. Например,
pkg prefix ~/my_octave_packages
устанавливает префикс установки в ~/my_octave_packages. Пакеты будут устанавливаться в этот каталог.
Получить текущий префикс установки можно, запросив выходной аргумент. Например:
pfx = pkg ("prefix")Расположение для установки файлов, зависящих от архитектуры, можно независимо указать дополнительным аргументом. Например:
pkg prefix ~/my_octave_packages ~/my_arch_dep_pkgs
- ‘local_list’
-
Устанавливает файл, в котором следует искать информацию об установленных локально пакетах. Локально установленные пакеты доступны только текущему пользователю. Например:
pkg local_list ~/.octave_packages
Получить текущее значение local_list можно следующим образом:
pkg local_list
- ‘global_list’
-
Устанавливает файл, в котором следует искать информацию о глобально установленных пакетах. Глобально установленные пакеты доступны всем пользователям. Например:
pkg global_list /usr/share/octave/octave_packages
Получить текущее значение global_list можно следующим образом:
pkg global_list
- ‘build’
-
Создание бинарной формы пакета или пакетов. Сгенерированный бинарный файл сам будет пакетом Octave, который можно установить обычным способом с помощью
pkg. Форма команды для создания бинарного пакетаpkg build builddir image-1.0.0.tar.gz …
где
builddir— имя каталога, где будет создана временная установка, и будут найдены бинарные пакеты. Опции -verbose и -nodeps учитываются, а все остальные опции игнорируются. - ‘rebuild’
-
Перестроение базы данных пакетов из установленных каталогов. Это может использоваться в случаях, когда база данных пакетов повреждена.
© 1996–2022 The Octave Project Developers
Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are preserved on all copies.
Permission is granted to copy and distribute modified versions of this manual under the conditions for verbatim copying, provided that the entire resulting derived work is distributed under the terms of a permission notice identical to this one.Permission is granted to copy and distribute translations of this manual into another language, under the above conditions for modified versions.
https://docs.octave.org/v5.2.0/Installing-and-Removing-Packages.html