Як я можу прийняти ліцензійну угоду на пару перед установкою apt-get?


10

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

Ось один із відповідних файлів у джерелі пари: 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

Все, що я спробував, призвело до влучного роздуму. Я попередньо не погодився з ліцензійною угодою, і мені доведеться видалити ці записи, перш ніж я зможу встановити пар. Хтось має ідеї?


Якщо ви знайдете рішення, будь ласка, повідомте нас, я також хотів би зробити без нагляду встановлення пари.
Zauberfisch

1
Нічого поки що, я зв’язався з парою, і вони нічого не рекомендували.
Джозеф Кан

bugs.debian.org/cgi-bin/bugreport.cgi?bug=772598 Патч, приєднаний до цієї помилки, вирішує цю проблему для мене. Сценарій preinst в пакеті очищає виділення debconf перед встановленням. Будемо сподіватися, що патч скоро буде прийнятий в пакет.
jeekl

Відповіді:


2

Використовуючи ваше дослідження та посилання, наведене в коментарях до вашої публікації, я це зрозумів. Станом на 15.04 (на 2015-09-24), паровий пакет у сховищах Ubuntu все ще становить 1.0.0.48, але для правильного читання налаштувань deconcon потрібно 1,0.0,50.

Я виявив, що 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.