Як встановити кілька PPA та додатків одночасно?


9

Я збираюся встановити пару комп'ютерів загального користування на одній із робочих стендів моєї лабораторії.

Існує ціла купа сховищ PPA та додатків із сховищ Ubuntu, які я хотів би встановити після початкової установки Ubuntu.

Чи можливо написати сценарій, який встановить усі ці програми та PPA за один раз, вимагаючи від мене лише двічі клацнути виконуваний скрипт і ввести пароль адміністратора?

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

Дякую.

Відповіді:


7

Я використовував простий скрипт нижче, щоб додати текстильні пристрої та Ubuntu GIS PPA, а потім встановити текстильні та 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

add-apt-repository часто просить мене ввести Y, щоб погодитися додати його до списку джерел. Чи вплине це на автоматичний потік сценарію?
mloman

У моєму тесті жодних запитань не було, все було додано та встановлено автоматично.
Сабакон

Немає підказок у 11.04, дратує "Натисніть Y, щоб додати" підказку в 11.10. Я не знаю, як від цього позбутися - вибачте.
Скаїн

2
Якщо ви впевнені в тому, що буде встановлено apt-get, ви можете пройти, apt-get install -yі це не запропонує вам "Y продовжувати". Можливо, add-apt-repositoryпідтримує той же варіант?
Scaine

3
@Scaine Так, add-apt-repositoryпідтримує-y
jcollado

2

Баш-скрипт зробить те, що ви просите, дуже легко.

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

Простіше кажучи, вам потрібно викликати 3 команди для встановлення з PPA

  1. sudo add-apt-repository ppa:
  2. sudo apt-get update
  3. sudo apt-get dist-upgrade

Якщо ви хочете перейти на приклад одного, я написав статтю в блозі одного такого автоматизованого сценарію bash для встановлення програм з різних джерел:

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

У сценарії я заздалегідь прошу кореневих дозволів для сценарію, так що команди не повинні запускатись із судо перед ним, як ви просили.

Конкретний приклад установки з PPA показаний у статті при установці іншої версії libnotify.


0

Ненавчальна установка зі списку

Для установки без нагляду списку пакунків та додавання декількох 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) у каталозі сценаріїв, де ми зберегли список наших джерел програмного забезпечення відповідно до специфікацій для source.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 .

Примітка. Можливо, нам також доведеться завантажити дійсний ключ із сервера запуску клавіш, щоб мати змогу встановити з доданого нами пакету.

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

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

Примітка 2. Це гарна ідея запустити скрипт у терміналі, а не подвійним клацанням, оскільки ми хочемо знати про помилки.


Це дуже корисно для резервного копіювання та відновлення моїх власних списків джерел та пакетів. Але ви могли б детальніше зупинитися на частині сервера ключів. Чи включу я останній код всередину сценарію чи запускати його окремо? Чи потрібно це робити для ключа підписання всіх УПД?
mloman

Насправді, оскільки я можу записати свій власний список джерел та список пакунків, це може бути ще простішим способом установки, але, будь ласка, детальніше зупиніться на частині сервера ключів. Як я можу знати, що таке "відповідний" ключ підпису?
mloman

ви можете перевірити або на домашній сторінці ppa, або ви отримаєте помилку від apt-get повідомити вам. Як тільки ключ на машині, він більше не запитуватиме. Це не для включення в сценарій. Ви ще не знаєте цифр.
Таккат

Гаразд, зараз мені все зрозуміло. Я знайшов це посилання для швидкого резервного копіювання ключових файлів.
mloman
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.