pdksh, отсутствующий в RHEL 6 и CentOS 6?

Furius, который Монтирует ISO, полагается на FuseIso, который является файловой системой FUSE. FUSE позволяет пользователям обеспечивать свои собственные драйверы файловой системы, не используя определенный код в ядре. Файловые системы FUSE ограничиваются пользователем, который выполняет процесс драйвера по умолчанию. Необходимо передать опцию -o allow_root или allow_other к fusermount или fuseiso монтирование команды. Это, кажется, не поддерживается ISO Furius, Монтируются.

8
20.12.2012, 17:14
4 ответа

У меня создалось впечатление, что pdksh не был совместимый POSIX, и с выпуском AT&T KSH с открытым исходным кодом, было значительное перемещение от pdksh до ksh. Просто мои 0,02$

AT&T ksh лицензирует Лицензия 1.0 (EPL-1.0) Общественности Eclipse.

7
27.01.2020, 20:09
  • 1
    Вы путаете и общественное достояние с открытым исходным кодом, но так или иначе, Вы - правильный pdksh, вполне плохое переопределение и реальный ksh93, который в свободном доступе, намного лучший выбор. открытый исходный код –  jlliagre 20.01.2012, 18:13
  • 2
    , общественное достояние, свободное, лицензия a, b, c ДА, я смущен и часто использую любого из первого попеременно ;) –  bsd 20.01.2012, 18:18
  • 3
    К сожалению, это зависит от сценария. Можно установить ksh и создать pdksh символьную ссылку так #! она стучит, не повреждаются, но сценарий сценарием всегда существует возможность, что некоторая "функция" или другой могли бы повредиться. Попробуйте его видение, будьте готовы восстановить бинго pdksh –  bsd 20.01.2012, 22:48
  • 4
    Что отсутствует в pdksh для соответствия POSIX? @Data-Base одно основное отклонение pdksh из AT&T ksh - то, что последняя команда в конвейере выполняется в родительской оболочке только в AT&T ksh. Кроме этого, pdksh достаточно близок к AT&T ksh88, и ksh93 совместим снизу вверх с ksh88 кроме очень необычных случаев. Конечно, никогда не гарантируется, что ни один из Ваших сценариев не зависит ни от какого подобного необычного случая. –  Gilles 'SO- stop being evil' 21.01.2012, 01:06
  • 5
    В пакете RHEL5 это говорит: Pdksh is unmaintained since 1998 and is obsoleted by ksh package. –  jsbillings 20.12.2012, 17:50

В соответствии с этой статьей "Oracle Database 11g Release 2 (11.2) Installation On Oracle Linux 6":

Отказ для "pdksh" пакета может быть проигнорирован, потому что мы установили "ksh" пакет в его месте

На моей довольно стандартной машине OEL 6.3 ksh был уже установлен как часть сборки, но Вам, вероятно, придется сделать a sudo yum install ksh устанавливать его.


Наш DBAs также нашел эту статью, которая может быть полезной:

Установка "11.2.0.3 32-разрядных (x86)" или "64-разрядный (x86-64)" на RHEL6 сообщает об этом пакеты elfutils-libelf-devel-0.97 и pdksh-5.2.14 отсутствуют.

Относится

  • Oracle Server - Enterprise Edition - версия 11.2.0.3 к 11.2.0.3 [выпуск 11.2]
  • Oracle установщик Universal - версия 11.2.0.3 к 11.2.0.3 [выпуск 11.2]
  • Oracle Server - Standard Edition - версия 11.2.0.3 к 11.2.0.3 [выпуск 11.2]
  • Linux x86
  • Linux x86-64

Признаки

При установке

  • 11.2.0.3 32-разрядное (x86) программное обеспечение базы данных на сервере RHEL6 x86
  • 11.2.0.3 64-разрядное (x86-64) программное обеспечение базы данных на сервере RHEL6 x86-64

Oracle установщик Universal (OUI) сообщает об этом пакеты elfultils-libelf-devel-0.97 и pdksh-5.2.14 отсутствуют.

В installActions.log следующий вывод может наблюдаться:

INFO: INFO: *********************************************
INFO: INFO: Package: elfutils-libelf-devel-0.97: This is a prerequisite condition to test whether the package "elfutils-libelf-devel-0.97" is available on the system.
INFO: INFO: Severity:IGNORABLE
INFO: INFO: OverallStatus:VERIFICATION_FAILED
INFO: INFO: -----------------------------------------------INFO: INFO: Verification Result for Node:nodename
INFO: INFO: Expected Value:elfutils-libelf-devel-0.97
INFO: INFO: Actual Value:missing
INFO: INFO: Error Message:PRVF-7532 : Package "elfutils-libelf-devel" is missing on node "nodename"
INFO: INFO: Cause: A required package is either not installed or, if the package is a kernel module, is not loaded on the specified node.
INFO: INFO: Action: Ensure that the required package is installed and available.
INFO: INFO: -----------------------------------------------:
INFO: INFO: *********************************************
INFO: INFO: Package: pdksh-5.2.14: This is a prerequisite condition to test whether the package "pdksh-5.2.14" is available on the system.
INFO: INFO: Severity:IGNORABLE
INFO: INFO: OverallStatus:VERIFICATION_FAILED
INFO: INFO: -----------------------------------------------INFO: INFO: Verification Result for Node:nodename
INFO: INFO: Expected Value:pdksh-5.2.14
INFO: INFO: Actual Value:missing
INFO: INFO: Error Message:PRVF-7532 : Package "pdksh" is missing on node "nodename"
INFO: INFO: Cause: A required package is either not installed or, if the package is a kernel module, is not loaded on the specified node.
INFO: INFO: Action: Ensure that the required package is installed and available.
INFO: INFO: -----------------------------------------------:    

Причина

OUI выполняет следующую команду:

/bin/rpm -q --qf %{version} redhat-release

никакой вывод не возвращается (потому что в RHEL6 выпуск Redhat пакета был заменен redhat-release-server-6Server).

Это заставляет OUI полагать, что сервер не является сервером RHEL.

Поскольку OUI не может определить, какой сервер это, OUI выполняет значение по умолчанию (OEL4) необходимые как условие проверки.

Эта проблема была зарегистрирована как неопубликованная ошибка 13981169 с разработкой Oracle.

В дополнение к этому проверки предпосылки № RHEL6 определяются в

<path>/database/stage/cvu/cvu_prereq.xml

в этих 11.2.0.3 медиа.

Решение

Решение для 11.2.0.3 64-разрядных (x86-64)

Если Вы загрузили эти 11.2.0.3 медиа с Моей поддержки Oracle (MOS) и извлекли программное обеспечение к <path>/database, сделайте следующее:

  1. Каталог изменения к <path>/database/stage/cvu/cv/admin
  2. Резервное копирование cvu_config cp cvu_config backup_cvu_config
  3. Отредактируйте cvu_config и измените следующую строку CV_ASSUME_DISTID=OEL4 кому: CV_ASSUME_DISTID=OEL6
  4. Сохраните обновленный cvu_config файл
  5. Установите 11.2.0.3 использования программного обеспечения:
    1. <path>/database/runInstaller
    2. cd <path>/database
    3. ./runInstaller

OUI должен теперь выполнить необходимые как условие проверки OEL6 (которые идентичны необходимым как условие проверкам RHEL6), и больше не сообщайте об этом пакеты elfutils-libelf-devel-0.97 и pdksh-5.2.14 отсутствуют

Примечание:

При получении этих 11.2.0.3 медиа на DVD будет необходимо скопировать медиа от DVD до диска на сервере RHEL6 (так, чтобы можно было выполнить шаги выше),

Решение для 11.2.0.3 32-разрядных (x86)

Как cvu_prereq.xml файл для 11.2.0.3 32-разрядных (x86) не ссылается на RHEL6 или OEL6, вышеупомянутое обходное решение не может использоваться.

После ручной проверки, что всем требованиям отвечали, выберите Ignore вся опция в установщике и продолжите установку.

11
27.01.2020, 20:09
  • 1
    Работы также над RHEL 6.7 с 11.2.0.2.0.Спасибо! –  Michael-O 17.02.2016, 12:23

Насколько я понимаю, до RHEL 6 Red Hat опасалась AT&T KornShell из-за его лицензия, поэтому они включили pdksh, что является менее полной реализацией. Я думаю, что Дэвид Корн изо всех сил старался добиться принятия ksh в как можно большем количестве мест, и где-то по ходу дела лицензия была уточнена или изменена. Это цитата с веб-сайта KornShell : «AT&T выпустила KornShell с открытым исходным кодом».

Очевидно, Red Hat были удовлетворены лицензией к моменту выпуска RHEL 6, поэтому они включали «настоящую вещь».

Изменить: на самом деле это объясняется на странице Википедии (конечно) - см. Первый абзац в разделе «История».

1
27.01.2020, 20:09

Я сделал патч для старого rpm-пакета mandrake 2007.1 и создал новый пакет SRPM, который можно будет без проблем скомпилировать на современных дистрибутивах Linux с более новыми версиями gcc:

ftp://ftp.crashrecovery.org/pub/linux/pdksh/RPMS/mdv2011/ftp://ftp.crashrecovery.org/pub/linux/pdksh/RPMS/mdv2011/pdksh-5.2.14-21-mdv2011.0.x86_64.rpmftp://ftp.crashrecovery.org/pub/linux/pdksh/RPMS/mdv2011/pdksh-5.2.14-21.src.rpmftp://ftp.crashrecovery.org/pub/linux/pdksh/RPMS/mdv2011/ksh.pdf

Внесены две корректировки :внутри siglist.sh :sort +2n +0n заменены sort -k3n -k1n и внутри нескольких файлов c shprintf (newline ); становится shprintf ("%s", новая строка ); для предотвращения ошибок безопасности -Werror=format -.

[vax-linux:root]:(~/rpmbuild/BUILD/pdksh-5.2.14)# make check
./tests/th-sh./tests/th -s./tests -p./ksh -C pdksh,sh,ksh,posix,posix-upu 
pass lineno.t:lineno-stdin
pass lineno.t:lineno-inc
pass lineno.t:lineno-func
pass lineno.t:lineno-unset
pass lineno.t:lineno-unset-use
pass alias.t:alias-1
pass alias.t:alias-2
pass alias.t:alias-3
pass alias.t:alias-4
pass alias.t:alias-5
pass alias.t:alias-6
pass alias.t:alias-7
pass alias.t:alias-8
pass glob.t:glob-bad-1
pass glob.t:glob-range-1
pass glob.t:glob-range-2
pass glob.t:glob-range-3
pass glob.t:glob-range-4
pass glob.t:glob-range-5
pass eglob.t:eglob-bad-1
pass eglob.t:eglob-bad-2
pass eglob.t:eglob-infinite-plus
pass eglob.t:eglob-subst-1
pass eglob.t:eglob-nomatch-1
pass eglob.t:eglob-match-1
pass eglob.t:eglob-case-1
pass eglob.t:eglob-case-2
pass eglob.t:eglob-trim-1
pass eglob.t:eglob-trim-2
pass arith.t:arith-lazy-1
pass arith.t:arith-lazy-2
FAIL arith.t:arith-ternary-prec-1
pass arith.t:arith-ternary-prec-2
pass arith.t:arith-div-assoc-1
pass arith.t:arith-assop-assoc-1
pass history.t:history-basic
pass history.t:history-e-minus-1
pass history.t:history-e-minus-2
pass history.t:history-e-minus-3
pass history.t:history-e-minus-4
pass history.t:history-e-minus-5
pass history.t:history-list-1
pass history.t:history-list-2
pass history.t:history-list-3
pass history.t:history-list-4
pass history.t:history-list-5
pass history.t:history-list-6
pass history.t:history-list-7
pass history.t:history-list-r-1
pass history.t:history-list-r-2
pass history.t:history-list-r-3
pass history.t:history-subst-1
pass history.t:history-subst-2
pass history.t:history-subst-3
pass history.t:history-subst-4
pass history.t:history-subst-5
pass ifs.t:IFS-space-1
pass ifs.t:IFS-colon-1
pass ifs.t:IFS-null-1
pass ifs.t:IFS-space-colon-1
pass ifs.t:IFS-space-colon-2
fail ifs.t:IFS-space-colon-3 (as expected)
pass ifs.t:IFS-space-colon-4
pass ifs.t:IFS-space-colon-5
pass ifs.t:IFS-subst-1
pass brkcont.t:break-1
pass brkcont.t:break-2
pass brkcont.t:break-3
pass brkcont.t:break-4
pass brkcont.t:break-5
pass brkcont.t:continue-1
pass brkcont.t:continue-2
pass brkcont.t:continue-3
pass brkcont.t:continue-4
pass brkcont.t:continue-5
pass syntax.t:syntax-1
pass read.t:read-IFS-1
pass read.t:read-ksh-1
pass heredoc.t:heredoc-1
pass heredoc.t:heredoc-2
pass heredoc.t:heredoc-3
pass heredoc.t:heredoc-4
pass heredoc.t:heredoc-5
pass heredoc.t:heredoc-6
pass heredoc.t:heredoc-7
pass heredoc.t:heredoc-8
pass heredoc.t:heredoc-tmpfile-1
pass heredoc.t:heredoc-tmpfile-2
pass heredoc.t:heredoc-tmpfile-3
pass heredoc.t:heredoc-tmpfile-4
pass heredoc.t:heredoc-tmpfile-5
pass heredoc.t:heredoc-tmpfile-6
pass heredoc.t:heredoc-tmpfile-7
pass heredoc.t:heredoc-tmpfile-8
pass bksl-nl.t:bksl-nl-ign-1
pass bksl-nl.t:bksl-nl-ign-2
pass bksl-nl.t:bksl-nl-ign-3
pass bksl-nl.t:blsk-nl-ign-4
pass bksl-nl.t:blsk-nl-ign-5
pass bksl-nl.t:bksl-nl-1
pass bksl-nl.t:bksl-nl-2
pass bksl-nl.t:bksl-nl-3
pass bksl-nl.t:bksl-nl-4
pass bksl-nl.t:bksl-nl-5
pass bksl-nl.t:bksl-nl-6
pass bksl-nl.t:bksl-nl-7
pass bksl-nl.t:bksl-nl-8
pass bksl-nl.t:blsk-nl-9
pass bksl-nl.t:blsk-nl-10
pass bksl-nl.t:blsk-nl-ksh-1
pass bksl-nl.t:blsk-nl-ksh-2
pass regress.t:regression-1
pass regress.t:regression-2
pass regress.t:regression-6
pass regress.t:regression-9
FAIL regress.t:regression-10
pass regress.t:regression-11
pass regress.t:regression-12
pass regress.t:regression-13
pass regress.t:regression-14
pass regress.t:regression-15
pass regress.t:regression-16
pass regress.t:regression-17
pass regress.t:regression-19
pass regress.t:regression-21
pass regress.t:regression-22
pass regress.t:regression-23
pass regress.t:regression-25
pass regress.t:regression-26
pass regress.t:regression-27
pass regress.t:regression-28
pass regress.t:regression-29
pass regress.t:regression-30
pass regress.t:regression-31
pass regress.t:regression-32
pass regress.t:regression-33
pass regress.t:regression-35
pass regress.t:regression-36
pass regress.t:regression-37
pass regress.t:regression-38
fail regress.t:regression-39 (as expected)
pass regress.t:regression-40
pass regress.t:regression-41
pass regress.t:regression-42
pass regress.t:regression-43
pass regress.t:regression-44
pass regress.t:regression-45
pass regress.t:regression-46
pass regress.t:regression-47
pass regress.t:regression-48
pass regress.t:regression-49
pass regress.t:regression-50
pass regress.t:regression-51
pass regress.t:regression-52
pass regress.t:regression-53
pass regress.t:regression-54
pass regress.t:regression-55
pass regress.t:regression-56
pass regress.t:regression-57
pass regress.t:regression-58
pass regress.t:regression-59
pass regress.t:regression-60
pass regress.t:regression-61
pass regress.t:regression-62
pass version.t:version-1
pass unclass1.t:xxx-quoted-newline-1
pass unclass1.t:xxx-quoted-newline-2
pass unclass1.t:xxx-quoted-newline-3
pass unclass1.t:xxx-multi-assignment-cmd
pass unclass1.t:xxx-exec-environment-1
pass unclass1.t:xxx-what-do-you-call-this-1
pass unclass1.t:xxx-prefix-strip-1
pass unclass1.t:xxx-prefix-strip-2
pass unclass1.t:xxx-variable-syntax-1
pass unclass2.t:xxx-subsitution-eval-order
pass unclass2.t:xxx-set-option-1
pass unclass2.t:xxx-exec-1
pass unclass2.t:xxx-while-1
pass unclass2.t:xxx-status-1
FAIL unclass2.t:xxx-status-2
pass unclass2.t:xxx-clean-chars-1
fail unclass2.t:xxx-param-subst-qmark-1 (as expected)
pass unclass2.t:xxx-param-_-1
pass unclass2.t:env-prompt
FAIL integer.t:integer-base-err-1
FAIL integer.t:integer-base-err-2
FAIL integer.t:integer-base-err-3
FAIL integer.t:integer-base-err-4
pass integer.t:integer-base-1
pass integer.t:integer-base-2
pass integer.t:integer-base-3
pass integer.t:integer-base-4
pass integer.t:integer-base-5
pass integer.t:integer-base-6
pass integer.t:integer-base-7
Total failed: 10 (7 unexpected)
Total passed: 185
[vax-linux:root]:(~/rpmbuild/BUILD/pdksh-5.2.14)# 

pdksh v5.2.14 on mandriva 2011

0
27.01.2020, 20:09

Теги

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