为什么我无法执行命令“file /sbin/init”?

为什么我无法执行命令“file /sbin/init”?

我正在尝试按照此处给出的说明安装 Oracle JRE/JDK在 Ubuntu 上安装 Oracle Java JRE

我需要它,因为 Android Studio 推荐它。

file /sbin/init无论如何,当我在终端中输入时 ,它只会显示

/sbin/init: symbolic link to /lib/systemd/systemd 

而上面的链接说它应该显示我的操作系统的位版本。

有人能告诉我如何纠正这个问题吗?

答案1

您成功执行了命令,并且它给了您准确的信息。

$ file /sbin/init
/sbin/init: symbolic link to /lib/systemd/systemd

本教程建议您简单地找到二进制文件的 ELF 类型,该文件必须代表您的系统体系结构。Systemd 是 Ubuntu 16.04 的 init 系统。您可以使用此命令找到符号链接指向的常规文件的体系结构(感谢 muru 提供指着-L国旗这会导致file跟随符号链接):

file -L /sbin/init

对我来说输出:

/lib/systemd/systemd: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 2.6.32, BuildID[sha1]=dfc32dfa86e4694a0408bd227e8f91d2acbbc11a, stripped

啊!

您还可以使用此命令获取系统的位宽,例如(还有许多其他方法,例如uname -i):

$ getconf LONG_BIT
64

@Serg 建议的另一种干净的方法:

$ dpkg --print-architecture
amd64

根据要求,以下是我安装 Oracle Java 的方法真的需要使用它来代替更受欢迎的 OpenJDK:

sudo add-apt-repository ppa:webupd8team/java
sudo apt update
sudo apt install oracle-java8-installer

答案2

您链接的站点的命令行向您展示了如何确定您的操作系统类型,64 位还是 32 位。使用此命令行检查您的操作系统类型:

$ cat /etc/lsb-release

required argument missing顺便说一句,当我输入 /sbin/init 命令时出现错误。

您不需要该页面上的步骤即可在您的系统上安装 Google 的 Android Studio。Android Studio 是您下载的 tar 文件。您打开 tar 的根文件夹,然后studio.sh从存档的 bin 文件夹中运行即可。

无需安装任何东西。

您可以使用以下方式安装备用 JDK:

https://launchpad.net/~webupd8team/+archive/ubuntu/java

$ sudo add-apt-repository ppa:webupd8team/java
$ sudo apt-get update
$ sudo apt-get install oracle-java8-installer

相关内容