如何在没有 sudo 或管理员权限的情况下安装应用程序

如何在没有 sudo 或管理员权限的情况下安装应用程序

我想安装一个名为 Steam 的游戏客户端(这里)。它会下载 .deb 软件包,但需要 root 或管理员密码才能安装。我需要一种无需管理员或 root 密码即可安装并运行 Steam 的方法。我可以使用任何终端命令来执行此操作吗?我正在运行 Deepin 15.11 以及最新的一切。

答案1

steam .deb 文件安装一个启动器,为每个用户设置和维护 steam 用户环境。可能可以在没有管理员支持的情况下安装

安装由 shell 脚本和二进制文件组成,具有以下依赖项:

 ldd /usr/lib/games/steam/steam
    linux-gate.so.1 (0xf76e1000)
    libX11.so.6 => /usr/lib/i386-linux-gnu/libX11.so.6 (0xf716f000)
    librt.so.1 => /lib/i386-linux-gnu/librt.so.1 (0xf7166000)
    libm.so.6 => /lib/i386-linux-gnu/libm.so.6 (0xf7111000)
    libdl.so.2 => /lib/i386-linux-gnu/libdl.so.2 (0xf710c000)
    libstdc++.so.6 => /usr/lib/i386-linux-gnu/libstdc++.so.6 (0xf6f92000)
    libpthread.so.0 => /lib/i386-linux-gnu/libpthread.so.0 (0xf6f75000)
    libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xf6dbd000)
    libxcb.so.1 => /usr/lib/i386-linux-gnu/libxcb.so.1 (0xf6d91000)
    /lib/ld-linux.so.2 (0xf76e3000)
    libgcc_s.so.1 => /lib/i386-linux-gnu/libgcc_s.so.1 (0xf6d73000)
    libXau.so.6 => /usr/lib/i386-linux-gnu/libXau.so.6 (0xf6d6f000)
    libXdmcp.so.6 => /usr/lib/i386-linux-gnu/libXdmcp.so.6 (0xf6d66000)
    libbsd.so.0 => /lib/i386-linux-gnu/libbsd.so.0 (0xf6d4a000)

对我来说,这看起来像是常见的图书馆。

应该可以从 deb 中提取脚本和二进制文件(例如:使用 cpio(CLI) 或 file-roller(GUI)),然后将二进制文件安装在您的家下并修改脚本以指向它。

哦,是的,它是 32 位的,所以你将手动安装一大堆额外的东西,如果你的系统没有安装 32 位支持,则会弄乱 LD_LIBRARY_PATH(这将很难)

但实际上,您应该尝试获得该计算机的管理员权限(如果您拥有它)或要求真正的管理员帮助您(如果您没有)。

答案2

你想要的是一个应用程序图像但他们不做一个。 AppImage 以普通用户身份运行,并且非常容易“安装”。也许会缠着 Valve 去做正确的事。

但是,如果您下载 Steam .deb 文件,您可以像这样解压它:

$ mkdir steam
$ cd steam
$ ar x ~/Downloads/steam_latest.deb
$ tar xvf data.tar.xz && rm data.tar.xz
$ cd usr/bin
$ ./steam

现在它是否可以运行取决于机器上安装的内容。如果您拥有所有库,那么 Steam 将自行更新。如果不这样做,您将收到“Steam 需要安装这些附加软件包”和软件包列表。不幸的是,这需要 root。您可以关闭/取消软件包安装窗口,Steam 仍将运行并自行更新,但在尝试实际使用它时可能会遇到麻烦。

如果您仍然执意要让它工作,可以下载每个必需的 .deb 包,解压它们,然后将 LD_LIBRARY_PATH 设置为解压的 lib 目录,以便 steam 将从您的主目录加载库。这需要一些工作,我不确定我是否应该尝试解释它。

相关内容