จะติดตั้ง PPA และแอพพลิเคชั่นหลายตัวพร้อมกันได้อย่างไร


9

ฉันจะตั้งค่าคอมพิวเตอร์ที่ใช้งานทั่วไปสองเครื่องบนม้านั่งทำงานหนึ่งในห้องปฏิบัติการของฉัน

มีที่เก็บ PPA และแอพพลิเคชั่นมากมายจากที่เก็บ Ubuntu ที่ฉันต้องการติดตั้งหลังจากการติดตั้ง Ubuntu ครั้งแรก

เป็นไปได้หรือไม่ที่จะเขียนสคริปต์ที่จะติดตั้งแอพและ PPA เหล่านั้นทั้งหมดในคราวเดียวฉันต้องคลิกสองครั้งที่สคริปต์ปฏิบัติการและพิมพ์รหัสผ่านผู้ดูแลระบบหรือไม่

ฉันคิดว่ามันจะค่อนข้างตรงไปตรงมา ใครช่วยชี้ให้ฉันไปที่กวดวิชาด่วนหรืออาจจะให้สคริปต์แม่แบบของการจัดเรียงบางอย่างเพื่อให้ฉันสามารถเพิ่มในชื่อ PPA และแพกเกจติดตั้ง apt-get?

ขอบคุณ

คำตอบ:


7

ฉันใช้สคริปต์ง่าย ๆ ด้านล่างเพื่อเพิ่ม texworks และ Ubuntu GIS PPAs จากนั้นติดตั้ง texworks และ Quantum Gis จากแหล่งที่เกี่ยวข้องคุณสามารถขยายได้โดยเพิ่ม PPAs อื่น ๆ และเพิ่มชื่อแพ็คเกจลงในบรรทัดคำสั่ง 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

ในการทดสอบของฉันไม่มีคำถามเกิดขึ้นทุกอย่างถูกเพิ่มและติดตั้งโดยอัตโนมัติ
Sabacon

ไม่มีพรอมต์ใน 11.04 แจ้งเตือน "กด Y เพื่อเพิ่ม" ที่น่ารำคาญใน 11.10 ฉันไม่รู้ว่าจะกำจัดสิ่งนี้อย่างไร - ขอโทษ
Scaine

2
ควรได้กล่าวถึง - หากคุณมั่นใจในสิ่งที่จะได้รับการติดตั้งโดยฉลาด - คุณสามารถผ่าน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

หากคุณต้องการข้ามไปยังตัวอย่างหนึ่งฉันได้เขียนบทความบล็อกของสคริปต์ทุบตีอัตโนมัติดังกล่าวเพื่อติดตั้งแอพจากแหล่งต่าง ๆ :

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

ในสคริปต์ฉันขอสิทธิ์รูทสำหรับสคริปต์ล่วงหน้าเพื่อให้คำสั่งไม่จำเป็นต้องรันด้วย sudo ข้างหน้าตามที่คุณถาม

ตัวอย่างที่เฉพาะเจาะจงจากการติดตั้งจาก 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) ในไดเรกทอรีสคริปต์ที่เราบันทึกรายการแหล่งซอฟต์แวร์ของเราตามข้อกำหนดสำหรับแหล่งรายการเช่น:

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

หมายเหตุ:เราอาจต้องดาวน์โหลดคีย์ที่ถูกต้องจาก launchpad keyserver เพื่อให้สามารถติดตั้งได้จาก ppa ที่เราเพิ่ม

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

แทนที่คีย์การเซ็นชื่อ (ที่นี่ 72D340A3) ด้วยคีย์ที่เหมาะสม

หมายเหตุ 2:เป็นความคิดที่ดีที่จะเรียกใช้สคริปต์ในเทอร์มินัลและไม่ใช่ด้วยการคลิกสองครั้งเพราะเราต้องการทราบเกี่ยวกับข้อผิดพลาด


สิ่งนี้มีประโยชน์จริง ๆ สำหรับการสำรองและกู้คืนรายการและแพ็คเกจของฉันเอง แต่คุณช่วยอธิบายเกี่ยวกับส่วน keyserver ได้ไหม ฉันจะรวมรหัสสุดท้ายในสคริปต์หรือเรียกใช้แยกต่างหากหรือไม่ ฉันต้องทำสิ่งนี้กับคีย์การลงนามของ PPAs ทั้งหมดหรือไม่
mloman

ที่จริงแล้วตั้งแต่ฉันสามารถเขียนรายการที่มาของตัวเองและรายการแพคเกจนี่อาจเป็นวิธีการติดตั้งที่ง่ายยิ่งขึ้น แต่โปรดอธิบายอย่างละเอียดในส่วนของ keyserver ฉันจะรู้ได้อย่างไรว่าคีย์การเซ็นชื่อที่ "เหมาะสม" คืออะไร?
mloman

คุณสามารถตรวจสอบทั้งในหน้าแรกของ ppa หรือคุณจะได้รับข้อผิดพลาดจาก apt-get บอกคุณ เมื่อกุญแจอยู่บนเครื่องมันจะไม่ถามอีก ไม่ใช่เพื่อรวมไว้ในสคริปต์ คุณยังไม่รู้ตัวเลข
Takkat

ตกลงตอนนี้ทุกอย่างชัดเจนสำหรับฉัน ฉันพบลิงค์นี้เพื่อสำรองคีย์ไฟล์อย่างรวดเร็ว
mloman
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.