¿Cómo puedo aceptar el acuerdo de Lience para steam antes de instalar apt-get?


10

Actualmente estoy jugando con el uso de ansible para configurar mi máquina con mi configuración / aplicaciones elegidas, etc ... He llegado a un obstáculo con steam y es un acuerdo de licencia. He estado tratando de usar debconf para aceptarlo previamente.

Aquí está uno de los archivos relevantes en la fuente de Steam : http://bazaar.launchpad.net/~ubuntu-branches/ubuntu/utopic/steam/utopic/view/head:/debian/preinst

Lo intenté echo steam steam/question select "I AGREE" | sudo debconf-set-selectionsy un montón de otros comandos muy similares que también implican tratar de configurar la licencia como se ve.

Aquí está la salida de sudo debconf-show steam: steam/purge: * steam/license: * steam/question: I AGREE

Todo lo que he intentado me ha llevado a pensar que no estoy de acuerdo con el acuerdo de licencia y tengo que eliminar esas entradas antes de poder instalar Steam. ¿Alguien tiene alguna idea?


Si encuentra una solución, háganos saber, también me gustaría hacer una instalación desatendida de steam.
Zauberfisch

1
Nada hasta el momento, contacté a steam y tampoco tenían nada que recomendar.
Joseph Kahn

bugs.debian.org/cgi-bin/bugreport.cgi?bug=772598 El parche adjunto a este error soluciona este problema. El script preinst en el paquete limpia las selecciones de debconf antes de la instalación. Esperemos que el parche sea aceptado en el paquete pronto.
jeekl

Respuestas:


2

Utilizando su investigación y el enlace proporcionado en los comentarios de su publicación, descubrí esto. A partir del 15.04 (24/09/2015), el paquete de Steam en los repositorios de Ubuntu todavía es 1.0.0.48, pero necesita 1.0.0.50 para leer correctamente la configuración de debconf.

Descubrí que steam.deb que puede descargar desde la página de descargas de Steam es 1.0.0.50, por lo que si instala desde este archivo, con la configuración de debconf, debería funcionar.

Yo uso saltstack, y aquí está mi estado de trabajo para steam:

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

No he comprobado esto en años, no pensé en probar la última versión. Lo comprobaré esta noche o este fin de semana, ¡gracias!
Joseph Kahn

Pero, ¿cómo puedes hacer esto sin usar saltstack?
Philipp Ludwig

4

Como se indicó en la pregunta original, simplemente puede usar la línea de comando para establecer los valores requeridos antes de intentar instalar Steam.

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

Es probable que haya un error en el paquete (el empaquetado es notoriamente difícil si no es su responsabilidad principal) y las versiones posteriores ahora deberían funcionar y leer la licencia preaceptada de la base de datos de debconf. Esto significa que no debería recibir un mensaje.

sudo apt-get install steam

El formato típico es el siguiente:

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

Las preguntas y respuestas útiles para esto fueron /unix//a/106553


1

5 años de retraso, pero tengo las siguientes tareas ansibles que parecen funcionar con Debian 9 y 10, probadas con molécula y acoplador.

Siempre que haya configurado un dispositivo con x11 y controladores de gráficos mesa / preferidos, algo como esto podría funcionar:

- 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
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.