มีวิธีที่จะapt-get install
ตอบ "ใช่" กับ "คุณต้องการดำเนินการต่อ [y / N] หรือไม่?"
มีวิธีที่จะapt-get install
ตอบ "ใช่" กับ "คุณต้องการดำเนินการต่อ [y / N] หรือไม่?"
คำตอบ:
ผ่านหน้า man apt-get :
apt-get -y install [packagename]
ปัญหากับ:
apt-get --yes install $something
คือมันจะขอการยืนยันด้วยตนเองว่ากุญแจสาธารณะของเจ้าของลายเซ็นของแพ็กเกจไม่ได้อยู่ในพวงกุญแจหรือเงื่อนไขอื่น ๆ เพื่อให้แน่ใจว่าไม่ได้ขอการยืนยันให้ทำดังนี้:
apt-get --yes --force-yes install $something
หากคุณต้องการให้การตั้งค่าเหล่านี้ถาวรให้สร้างไฟล์ใน /etc/apt/apt.conf.d/ เช่น /etc/apt/apt.conf.d/90forceyes ด้วยเนื้อหาต่อไปนี้:
APT::Get::Assume-Yes "true";
APT::Get::force-yes "true";
-y
คนเริ่มเบื่อ (รวมทั้งเป็นคำตอบที่สมบูรณ์ยิ่งขึ้น)
--force-yes
: เนื่องจากการตอบกลับไปยังเธรดที่เกี่ยวข้องในการdebian-devel
แนะนำ--force-yes
อาจทำให้ระบบใช้ไม่ได้ (ฉันไม่ downvoting เพราะคำตอบจริงที่อยู่ในปัญหาดังกล่าวโดย OP แต่ฉันต้องการเพิ่มคำเตือนสีแดงขนาดใหญ่ที่จะตอบอยู่แล้ว.)
โปรดทราบว่าหากคุณต้องการคำตอบเริ่มต้นโดยอัตโนมัติเมื่อมีข้อความแจ้งโต้ตอบปรากฏขึ้นคุณสามารถใช้ DEBIAN_FRONTEND=noninteractive
ติดตั้งเดี่ยว:
sudo DEBIAN_FRONTEND=noninteractive apt-get -y install [packagename]
เช่น:
sudo DEBIAN_FRONTEND=noninteractive apt-get -y install postfix
อัปเดตทั้งหมด:
sudo DEBIAN_FRONTEND=noninteractive apt-get -y update
คุณสามารถตั้งค่าตัวเลือกปลีกย่อยด้วยและ-o Dpkg::Options::="--force-confdef"
-o Dpkg::Options::="--force-confold"
ตัวอย่าง:
apt-get update
sudo DEBIAN_FRONTEND=noninteractive apt-get upgrade -y -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold"
หรือ
apt-get -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" dist-upgrade
ตัวอย่างของการแจ้งโต้ตอบ:
น่าสนใจอ่าน: ทำการติดตั้งแพคเกจ Debian แบบอัตโนมัติ
-y
ฉันยังได้รับพร้อมท์ถามว่าฉันต้องการเริ่มบริการใหม่หรือไม่ ฉันต้องการสิ่งนี้เพื่อกำจัดการแจ้งทั้งหมดอย่างสมบูรณ์
APT::Get::Assume-Yes "true";
APT::Get::force-yes "true";
อย่างน้อยควรอยู่ใน/etc/apt/apt.conf
และแสดงความคิดเห็น ฉันกังวลว่า Ubuntu กำลังขออนุญาตจาก Microsoft อยู่เสมอ
"คุณแน่ใจเหรอ?" แน่นอนว่าฉันไม่ใช่ลิงที่ได้รับการฝึกฝนอย่างง่าย ๆ เพียงแค่พิมพ์ไปที่แป้นพิมพ์จะคลิกมีความสุข
ถัดจากประตูจะถามว่า "คุณแน่ใจหรือว่าต้องการออกไปข้างนอก"
เตาอบจะถามว่า "คุณแน่ใจหรือว่าต้องการปรุงอาหาร"
รถยนต์จะถามว่า "คุณแน่ใจหรือไม่ว่าต้องการเบรก"
เครื่องดับเพลิงจะถามว่า "คุณแน่ใจหรือไม่ว่าต้องการดับไฟ"
ฉันขอโทษเดฟฉันไม่สามารถให้คุณทำอย่างนั้นได้
HAL9000 สามารถใช้การหดตัว แต่ Data ไม่สามารถทำได้หรือไม่สามารถทำได้
ใช้-y
สวิตช์:
apt-get -y install packagename
โดยทั่วไปตัวเลือกจากคู่มือควรทำงานได้ดี
apt-get -y --force-yes install package
หากไม่สำเร็จคุณสามารถลองใช้yes
คำสั่ง
yes | apt-get -y --force-yes install package
ใช้สิ่งนี้กับสคริปต์การจัดเตรียมเชลล์คนจรจัดของฉัน
PS: ในกรณีที่คุณต้องการแบบไม่โต้ตอบ แต่โดยทั่วไปแล้วไม่ได้ระบุคุณสามารถลองทำสิ่งนี้:
yes no | apt-get install package
นามแฝงใหม่ ( ดี ) apt
ใช้สวิตช์-y
( --yes
) ด้วย:
sudo apt -y upgrade
หากคุณต้องการอาร์กิวเมนต์ -y เสมอฉันแนะนำให้เพิ่มบรรทัด
alias apt-get='apt-get -y' #Automatic -y argument on apt-get commands
เป็น. bashrc ของคุณ ตามที่ความคิดเห็นอธิบายจะเพิ่มอาร์กิวเมนต์ -y ให้กับคำสั่ง apt-get ทั้งหมดของคุณโดยอัตโนมัติดังนั้นจึงอนุมัติการดาวน์โหลดทั้งหมด
หมายเหตุ: สิ่งนี้จะยังคงเป็นจริงจนกว่าคุณจะคืนค่า. bashrc ของคุณและรีสตาร์ทเชลล์
ฉันกำลังมองหาวิธีที่จะเลือกไม่ใช่ค่าเริ่มต้นในสคริปต์โดยเฉพาะเมื่อติดตั้ง wireshark และจบลงด้วยการใช้ tmux เพื่อโต้ตอบกับเชลล์ดังนี้:
# Start a detached root session
sudo tmux new-session -d
# Send the command
sudo tmux send-keys "DEBIAN_FRONTEND=readline apt-get -qq install wireshark-common; exit" enter
# Wait for the tmux session to get to the interactive stage
sleep 5
# Answer the question
sudo tmux send-keys "yes" enter
# Now attach to the session so we wait for command completion
sudo tmux attach