Làm cách nào để cài đặt nhiều PPA và ứng dụng cùng một lúc?


9

Tôi sẽ thiết lập một vài máy tính sử dụng chung trên một trong những chiếc ghế làm việc trong phòng thí nghiệm của tôi.

Có cả đống kho PPA và ứng dụng từ kho Ubuntu mà tôi muốn cài đặt sau khi cài đặt Ubuntu ban đầu.

Có thể viết một tập lệnh sẽ cài đặt tất cả các ứng dụng và PPA đó trong một lần, yêu cầu tôi chỉ cần nhấp đúp vào tập lệnh thực thi và nhập mật khẩu quản trị viên?

Tôi tưởng tượng nó sẽ khá thẳng về phía trước. Ai đó có thể chỉ cho tôi một hướng dẫn nhanh hoặc thậm chí có thể cung cấp một tập lệnh mẫu nào đó để tôi có thể thêm vào tên PPA và các gói cài đặt apt-get không?

Cảm ơn.

Câu trả lời:


7

Tôi đã sử dụng tập lệnh đơn giản dưới đây để thêm các PPA của texworks và Ubuntu và sau đó cài đặt texworks và Quantum Gis từ nguồn tương ứng của chúng, bạn có thể mở rộng trên nó bằng cách thêm các PPA khác và thêm tên gói vào dòng lệnh cài đặt apt-get.

#!/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 thường yêu cầu tôi nhập Y để đồng ý thêm nó vào danh sách nguồn. Điều này sẽ ảnh hưởng đến dòng chảy tự động của kịch bản?
mloman

Trong thử nghiệm của tôi, không có câu hỏi nào được đưa ra, mọi thứ đều được thêm vào và cài đặt tự động.
Sabacon

Không có lời nhắc nào trong 11.04, làm phiền "Nhấn Y để thêm" vào 11.10. Tôi không biết làm thế nào để thoát khỏi điều này mặc dù - xin lỗi.
Scaine

2
Nên đã đề cập - nếu bạn tự tin về những gì sẽ được cài đặt bởi apt-get, bạn có thể vượt qua apt-get install -yvà nó sẽ không nhắc bạn "Y tiếp tục". Có thể add-apt-repositoryhỗ trợ cùng một lựa chọn?
Scaine

3
@Scaine Có, add-apt-repositoryhỗ trợ-y
jcollado

2

Một kịch bản bash sẽ làm những gì bạn yêu cầu rất dễ dàng.

Đây là một liên kết đến một hướng dẫn kịch bản bash tốt mà tôi sử dụng: http://tldp.org/LDP/abs/html/

Nói một cách đơn giản, bạn cần gọi 3 lệnh để cài đặt từ PPA

  1. sudo add-apt-repository ppa:
  2. sudo apt-get cập nhật
  3. sudo apt-get dist-nâng cấp

Nếu bạn muốn chuyển ngay vào một ví dụ về một ví dụ, tôi đã viết một bài viết trên blog về một tập lệnh bash tự động như vậy để cài đặt các ứng dụng từ các nguồn khác nhau:

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

Trong tập lệnh, tôi yêu cầu quyền root cho tập lệnh trước thời hạn để các lệnh không phải được chạy với sudo trước tập lệnh như bạn đã hỏi.

Một ví dụ cụ thể từ việc cài đặt từ PPA được hiển thị trong bài viết khi cài đặt một phiên bản libnotify khác.


0

Cài đặt không giám sát từ một danh sách

Để cài đặt không giám sát danh sách các gói và thêm một số ppa vào hệ thống của chúng tôi, chúng tôi có thể sử dụng tập lệnh sau:

#! /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

Kịch bản có hai đối số. Đầu tiên là một tệp (ví dụ mysources) trong thư mục tập lệnh nơi chúng tôi đã lưu danh sách các nguồn phần mềm của chúng tôi theo thông số kỹ thuật cho một nguồn.list, ví dụ:

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

Thay thế tất cả các biến bằng các giá trị mong muốn

Đối số thứ hai là một tệp (ví dụ packages) với danh sách các gói chúng tôi muốn cài đặt ở định dạng, ví dụ:

packagename
otherpackage
...

Lưu tập lệnh với ví dụ như tên uptodate, làm cho nó có thể thực thi được và chạy từ một thiết bị đầu cuối:

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

Kịch bản làm gì?

Nó chỉ sao chép mysourcesdanh sách của chúng tôi vào /etc/sources.list.d/mysources.list, cập nhật thông tin gói và cài đặt tất cả các gói từ packagesdanh sách chúng tôi cung cấp bằng cách sử dụng xargs .

Lưu ý: chúng tôi cũng có thể phải tải xuống một khóa hợp lệ từ máy chủ khóa launchpad để có thể cài đặt từ ppa mà chúng tôi đã thêm.

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

Thay thế khóa ký (ở đây 72D340A3) bằng khóa thích hợp

Lưu ý 2: Nên chạy tập lệnh trong thiết bị đầu cuối chứ không phải bằng cách nhấp đúp vì chúng tôi muốn biết về lỗi.


Điều này thực sự hữu ích để sao lưu và khôi phục danh sách và gói nguồn của riêng tôi. Nhưng bạn có thể giải thích về phần máy chủ khóa. Tôi sẽ bao gồm mã cuối cùng bên trong tập lệnh hay chạy riêng nó? Tôi có cần phải làm điều này cho khóa ký của tất cả các PPA không?
mloman

Trên thực tế, vì tôi có thể viết lên danh sách nguồn và danh sách gói của riêng mình, đây có thể là một phương pháp cài đặt thậm chí còn dễ dàng hơn, nhưng vui lòng giải thích chi tiết về phần máy chủ khóa. Làm thế nào để tôi biết khóa ký "phù hợp" là gì?
mloman

bạn có thể kiểm tra trên trang chủ ppa hoặc bạn sẽ gặp lỗi từ apt-get nói với bạn. Khi chìa khóa đã ở trên máy, nó sẽ không hỏi lại. Nó không được đưa vào kịch bản. Bạn chưa biết những con số nào.
Takkat

Ok, bây giờ tất cả đã rõ ràng với tôi. Tôi tìm thấy liên kết này để sao lưu nhanh các keyfiles.
mloman
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.