Как я могу принять соглашение Lience для steam до установки apt-get?


10

В настоящее время я возлюсь с использованием ansible для настройки моей машины с выбранной конфигурацией / приложениями и т. Д. ... Я столкнулся с камнем преткновения с steam и его лицензионным соглашением. Я пытался использовать debconf, чтобы предварительно принять его.

Вот один из соответствующих файлов в источнике Steam : http://bazaar.launchpad.net/~ubuntu-branches/ubuntu/utopic/steam/utopic/view/head:/debian/preinst

Я пробовал echo steam steam/question select "I AGREE" | sudo debconf-set-selectionsи кучу других очень похожих команд, включая попытки установить лицензию, как видно.

Вот вывод sudo debconf-show steam: steam/purge: * steam/license: * steam/question: I AGREE

Все, что я пробовал, привело меня к мысли, что я предварительно не согласен с лицензионным соглашением, и мне нужно удалить эти записи, прежде чем я смогу установить Steam. У кого-нибудь есть идеи?


Если вы найдете решение, пожалуйста, сообщите нам, я также хотел бы сделать автоматическую установку steam.
Zauberfisch

1
Пока ничего, я связался с паром, и им тоже нечего было рекомендовать.
Джозеф Кан

bugs.debian.org/cgi-bin/bugreport.cgi?bug=772598 Патч, прикрепленный к этой ошибке, исправляет эту проблему для меня. Preinst-скрипт в пакете очищает настройки debconf перед установкой. Будем надеяться, что патч скоро будет принят.
jeekl

Ответы:


2

Используя ваше исследование и ссылку, приведенную в комментариях к вашему посту, я понял это. По состоянию на 15.04 (2015-09-24) пакет steam в репозиториях Ubuntu по-прежнему 1.0.0.48, но вам нужно 1.0.0.50, чтобы правильно прочитать настройки debconf.

Я обнаружил, что steam.deb, который вы можете загрузить со страницы загрузок Steam, - это 1.0.0.50, поэтому, если вы устанавливаете из этого файла с настройками debconf, он должен работать.

Я использую солончак, и вот мое рабочее состояние для пара:

steam:
  debconf.set:
    - data:
        steam/question: {'type': 'select', 'value': 'I AGREE'}
        steam/license: {'type': 'note', 'value': ''}
  pkg.installed:
    - sources:
      - steam-launcher: https://steamcdn-a.akamaihd.net/client/installer/steam.deb
    - require:
      - debconf: steam

Я не проверял это годами, не думал попробовать последнюю версию. Я проверю это сегодня вечером или в эти выходные, спасибо!
Джозеф Кан

Но как вы можете сделать это, не используя солончак?
Филипп Людвиг

4

Как указано в исходном вопросе, вы можете просто использовать командную строку, чтобы установить необходимые значения, прежде чем пытаться установить Steam.

echo steam steam/question select "I AGREE" | sudo debconf-set-selections
echo steam steam/license note '' | sudo debconf-set-selections

Вероятно, в пакете была ошибка (упаковка, как известно, сложная, если это не ваша основная ответственность), и более поздние версии теперь должны работать и считывать предварительно принятую лицензию из базы данных debconf. Это означает, что вы не должны получать подсказки.

sudo apt-get install steam

Типичный формат ниже:

echo package package/key {boolean,string} {true, some string} | sudo debconf-set-selections
sudo apt-get install package

Полезные вопросы и ответы для этого были https://unix.stackexchange.com/a/106553


1

Спустя 5 лет, но у меня есть следующие задачи, которые, похоже, работают с Debian 9 и 10, протестированные с молекулой и докером.

При условии, что вы уже настроили устройство с графическими драйверами x11 и mesa / предпочитаемыми, что-то вроде этого может работать:

- name: Add i386 arch
  command: dpkg --add-architecture i386

- name: accept steam license
  debconf:
    name: "steam"
    question: "steam/question"
    value: "I AGREE"
    vtype: "select"

- name: Install steam
  apt:
   name: steam
   update_cache: yes
   state: present
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.