Вопрос Как установить сразу несколько PPA и приложений?


Я собираюсь создать несколько компьютеров общего пользования на одной из моих лабораторных скамеек.

Существует целая группа репозиториев и приложений PPA из репозиториев Ubuntu, которые я хотел бы установить после первоначальной установки Ubuntu.

Можно ли написать сценарий, который будет устанавливать все эти приложения и PPA за один раз, требуя, чтобы я только дважды щелкнул исполняемый скрипт и набрал пароль администратора?

Я предполагаю, что это будет довольно прямолинейно. Может ли кто-нибудь указать мне на быстрый учебник или, возможно, даже предоставить шаблонный скрипт, чтобы добавить в имена PPA и apt-get пакеты установки?

Благодарю.


9
2018-01-09 13:55


происхождения




ответы:


Я использовал простой скрипт ниже, чтобы добавить texworks и Ubuntu GIS PPAs, а затем установить texworks и Quantum Gis из их соответствующего источника, вы можете расширить его, добавив другие PPA и добавив имена пакетов в командную строку apt-get install.

#!/bin/bash

echo "Adding PPAs"

add-apt-repository ppa:texworks
add-apt-repository ppa:ubuntugis/ubuntugis-unstable


echo "updating repositories"
apt-get update

echo "Installing packages"

apt-get install texworks qgis

echo "Finished adding PPAs and insatlling applications"
exit 0

7
2018-01-09 14:55



add-apt-repository часто просит меня ввести Y, чтобы согласиться добавить его в список источников. Будет ли это влиять на автоматический поток сценария? - mloman
В моем тесте никаких вопросов не было, все было добавлено и установлено автоматически. - Sabacon
В 11.04 нет подсказки, раздражающее приглашение «Нажмите Y для добавления» в 11.10. Я не знаю, как избавиться от этого, хотя, извините. - Scaine
Должен упомянуть - если вы уверены в том, что будет установлено apt-get, вы можете пройти apt-get install -y и он не предложит вам «Y продолжить». Может быть add-apt-repository поддерживает ту же опцию? - Scaine
@Scaine Да, add-apt-repository опоры -y - jcollado


Сценарий bash будет делать то, что вы просите очень легко.

Вот ссылка на хороший справочник по сценарию bash, который я использую: http://tldp.org/LDP/abs/html/

Проще говоря, вам нужно вызвать 3 команды для установки из PPA

  1. sudo add-apt-repository ppa:
  2. Обновление sudo apt-get
  3. sudo apt-get dist-upgrade

Если вы хотите перейти прямо к примеру одного, я написал статью в блоге одного из таких автоматизированных сценариев bash для установки приложений из разных источников:

http://gautham-chandra.tumblr.com/post/15544311989/ninite-like-bash-script-to-install-and-configure-some

В скрипте я прошу разрешения root для скрипта раньше времени, чтобы команды не запускались с sudo перед ним, как вы просили.

Конкретный пример установки из PPA показан в статье при установке другой версии libnotify.


2
2018-01-09 14:32





Автоматическая установка из списка

Для автоматической установки списка пакетов и добавления нескольких PPA к нашей системе мы можем использовать следующий скрипт:

#! /bin/bash
# Save as e.g. 'uptodate' and make executable
# Usage:
# sudo ./uptodate <mysources> <packages>

sudo cp $1 /etc/apt/sources.list.d/mysource.list
sudo apt-get update
xargs -a "$2" sudo apt-get -y install

Сценарий имеет два аргумента. Первый - файл (например, mysources) в каталоге сценариев, где мы сохранили список наших источников программного обеспечения в соответствии со спецификациями для sources.list например.:

deb http://ppa.launchpad.net/<maintainer>/<name>/<ubuntu> <release> main
deb http://ppa.launchpad.net/<other_maintainer>/<name>/<ubuntu> <release> main
...

Замените все переменные на нужные значения

Второй аргумент - это файл (например, packages) со списком пакетов, которые мы хотим установить в формате, например:

packagename
otherpackage
...

Сохраните скрипт, например, имя uptodate, сделать его исполняемым и запустить с терминала:

cd /directory/of/script
sudo ./uptodate mysources packages

Что делает сценарий?

Он просто копирует наши mysources перечислить /etc/sources.list.d/mysources.list, обновляет информацию о пакете и устанавливает все пакеты из packages список, который мы предоставили, используя xargs,

Заметка: нам также может потребоваться загрузить действительный ключ из keybar сервера launchpad, чтобы иметь возможность установить из добавленного ppa.

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 72D340A3

Замените ключ подписи (здесь 72D340A3) соответствующим

Заметка 2:Рекомендуется запустить сценарий в терминале, а не двойным щелчком, потому что мы хотим знать об ошибках.


0
2018-01-09 20:00



Это действительно полезно для поддержки и восстановления моих собственных списков источников и пакетов. Но не могли бы вы рассказать о части сервера ключей. Включить ли я последний код внутри скрипта или запустить его отдельно? Нужно ли мне это делать для ключа подписи всех PPA? - mloman
Фактически, поскольку я могу написать собственный список источников и список пакетов, это может быть еще более простой способ установки, но, пожалуйста, подробно остановитесь на части сервера ключей. Как я узнаю, что такое «подходящий» ключ подписи? - mloman
вы можете проверить либо на домашней странице ppa, либо вы получите сообщение об ошибке apt-get, сообщающее вам. Как только ключ находится на машине, он не будет спрашивать снова. Это не для включения в скрипт. Вы еще не знаете цифры. - Takkat
Хорошо, теперь все ясно. я нашел это ссылка для быстрого резервного копирования файлов ключей. - mloman