Jak mogę zaakceptować umowę Lience na Steam przed instalacją apt-get?

10

Obecnie bawię się przy użyciu ansibla do konfiguracji mojego komputera z wybraną konfiguracją / aplikacjami itp. ... Uderzyłem w potknięcie z parą i jest to umowa licencyjna. Próbowałem użyć debconf, aby go wstępnie zaakceptować.

Oto jeden z odpowiednich plików w źródle Steam: http://bazaar.launchpad.net/~ubuntu-branches/ubuntu/utopic/steam/utopic/view/head:/debian/preinst

Próbowałem echo steam steam/question select "I AGREE" | sudo debconf-set-selectionsi cała masa innych bardzo podobnych poleceń obejmuje także próbę ustawienia licencji, jak widać.

Oto wynik sudo debconf-show steam: steam/purge: * steam/license: * steam/question: I AGREE

Wszystko, co próbowałem, doprowadziło do myślenia „apt-get”. Nie zgadzałem się z umową licencyjną i muszę usunąć te wpisy, zanim będę mógł zainstalować Steam. Czy ktoś ma jakieś pomysły?

Joseph Kahn
źródło
Jeśli znajdziesz rozwiązanie, daj nam znać, chciałbym również wykonać nienadzorowaną instalację pary.
Zauberfisch
1
Na razie nic, skontaktowałem się z parą i oni też nie mieli nic do polecenia.
Joseph Kahn
bugs.debian.org/cgi-bin/bugreport.cgi?bug=772598 Łatka dołączona do tego błędu naprawia dla mnie ten problem. Skrypt wstępny w pakiecie czyści wybory debconf przed instalacją. Miejmy nadzieję, że łatka zostanie wkrótce przyjęta do pakietu.
jeekl

Odpowiedzi:

2

Wykorzystałem twoje badania i link podany w komentarzach do twojego postu. Od 15.04 (24.09.2015) pakiet Steam w repozytoriach Ubuntu wciąż ma wersję 1.0.0.48, ale do poprawnego odczytania ustawień debconf potrzebna jest wersja 1.0.0.50.

Odkryłem, że plik steam.deb, który można pobrać ze strony pobierania Steam, to 1.0.0.50, więc jeśli instalujesz z tego pliku, z ustawieniami debconf, powinien on działać.

Używam saltstack, a oto mój stan pracy dla pary:

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
Matthew-Parlette
źródło
Nie sprawdzałem tego od wieków, nie pomyślałem o wypróbowaniu najnowszej wersji. Sprawdzę to dziś wieczorem lub weeekend, dzięki!
Joseph Kahn,
Ale jak możesz to zrobić bez użycia słomy?
Philipp Ludwig
4

Jak stwierdzono w pierwotnym pytaniu, możesz po prostu użyć wiersza poleceń, aby ustawić wymagane wartości przed próbą zainstalowania Steam.

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

Prawdopodobnie wystąpił błąd w pakiecie (opakowanie jest notorycznie trudne, jeśli nie jest to twoją główną odpowiedzialnością), a późniejsze wersje powinny teraz działać i czytać wstępnie zaakceptowaną licencję z bazy danych debconf. Oznacza to, że nie powinieneś otrzymywać monitów.

sudo apt-get install steam

Typowy format znajduje się poniżej:

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

Pomocne pytania i odpowiedzi w tym zakresie to https://unix.stackexchange.com/a/106553

dragon788
źródło
1

Pięć lat później, ale mam następujące zadania, które wydają się działać z Debianem 9 i 10, przetestowane z cząsteczką i dokerem.

Pod warunkiem, że masz już skonfigurowane urządzenie ze sterownikami x11 i mesa / preferowanymi sterownikami grafiki, coś takiego może działać:

- 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
Jeszcze tylko jedno pytanie
źródło