如何使 /tmp 可执行?

zba*_*rni 25 upgrade tmp

我有 Ubuntu 12.04 LTS,我尝试升级到 Ubuntu 12.10。当我单击更新管理器升级时,出现了一个消息框:

无法运行升级。这通常是由 /tmp 挂载为 noexec 的系统引起的。请在没有 noexec 的情况下重新挂载并再次运行升级。

我尝试使用以下命令在终端中使 /tmp 可执行:

mount -o remount,exec /tmp /var/tmp
Run Code Online (Sandbox Code Playgroud)

我按 Enter 并从终端收到以下消息:

mount: only root can do that
Run Code Online (Sandbox Code Playgroud)

我现在应该怎么做才能使 /tmp 可执行并升级操作系统。

Rad*_*anu 31

您必须具有 root 权限。为此,sudo在命令前加上:

sudo mount -o remount,exec /tmp
Run Code Online (Sandbox Code Playgroud)

当您被问及密码时,只需输入您常用的用户密码即可。

  • 这个命令对我不起作用。相反,我得到一个:“mount: /tmp not mount or bad option”错误 (4认同)

Avi*_*Raj 5

它表明您的/tmp 安装方式为 noexec,因此请尝试使用选项安装它exec以使升级工作。

exec / noexec - Permit/Prevent the execution of binaries from the filesystem.
Run Code Online (Sandbox Code Playgroud)

以 root 身份打开 /etc/fstab文件,例如运行

sudoedit /etc/fstab
Run Code Online (Sandbox Code Playgroud)

更改以下行(/tmp我的 fstab 上的条目如下所示):

tmpfs /tmp tmpfs defaults,noatime,mode=1777,nosuid,size=512M,noexec 0 0
Run Code Online (Sandbox Code Playgroud)

tmpfs /tmp tmpfs defaults,noatime,mode=1777,nosuid,size=512M,exec 0 0
Run Code Online (Sandbox Code Playgroud)

或者,如果您的行看起来不同,只需删除并noexec在第四列中替换为exec.

保存该文件,然后重新启动系统。现在再次尝试升级。