собствеено в помощь у кого нет металинка
#-------------------------------------------------------------------------
# Patch for Bug 3006854
#-------------------------------------------------------------------------
#
# DATE: October 22, 2003, Updated March 18th 2005
# ----------------------------------------------------------
# Platform Patch for : LINUX Intel
#
# Bugs Fixed by this patch:
# -------------------------
# 3006854, INSTALLER INTEROPERABILITY PATCH FOR RHEL3.0
#
# This patch must be installed on systems running Red Hat Enterprise Linux 3.0
# before running the Oracle Universal Installer (for any Oracle product ).
#
# This patch is not specific to a particular Oracle version.
#
# This patch is not for IA64 machines.
#
# Before installing this patch you should ensure the 'ld' command is
# picked up from /usr/bin. Type 'which ld' to find out.
#
# Patch Installation Instructions:
# --------------------------------
# [1] To apply the patch, unzip the PSE container file:
# % unzip p3006854_9204_LINUX.zip
#
# [2] Login as the root user,
#
# [3] Set your current directory to the directory where the patch
# is located, eg:
#
# # cd 3006854
#
# [4] Run the script supplied by this patch
#
# # sh rhel3_pre_install.sh
#
# The installation of the patch is now complete. You can now run
# the Oracle Universal Installer as normal.
#
rhel3_pre_install.sh
#!/bin/bash
USER=`whoami`
if [ $USER != root ]; then
echo "Must be root to run this script, please login as root and re-try"
exit
fi
# see if libcwait.so is already being loaded
if [ -f "/etc/ld.so.preload" ] && [ -n "`grep libcwait /etc/ld.so.preload`" ]; then
echo "Patch has already been applied"
exit
else
echo "Applying patch..."
fi
cat << EOF |
#include <errno.h>
#include <sys/syscall.h>
#include <sys/types.h>
#include <sys/wait.h>
pid_t
__libc_wait (int *status)
{
int res;
asm volatile ("pushl %%ebx\n\t"
"movl %2, %%ebx\n\t"
"movl %1, %%eax\n\t"
"int \$0x80\n\t"
"popl %%ebx"
: "=a" (res)
: "i" (__NR_wait4), "0" (WAIT_ANY), "c" (status), "d" (0), "S" (0));
return res;
}
EOF
gcc -O2 -shared -fpic -xc - -o /etc/libcwait.so
# Check we built libcwait.so
if [ -f "/etc/libcwait.so" ]; then
echo "/etc/libcwait.so" >>/etc/ld.so.preload
echo "Ensuring permissions are correctly set..."
chown root.root /etc/libcwait.so /etc/ld.so.preload
chmod 755 /etc/libcwait.so
chmod 444 /etc/ld.so.preload
echo "Done."
echo "Patch successfully applied"
else
echo "Patch installation failed, Please fix errors and try again."
fi
oracle on RHEL3проблемы установки
Автор gethostbyname, 05.01.2006, 14:01
#3
Отправлено 06.01.2006, 12:04:28
Господа, кто асм помнит? что эта вставка делает???
А то не нравится мне такой вариант патчей - нужен только ораклу, а через ld_preload() будет вообще всем динамически слинкованным бинарикам подгружаться.
блин, тут тебе ясным английским языком написано
что патч нужен для запуска Oracle Universal Installer
ld.so.preload ld.so.cache
можно вернуть в исходное состояние после установки орала
и наоборот если снова понадобится OUI
если сильно жжетЪ
а ковыряться в кодах и библиотках
чтобы проверить на вшивость мужиков из оракла
#5
Отправлено 07.01.2006, 11:38:25
Количество пользователей, читающих эту тему: 1
пользователей: 0, неизвестных прохожих: 1, скрытых пользователей: 0