Установка Oracle XE 11 на Debian 10

Автор SargeAnt, 08 января 2021, 17:55:21

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

SargeAnt

Поставил Debian 10.7.0 64bit в виртуальной машине VMware.
Делаю как описано в https://askubuntu.com/questions/566734/how-to-install-oracle-11gr2-on-ubuntu-14-04. Скачал с офсайта дистрибутив oracle-xe-11.2.0-1.0.x86_64.rpm.zip. Пытаюсь сделать из RPM-пакета DEB-пакет:
sudo apt-get install alien libaio1 unixodbc
sudo alien --scripts -d oracle-xe-11.2.0-1.0.x86_64.rpm

Выдает ошибки, не знаю которая из них критичная, но какая-то точно критична, потому что DEB-пакет не создается:
gzip: usr/share/doc/oracle-xe/changelog.Debian.gz: Value too large for defined data type
gzip: usr/share/doc/oracle_xe/LICENSE.gz: Value too large for defined data type
dh_compress: gzip -9nf usr/share/doc/oracle-xe/changelog.Debian usr/share/doc/oracle_xe/LICENSE returned exit code 2
dh_compress: Aborting due to earlier error
make: *** [debian/rules:24: binary-arch] Error 2

Пытался искать ответы, всё попадается не то. В результате не могу поставить Oracle на Debian. Попытался скачать Oracle XE 18c - так там еще хуже с преобразованием RPM-пакета в DEB-пакет


ferum

Цитата: SargeAnt от 08 января 2021, 17:55:21Пытался искать ответы, всё попадается не то. В результате не могу поставить Oracle на Debian. Попытался скачать Oracle XE 18c - так там еще хуже с преобразованием RPM-пакета в DEB-пакет
Чувак конвертировал пакет для debian buster в среде RHEL 7   https://kenny-chlim.medium.com/oracle-18c-xe-installation-debian-10-4-buster-9cbf7f957d9f  Думаю Centos 7 с подключёнными источниками  RHEL 7   и  Epel так же подойдёт . Однако объём работы весьма значительный .
Есть варианты конвертации пакета в среде fedora 26 или 27 но смысл примерно тот же.
В вашем случае (виртуальной машины) проще поставить Centos  возможно даже 8 и настраивать программу на нём.
Русские дебианщики против цифрового слабоумия !

SargeAnt

Спасибо! перепробовал все бесплатные линуксы, и ни один не справился.

Во-первых, чувак конвертировал не в среде RHEL 7, а в среде Oracle Linux 7.8. Я тоже попробовал, но у меня даже пакет alien не поставился:
Error: Package: perl-Sub-Exporter-Progressive-0.001011-1.el7.noarch (epel)
           Requires: perl(Sub::Exporter)
Error: Package: perl-Mail-IMAPClient-3.37-1.el7.noarch (epel)
           Requires: perl(Parse::RecDescent)
Error: Package: debconf-1.5.74-4.el7.noarch (epel)
           Requires: perl(Text::WrapI18N)
Error: Package: debconf-1.5.74-4.el7.noarch (epel)
           Requires: perl(Text::CharWidth)
Error: Package: debconf-1.5.74-4.el7.noarch (epel)
           Requires: perl(Text::Iconv)
Error: Package: perl-Mail-Box-2.120-2.el7.noarch (epel)
           Requires: perl(File::Remove)
You could try using --skip-broken to work around the problem
You could try running: rpm -Va --nofiles --nodigest


Взял исходники пакета alien и запустил там скрипт alien.pl вместо скомпилированного alien, но это не помогло, все равно выдает ошибки при конвертации RPM-пакета в DEB-пакет:
Can't exec "dpkg-architecture": No such file or directory at Alien/Package/Deb.pm line 567, <GETPERMS> line 3055.
/mnt/hgfs/F/DISTR/Oracle/oracle-xe-11.2.0-1.0.x86_64.rpm/Disk1/oracle-xe-11.2.0-1.0.x86_64.rpm is for architecture amd64 ; the package cannot be built on this system


Попробовал CentOS 7. Пакет alien поставился без ошибок, но при конвертации RMP-пакета в DEB-пакет выдало тучу ошибок:
Открыть содержимое (спойлер)
Can't exec "gcc": No such file or directory at /usr/share/perl5/vendor_perl/Dpkg/Arch.pm line 165.
dpkg-architecture: warning: cannot determine CC system type, falling back to default (native compilation)
Package build failed. Here's the log:

dpkg-shlibdeps: error: cannot find library libXm.so.3 needed by debian/oracle-xe/u01/app/oracle/product/11.2.0/xe/ctx/lib/libos_xwin.so (ELF format: 'elf64-x86-64' abi: '0201003e00000000'; RPATH: '/u01/app/oracle/product/11.2.0/xe/ctx/lib:.')
dpkg-shlibdeps: error: cannot find library libstdc++.so.5 needed by debian/oracle-xe/u01/app/oracle/product/11.2.0/xe/ctx/lib/libos_xwin.so (ELF format: 'elf64-x86-64' abi: '0201003e00000000'; RPATH: '/u01/app/oracle/product/11.2.0/xe/ctx/lib:.')
dpkg-shlibdeps: error: no dependency information found for /lib64/libpthread.so.0 (used by debian/oracle-xe/u01/app/oracle/product/11.2.0/xe/ctx/lib/libos_xwin.so)
Hint: check if the library actually comes from a package.

dh_shlibdeps: Aborting due to earlier error
make: [binary-arch] Error 2 (ignored)

dpkg-deb: error: control directory has bad permissions 777 (must be >=0755 and <=0775)
dh_builddeb: dpkg-deb --build debian/oracle-xe .. returned exit code 2
dh_builddeb: Aborting due to earlier error
make: *** [binary-arch] Error 2
[свернуть]

Попробовал Fedora 27. Пакет alien поставился без ошибок, но при конвертации RMP-пакета в DEB-пакет выдало тучу ошибок:
Открыть содержимое (спойлер)
Can't exec "gcc": No such file or directory at /usr/share/perl5/vendor_perl/Dpkg/Arch.pm line 165.
dpkg-architecture: warning: cannot determine CC system type, falling back to default (native compilation)
Package build failed. Here's the log:
dh_testdir
Can't exec "gcc": No such file or directory at /usr/share/perl5/vendor_perl/Dpkg/Arch.pm line 165.
dpkg-architecture: warning: cannot determine CC system type, falling back to default (native compilation)
Can't exec "gcc": No such file or directory at /usr/share/perl5/vendor_perl/Dpkg/Arch.pm line 165.
dpkg-architecture: warning: cannot determine CC system type, falling back to default (native compilation)
dh_testdir
Can't exec "gcc": No such file or directory at /usr/share/perl5/vendor_perl/Dpkg/Arch.pm line 165.
dpkg-architecture: warning: cannot determine CC system type, falling back to default (native compilation)
dh_testroot
dh_prep
Can't exec "gcc": No such file or directory at /usr/share/perl5/vendor_perl/Dpkg/Arch.pm line 165.
dpkg-architecture: warning: cannot determine CC system type, falling back to default (native compilation)
dh_installdirs
Can't exec "gcc": No such file or directory at /usr/share/perl5/vendor_perl/Dpkg/Arch.pm line 165.
dpkg-architecture: warning: cannot determine CC system type, falling back to default (native compilation)
dh_installdirs: Compatibility levels before 9 are deprecated (level 7 in use)
dh_installdocs
Can't exec "gcc": No such file or directory at /usr/share/perl5/vendor_perl/Dpkg/Arch.pm line 165.
dpkg-architecture: warning: cannot determine CC system type, falling back to default (native compilation)
dh_installdocs: Compatibility levels before 9 are deprecated (level 7 in use)
dh_installchangelogs
Can't exec "gcc": No such file or directory at /usr/share/perl5/vendor_perl/Dpkg/Arch.pm line 165.
dpkg-architecture: warning: cannot determine CC system type, falling back to default (native compilation)
dh_installchangelogs: Compatibility levels before 9 are deprecated (level 7 in use)
find . -maxdepth 1 -mindepth 1 -not -name debian -print0 | \
   xargs -0 -r -i cp -a {} debian/oracle-xe
dh_compress
Can't exec "gcc": No such file or directory at /usr/share/perl5/vendor_perl/Dpkg/Arch.pm line 165.
dpkg-architecture: warning: cannot determine CC system type, falling back to default (native compilation)
gzip: usr/share/doc/oracle-xe/changelog.Debian.gz: Value too large for defined data type
gzip: usr/share/doc/oracle_xe/LICENSE.gz: Value too large for defined data type
dh_compress: gzip -9nf usr/share/doc/oracle-xe/changelog.Debian usr/share/doc/oracle_xe/LICENSE returned exit code 2
dh_compress: Aborting due to earlier error
make: *** [debian/rules:24: binary-arch] Error 2
[свернуть]

В результате не могу поставить Оракл на Debian. Пять лет назад ставил, и не пойму, что с тех пор изменилось?

ferum

Цитата: SargeAnt от 11 января 2021, 09:48:50Спасибо! перепробовал все бесплатные линуксы, и ни один не справился.
из коробки и не обязаны были, необходимо готовит рабочую среду. Для этого сначала надо изучить детали исходного rpm пакета версию компилятора использованного для сборки, версии сборочных зависимостей У вас все ошибки прямо или косвенно связаны с не валидной версией компилятора.
Я же вам предлагал, коль уж вы используете виртуальную машину, поставить на неё rpm based дистрибутив хоть CentOS 8 и устанавливать программу на него. Что для вас принципиальней?
Попробовать сконвертировать пакет конечно можно, но трудов тут будет много и цена вопроса соответственно высока.
Русские дебианщики против цифрового слабоумия !

SargeAnt

Спасибо,
Цитата: ferum от 11 января 2021, 13:34:20необходимо готовит рабочую среду. Для этого сначала надо изучить детали исходного rpm пакета версию компилятора использованного для сборки, версии сборочных зависимостей
Но в мануале у чувака, да и в других аналогичных темах - ничего не сказано про то, что надо готовить рабочую среду. Наоборот сказано что ставим операционную систему с нуля и сразу начинаем ставить Оракл. Если бы надо было изучать детали исходного rpm, то пакет alien был бы не нужен - зачем пакет, если все равно руками собирать?

Цитата: ferum от 11 января 2021, 13:34:20У вас все ошибки прямо или косвенно связаны с не валидной версией компилятора
А это из чего следует?

Ставить RPM на CentOS не хочется, потому что Debian уже изучен, ставили на него. И по-прежнему ставят на Ubuntu. Попробовал поставить сейчас на Ubuntu, но получил уже ожидаемые аналогичные ошибки:
Package build failed. Here's the log:
dh_installdirs: warning: Compatibility levels before 9 are deprecated (level 7 in use)
dh_installdocs
dh_installdocs: warning: Compatibility levels before 9 are deprecated (level 7 in use)
dh_installchangelogs
find . -maxdepth 1 -mindepth 1 -not -name debian -print0 | \
xargs -0 -r -i cp -a {} debian/oracle-xe
dh_compress
dh_compress: warning: Compatibility levels before 9 are deprecated (level 7 in use)
gzip: usr/share/doc/oracle-xe/changelog.Debian.gz: Value too large for defined data type
gzip: usr/share/doc/oracle_xe/LICENSE.gz: Value too large for defined data type
dh_compress: error: gzip -9nf usr/share/doc/oracle-xe/changelog.Debian usr/share/doc/oracle_xe/LICENSE returned exit code 2
dh_compress: error: Aborting due to earlier error
make: *** [debian/rules:24: binary-arch] Error 25


В чем же тут дело? Ставили и на Debian, и на Ubuntu. Почему у меня так же не ставится?

ferum

Цитата: SargeAnt от 11 января 2021, 13:55:47Если бы надо было изучать детали исходного rpm, то пакет alien был бы не нужен - зачем пакет, если все равно руками собирать?
В debian handbook сказано что для  сборки пакета необходимо использовать пакет исходного кода, проще всего deb-src но крайне не рекомендуется использовать rpm-src.
Вы же хотите использовать вообще не кащерный способ изготовления пакета. Я прекрасно понимаю что программа от oracle проприаретарная и её авторы не разу не выложат исходники в паблик. Логично подумать что найденный вами способ в простонародии называется хаком. Не уверен что этот мануал расчитан на рядового пользователя и в нём будут давать все подробности.
Вы имеете право мне не верить но попробуйте скачать браузер вроде яндекс  или opera  в виде пакета rpm и попробуйте сделать из него deb, думаю результат будет аналогичным по крайней мере с наскока.
Цитата: SargeAnt от 11 января 2021, 13:55:47потому что Debian уже изучен,
Пользуюсь дистрибутивом почти 9 лет, а linux  более 12ти лет , собирал из исходников масштабные приложения и даже Е17 когда его не было в репозитории кстати и для Centos 7  то же, но я не могу про себя так сказать, от релиза к релизу linux дистрибутивы очень меняются в сторону усложнения, появляются новые системы сборки и прочее. Надо садиться и детально разбираться, ни кто как ясновидящий на ваш вопрос ответить здесь не сможет, хотя раз ставят значит можно.
Русские дебианщики против цифрового слабоумия !

svtv1

Цитата: SargeAnt от 08 января 2021, 17:55:21Попробовал Fedora 27. Пакет alien поставился без ошибок, но при конвертации RMP-пакета в DEB-пакет выдало тучу ошибок:
Да бывает, при чём тут RPM  (Шляпа красная, Федора, ну и ......,всё остальное) пакеты если ты в Debian. Извини чувак с бубном у костра плясать долго :). Ну а если серьёзно, задай вопрос правильно.
Зачем нужен сей пакет, может есть альтернатива Debian, люди помогут.
"Если достаточно долго сидеть возле реки - мимо проплывет труп твоего врага"

ferum

Цитата: SargeAnt от 11 января 2021, 09:48:50чувак конвертировал не в среде RHEL 7, а в среде Oracle Linux 7.8. Я тоже попробовал, но у меня даже пакет alien не поставился:
Перевод google translite кусочка статьи

A long list of missing library can be found in this log file, notice the above missing library. Many of this can be found on the Oracle Linux environment. So let do the conversion of the RPM into Debian package using Oracle Linux 7.8 (listed are my virtual machine server environment) and alien is needed to get the job done.
В этом файле журнала можно найти длинный список отсутствующих библиотек, обратите внимание на указанную выше отсутствующую библиотеку. Многие из них можно найти в среде Oracle Linux. Итак, давайте сделаем преобразование RPM в пакет Debian с использованием Oracle Linux 7.8 (перечислены мои серверные среды виртуальных машин), и для выполнения этой работы потребуется

Замечу многие но не все, это раз и в статье рядом с названием библиотек упоминается репозиторий  epel хорошо известный пользователям RHEL и CentOS

$ yum list alien debconf debhelper kernel-3.10.0-1127.13.1.el7
Loaded plugins: langpacks, ulninfo
Installed Packages
alien.noarch 8.95-3.el7 @epel
debconf.noarch 1.5.74-4.el7 @epel
debhelper.noarch 11.4-2.el7 @epel
kernel.x86_64 3.10.0-1127.13.1.el7 @ol7_latest

У меня так же есть предположение что для ускорения и упрощения установки и настройки виртуальной машины был использован готовый образ системы
https://www.oracle.com/downloads/developer-vm/community-downloads.html
Русские дебианщики против цифрового слабоумия !

SargeAnt

Цитата: ferum от 11 января 2021, 16:41:19В debian handbook сказано что для  сборки пакета необходимо использовать пакет исходного кода, проще всего deb-src но крайне не рекомендуется использовать rpm-src.
О сборке пакетов речи не было. Идет речь о конвертации RPM-пакета в DEB-пакет
Цитата: ferum от 11 января 2021, 16:41:19Вы же хотите использовать вообще не кащерный способ изготовления пакета
Да как не кашерный? его же на каждом углу советуют. Более того, это единственный способ поставить Оракл на Debian. Есть разве другие?!
Цитата: ferum от 11 января 2021, 16:41:19от релиза к релизу linux дистрибутивы очень меняются в сторону усложнения, появляются новые системы сборки и прочее. Надо садиться и детально разбираться, ни кто как ясновидящий на ваш вопрос ответить здесь не сможет, хотя раз ставят значит можно.
Меняются-то меняются, но обратную совместимость соблюдать обязаны. Мы здесь и занимаемся детальной разборкой: я выкладываю логи. Куда еще детальнее? обидно, если никто ответить не сможет, потому что пять лет назад делали, и единственное что с тех пор изменилось - это версия Debian
Цитата: svtv1 от 11 января 2021, 17:14:04Да бывает, при чём тут RPM пакеты если ты в Debian. если серьёзно, задай вопрос правильно.
Я правильно и задаю. RPM-пакеты тут при том, что Оракл дает дистрибутив только в виде RPM-пакетов. Поэтому желающие поставить Оракл на Debian должны как-нибудь сконвертировать пакет
Цитата: ferum от 11 января 2021, 16:41:19попробуйте скачать браузер вроде яндекс  или opera  в виде пакета rpm и попробуйте сделать из него deb, думаю результат будет аналогичным по крайней мере с наскока
Вы оказались правы, попытался сконвертировать Яндекс и получил точно те же ошибки, что и с конвертацией Оракла:
Package build failed. Here's the log:
dh_installchangelogs: Compatibility levels before 9 are deprecated (level 7 in use)
find . -maxdepth 1 -mindepth 1 -not -name debian -print0 | \
xargs -0 -r -i cp -a {} debian/yandex-browser-beta
dh_compress
dh_compress: Compatibility levels before 9 are deprecated (level 7 in use)
gzip: usr/share/doc/yandex-browser-beta/changelog.Debian.gz: Value too large for defined data type
dh_compress: gzip -9nf usr/share/doc/yandex-browser-beta/changelog.Debian returned exit code 2
dh_compress: Aborting due to earlier error
make: *** [debian/rules:24: binary-arch] Error 2

Цитата: ferum от 11 января 2021, 20:15:41У меня так же есть предположение что для ускорения и упрощения установки и настройки виртуальной машины был использован готовый образ системы
https://www.oracle.com/downloads/developer-vm/community-downloads.html
Не понял, зачем это. Мне не надо виртуальную машину настраивать, я на реальном Дебиане хочу юзать Оракл

ferum

#9
Цитата: SargeAnt от 12 января 2021, 09:45:28Не понял, зачем это. Мне не надо виртуальную машину настраивать, я на реальном Дебиане хочу юзать Оракл
Но вам же необходимо вначале конвертированием получить deb  пакет, даже если верить осуждаемой нами статье, два пакета. Именно для этого, как я понял, автор статьи развернул виртуалку с using Oracle Linux 7.8 (listed are my virtual machine server environment) и именно в ней выполнил конвертирование.
Далее мои сугубо субъективные наблюдения и домыслы: по скольку репозитории Oracle Linux 7.8 не содержат alien  и его зависимостей, может быть проще взять CentOS как RPM based дистрибутив как лучший из бесплатных в плане инструментов разработки ну и наверное конвертации пакетов. Я пока не углублялся в подробности, но скорее всего CentOS 8 использует те  же версию ядра, компилятора и libc6 что и debian 10 что вселяет определённые надежды на успех.
Думаю всё же, если в преоритете задача установить и настроить именно эту программу, легче и проще будет поставить совместимый с ней дистрибутив, oracle предлагает ставить на  CentOS 7  или 6, для них есть преинстал пакеты, которые тянут зависимости. Особенно если вы хотите разместить его на виртуальной машине.
Я бы конечно не спеша попробовал конвертировать ракет, но у меня нет уверенности в успехе этой затеи, то есть время и силы в большом количестве могут быть потрачены впустую.
Русские дебианщики против цифрового слабоумия !

SargeAnt

Спасибо, все оказалось проще гораздо. Облом со всеми разновидностями Linux навел на мысль что дело не в линуксе. Дело оказалось в виртуальной машине. Я подключил к ней через фичу Shared Folders диск с дистрибутивами с хоста. В этих дистрибутивах и лежал Оракл, Yandex и прочие RPM-пакеты, которые я пытался конвертировать. Соответственно alien распаковывал пакет и клал временные файлы в той же папке, где лежал конвертируемый пакет. А лежали дистрибутивы у меня на хосте, естественно, на диске с файловой системой NTFS, то есть не с файловой системой линуксовой. Если положить конвертирумый дистрибутив на диск виртуальной машины, то есть с файловой системой линуксовой, то конвертация проходит без ошибок

Таким образом, причина всех ошибок конвертации во всех Линуксах одна - то что конвертируемый пакет лежал на диске с файловой системой NTFS. А может быть виноваты Shared Folders, то есть что нельзя класть конвертируемый пакет на диск, который подключен через Shared Folders