Root
無法以 root 身份在 IBM AIX 上安裝 Sybase ASE
我有一個奇怪的問題,我無法在 AIX 虛擬機上以 root 身份安裝 Sybase DB 伺服器。我以 root 身份登錄並啟動安裝程序:
bash-4.2# ./setup.bin -i console Preparing to install... Extracting the JRE from the installer archive... Unpacking the JRE... Extracting the installation resources from the installer archive... Configuring the installer for this system's environment... Launching installer... ./setup.bin: /tmp/install.dir.3277230/Linux/resource/jre/bin/java: 0403-006 Execute permission denied.
正如您所看到的,安裝程序所做的第一件事就是解壓縮自己的 JRE 並嘗試安裝它,在此期間我收到權限錯誤。所以我檢查了文件的權限:
bash-4.2# ls -al /tmp/install.dir.3277230/Linux/resource/jre/bin/java -rwxr-xr-x 1 28886 ipsec 15755 Jul 14 2013 /tmp/install.dir.3277230/Linux/resource/jre/bin/java
我不明白的是,我的 /etc/passwd 文件中不存在此 UID。我還嘗試了以下方法:
bash-4.2# cd /tmp/install.dir.3277230/Linux/resource/jre/bin bash-4.2# ./java bash: ./java: cannot execute binary file bash-4.2# sh java sh: java: 0403-006 Execute permission denied.
安裝過程創建的臨時文件是否可能屬於某種臨時使用者?這就是為什麼即使我以 root 使用者身份啟動 setup.bin 這個文件也不會執行的原因?如果是這樣,我如何確保安裝可以繼續?
由於每個人都有執行權限,所以對我來說只有兩種可能性:
- 您無法訪問二進製文件,因為您無權在文件結構中走那麼遠(
x
在途中某處缺少權限)。- 核心實際上無法載入該執行檔,因為它不符合某些系統要求,例如您的體系結構。
在第一種情況下,一個好的解決方案可能是使用
su
:切換到應該執行文件的帳戶,並嘗試訪問它。從根目錄開始,逐步深入到您的文件。最終,cd
會遇到權限被拒絕的問題。當然,另一件事可能是您只是沒有文件的執行權限,但這不是您的情況。現在,如果這似乎不是權限問題,就像您的情況一樣,您可能正在嘗試執行您的系統無法處理的事情。一個好主意可能是
file
在您的執行檔上使用以檢查它是否與您的體系結構匹配。例如,在我的系統上…$ file /bin/ls /bin/ls: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), for GNU/Linux 2.6.24.
…這非常好,因為我正在執行支持 System V 實現的 64 位機器(x86-64 架構)。我也在使用 GNU/Linux 系統,它甚至符合最後一條資訊。