Вопрос или проблема
Я хочу установить игровой клиент под названием Steam (здесь). Он загружает пакет .deb, но для установки требуется пароль администратора или root. Мне нужен способ установить и запустить Steam без пароля администратора или root. Есть ли какие-то команды терминала, которые я могу использовать для этого? Я использую Deepin 15.11 с последними обновлениями.
Файл .deb Steam устанавливает лаунчер, который настраивает и поддерживает пользовательскую среду Steam для каждого пользователя. Вероятно, можно установить без поддержки администратора.
Установка состоит из скрипта оболочки и бинарного файла, который имеет следующие зависимости:
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-битная версия, так что вам придется вручную устанавливать кучу дополнительных вещей и изменять LD_LIBRARY_PATH, если в вашей системе не установлена поддержка 32-битных систем (это будет сложно).
Но на самом деле, вам следует постараться получить разрешение администратора на этом компьютере (если он ваш) или попросить реального администратора помочь вам (если нет).
То, что вам нужно, это AppImage, но они его не создали. 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 needs to install these additional packages” (Steam необходимо установить эти дополнительные пакеты) и список пакетов. К сожалению, это требует root. Вы можете закрыть/отменить окно установки пакетов, и Steam всё равно будет работать и обновляться, но, скорее всего, у вас возникнут проблемы при попытке его использования.
Если вы все еще твердо намерены заставить это работать, то возможно скачать каждый из необходимых пакетов .deb, извлечь их, а затем установить LD_LIBRARY_PATH в извлеченные каталоги библиотек, чтобы Steam загружал библиотеки из вашего домашнего каталога. Это требует труда, и я не уверен, что стоит даже пытаться это объяснять.
Ответ или решение
Установка приложений без административных прав или использования команды sudo может представлять собой сложную задачу, особенно в случае программ, таких как игровой клиент Steam, который вы хотите установить на Deepin 15.11. Вам необходимо решить несколько задач, чтобы установить Steam без доступа к правам администратора. Вам также потребуется понимать концепции работы с программами на уровне пользователя. Вот подробное руководство по установке Steam без административного доступа:
Шаг 1: Экстракция содержимого пакета
-
Скачивание .deb файла:
Скачайте пакет Steam (.deb файл) с официального сайта Steam: steam_latest.deb. -
Создание директории для работы:
Откройте терминал и создайте новую директорию для разбора пакета Steam.mkdir steam cd steam
-
Извлечение содержимого .deb файла:
Используйте утилитуar
, чтобы распаковать .deb файл.ar x ~/Downloads/steam_latest.deb
-
Распаковка архива данных:
Извлеките содержимое файлаdata.tar.xz
.tar xvf data.tar.xz && rm data.tar.xz
Шаг 2: Запуск Steam без установки
-
Перейдите в рабочую директорию:
Перейдите в директорию, содержащую исполняемый файл Steam.cd usr/bin
-
Запуск Steam:
Выполните команду для запуска Steam:./steam
Шаг 3: Обход зависимости
При запуске Steam, если у вас не установлены все необходимые библиотеки, программа может выдать запрос на установку дополнительных пакетов, что обычно требует прав root. Один из вариантов — это ручное изменение переменной окружения LD_LIBRARY_PATH
, чтобы нагрузить библиотеки из вашего домашнего каталога.
-
Установка библиотек вручную:
Скачайте недостающие .deb пакеты необходимых библиотек. -
Извлечение библиотек:
Распакуйте каждый .deb файл и разместите библиотеки в вашем домашнем каталоге. -
Настройка LD_LIBRARY_PATH:
Установите переменную окруженияLD_LIBRARY_PATH
, чтобы указать вашему приложению использовать библиотеки из вашей личной директории:export LD_LIBRARY_PATH=$HOME/steam/libs
Шаг 4: Альтернативные решения
-
AppImage: Если бы Steam был доступен как AppImage, это значительно упростило бы проблему, поскольку AppImage работает без необходимости установки, как обычный исполнительный файл для пользователя.
-
Обращение к администратору системы: Если машина принадлежит вам или вы имеете доступ к администратору, возможно, стоит попросить предоставить временные права для установки.
Установка и запуск программ, таких как Steam, без административных прав может быть сложной задачей, требующей глубокого понимания системы и изменения метода загрузки и использования библиотек. Этот подход может потребовать значительных манипуляций и подробного знания работы системы Linux.