Arch Linux เหมาะสมกับสภาพแวดล้อมเซิร์ฟเวอร์หรือไม่


30

คุณคิดว่า Arch Linux เหมาะสมกับสภาพแวดล้อมของเซิร์ฟเวอร์หรือไม่ รูปแบบการวางจำหน่ายและความเรียบง่ายดูเหมือนจะเป็นสิ่งที่ดีเพราะเมื่อคุณติดตั้งแล้วคุณไม่จำเป็นต้องติดตั้งใหม่เหมือนรุ่นวางจำหน่ายจาก distros อื่น

แต่การอัพเกรดอย่างต่อเนื่องนั้นไม่ก่อให้เกิดปัญหาด้านเสถียรภาพหรือไม่ แม้ว่าจะเป็นขอบเลือดออก Arch Linux ใช้ซอฟต์แวร์รุ่นเสถียรล่าสุด


คุณอาจพบการสนทนาที่เป็นประโยชน์และความคิดเห็นที่โพสต์เมื่อเร็ว ๆ นี้ภายใต้Arch เป็นเว็บเซิร์ฟเวอร์เธรดในรายการส่งจดหมายทั่วไป
mloskot

คำตอบ:


33

อาจเป็นปัญหาที่ใหญ่ที่สุดของ Arch ในฐานะที่เป็นระบบปฏิบัติการเซิร์ฟเวอร์คือมันไม่ชัดเจนว่าที่ไหนและเมื่อไรที่แอพพลิเคชั่นอาจแตกหลังจากการอัพเกรด บ่อยกว่านั้นคุณต้องติดตามสิ่งที่เกิดขึ้นใน wiki และในฟอรัมก่อนทำการอัพเกรดใด ๆ ด้วย Debian และ CentOS คุณสามารถมั่นใจได้ว่าการอัพเกรดใด ๆ จะไม่ทำลายแอพพลิเคชั่นใด ๆ เนื่องจากบ่อยครั้งกว่าการอัพเกรดที่ทำในสาขาเสถียรจะเป็นการแก้ไขความปลอดภัย / การแก้ไขข้อบกพร่อง


27
อย่างไรก็ตามคุณไม่ควรทำการทดสอบอัปเดตของคุณก่อนที่จะเผยแพร่ออกไปหรือ เรากำลังใช้งานกล่อง Arch จำนวนหนึ่งในการผลิตและทดสอบการอัปเดตทุกสัปดาห์หรือในเครื่องภายในบางเครื่อง เมื่อทุกอย่างมั่นใจว่าจะทำงานได้ฉันจะออกการอัปเดต
Eric Coleman

13

แม้ว่าฉันจะรักซุ้มประตูฉันจะไม่ใช้มันสำหรับสภาพแวดล้อมการผลิต ก่อนอื่นในสภาพแวดล้อมการผลิตคุณต้องมีสิ่งที่เสถียรและผ่านการทดสอบอย่างดี นอกจากนี้เนื่องจากมีการปล้นค่อนข้างคุณจำเป็นต้องสร้างสคริปต์ที่กำหนดเองหรือสิ่งที่ติดตั้งด้วยตนเอง (บางครั้งก็ดีเพราะคุณรู้ว่าสิ่งที่กำลังทำงานอยู่ในระบบของคุณ แต่ไม่ดีมากเพราะต้องใช้เวลามากเกินไปในการกำหนดค่า) นอกจากนั้นเนื่องจากมันไม่ได้ใช้กันอย่างแพร่หลายในสภาพแวดล้อมการผลิตในกรณีที่มีปัญหาคุณจะไม่พบการสนับสนุนที่คุณจะพบถ้าคุณใช้ Debian หรือ Fedora (ชุมชน Arch นั้นยอดเยี่ยม แต่จริงๆแล้วก็ไม่ใหญ่มาก ในฐานะของ Debian หรือ Fedora)

เพื่อสรุปฉันคิดว่ามันยอดเยี่ยมสำหรับการใช้เดสก์ท็อป แต่ไม่ใช่สำหรับสภาพแวดล้อมการผลิต


6

ใช่.

ข้อดี:

  • ระบบน้อยจริงๆนอกกรอบเหมาะสำหรับประสิทธิภาพโดยเฉพาะอย่างยิ่งกับเครื่อง / VPS ต่ำสุด ไม่มีบริการที่ไม่จำเป็น - เมื่อเทียบกับ CentOS 7 ซึ่งเริ่มบริการที่เกี่ยวข้องกับ VM หลายอย่างที่ไม่สามารถใช้งานได้กับฉันขณะที่ฉันทำงานกับโลหะเปลือย

  • ซอฟต์แวร์ที่ทันสมัยและแหล่งเก็บข้อมูลขนาดใหญ่ ฉันเสียเวลาสักเล็กน้อยกับ CentOS เมื่อบางสิ่งไม่ได้อยู่ใน repos และฉันถูกบังคับให้รวบรวมจากแหล่งที่มาหรือติดตั้ง RPMs / repos ของบุคคลที่สามจากนั้นจบลงด้วยการพึ่งพานรกเพราะ RPM ของบุคคลที่สามเหล่านี้ ขัดแย้งกับการอัปเกรดจาก repos อย่างเป็นทางการ

  • systemd ถึงแม้ว่าดิสทริบิวชันอื่น ๆ (แม้ Ubuntu) จะเปลี่ยนไปใช้ดังนั้นมันจึงไม่ค่อยมีมืออาชีพ

  • เครื่องมือกำหนดค่าเครือข่ายที่เหมาะสม ไม่มี Networkmanager หรือไฟร์วอลล์ระดับเกรดเดสก์ท็อป (ดู CentOS / RHEL)

  • ผู้จัดการแพคเกจที่ทำเพียงแค่สิ่งที่มันบอกว่าบนกระป๋อง ผู้จัดการบรรจุภัณฑ์จะไม่พยายาม "ช่วย" คุณด้วยการกำหนดค่าหรือเริ่มบริการที่คุณเพิ่งติดตั้งโดยอัตโนมัติ (ดูที่ Ubuntu / Debian) นอกจากนี้ยังเป็นไปอย่างรวดเร็วและดีกว่าและอาจจะเล็กน้อยเร็วกว่าyumapt-get

  • กระบวนการติดตั้งที่ไม่ได้บังคับให้คุณใช้ค่าเริ่มต้นและมีพื้นที่สำหรับปรับแต่งมากมาย - เปรียบเทียบกับ CentOS / RHEL ซึ่งบังคับให้คุณใช้ LVM และ swap สิ่งที่ไม่จำเป็นเสมอไป (แทบไม่เคยในกรณีของฉัน)

  • /usr/bin/pythonจริงๆแล้วเป็น Python 3 ล่าสุดไม่ใช่ Python 2.7 ยุคก่อนประวัติศาสตร์ นั่นเป็นปัญหาสำหรับฉันที่มีการแจกแจงอื่น ๆ ส่วนใหญ่และคุณไม่สามารถเปลี่ยนแปลงสิ่งนั้นได้อย่างง่ายดาย (อย่างน้อยก็ไม่ใช่ทั้งระบบ) เพราะมันจะทำลายแอพจำนวนมากที่พึ่งพามัน

จุดด้อย:

  • การอัพเกรดบางอย่างต้องการการแทรกแซงด้วยตนเองและสามารถหยุด ฉันขอแนะนำให้มีแบบจำลองสภาพแวดล้อมการใช้งานจริงของคุณใน VMs และทดสอบการอัปเกรดที่นั่นก่อนที่จะเผยแพร่ในเซิร์ฟเวอร์จริง

  • ไม่มีการกำหนดค่าเริ่มต้นการทำงาน ไม่ดีสำหรับผู้ที่ต้องการเรียกใช้ apt-get และติดตั้ง LAMP stack ที่ไม่ปลอดภัยเริ่มต้นเพื่อปรับใช้แอป PHP ที่เสี่ยงต่อการถูกเสี่ยและสร้างความวุ่นวายให้กับอินเทอร์เน็ต แน่นอนว่านี่เป็นข้อได้เปรียบสำหรับคนที่จริงจังเพราะมันบังคับให้คุณตรวจสอบไฟล์กำหนดค่าก่อนเริ่มบริการ

  • ไม่รองรับ SELinux มี GRSecurity และ RBAC ของมัน แต่คุณต้องใช้เวลาสักพักเพื่อทำความคุ้นเคยและปรับแต่งมัน

ฉันจะไม่เห็นด้วยกับความจริงที่ว่าคุณได้รับการสนับสนุนน้อยลง แน่นอนว่าเป็นเรื่องจริง นั่นเป็นข้อเสียหรือไม่? ไม่ในความคิดของฉัน มีน้อยมากใน Arch ที่สามารถแตกหักได้และจะต้องการการสนับสนุนจากคนที่คุ้นเคยกับ Arch โดยปกติหากคุณต้องการความช่วยเหลือคุณจะต้องใช้ซอฟต์แวร์บางตัวซึ่งในกรณีนี้คุณจะต้องถามนักพัฒนาซอฟต์แวร์และข้อเท็จจริงที่ว่าคุณกำลังใช้งาน Arch นั้นไม่เกี่ยวข้อง

สำหรับฉันแล้วการใช้ Arch นั้นง่ายกว่าและใช้เวลาน้อยกว่าการใช้ CentOS และ Networkmanager, firewalld และบริการที่ไม่จำเป็นอื่น ๆ (สามารถปิดการใช้งานได้ แต่มันเสียเวลาไปแล้ว) นอกจากนี้ฉันรู้ทุกบริการเดียวที่ทำงานบนระบบเพราะฉันจะได้ติดตั้งมันไม่มีซอฟต์แวร์ลับ ๆ ล่อใจที่ทำให้ฉันรำคาญกับข้อผิดพลาดและต้องการโทรศัพท์กลับบ้านแม้ว่าฉันเพิ่งจะติดตั้งระบบ


5

ฉันมักจะแนะนำหนึ่งใน:

  • CentOS มันเป็นโคลน RHEL ฟรีซึ่งหมายความว่าคุณจะได้รับรอบการสนับสนุนที่ยาวนานมาก (7 ปี) ซึ่งคุณจะได้รับเพียงแค่การแก้ไขด้านความปลอดภัยและการปรับปรุงเล็ก ๆ น้อย ๆ เพื่อให้การติดตั้งระบบนั้นง่ายมาก นอกจากนี้ยังมีซอฟต์แวร์ "เชิงพาณิชย์" จำนวนมากตั้งเป้าไว้ที่ RHEL ดังนั้นจึงง่ายต่อการติดตั้งบน CentOS ข้อเสีย: ฉันชอบ apt / dpkg ถึง yum / rpm ไม่ใช่เรื่องง่ายที่จะทำให้ซอฟต์แวร์ตกเลือดใช้งานได้ง่ายการเลือกใช้ซอฟต์แวร์สปาร์ตันค่อนข้างมาก

  • Ubuntu LTS ที่จริงฉันยังไม่ได้ใช้ แต่ก็มีวงจรการสนับสนุนที่ยาวนานและเป็น Debianish

  • การทดสอบเดเบียน Debian เป็นดิสโก้ที่ชื่นชอบของฉันทำงานได้ดีจริงๆและมันมีแพ็คเกจให้เลือกมากมายอย่างน่างงงวย มันค่อนข้างใช้เวลานานกว่าในการติดตั้งแพทช์ แต่มันง่ายกว่าที่จะติดตั้งซอฟต์แวร์

ฉันขอแนะนำให้พิจารณาข้อดีในการใช้ Arch Linux กับหนึ่งในสามเหล่านั้นและดูว่าคุ้มค่าหรือไม่


2
คุณจะใช้การทดสอบ Debian บนเซิร์ฟเวอร์การผลิตหรือไม่? นั่นทำให้ฉันไม่มีเหตุผล คุณแก้ไขสิ่งที่ทำลายระหว่างการอัพเดทบ่อยแค่ไหน?
Jason Berg

1
@ Jason: มีความกังวลมากขึ้นในขณะที่ Debian ได้รับการสนับสนุนด้านความปลอดภัยอย่างเป็นทางการสำหรับการทดสอบมันไม่ดีเท่าเสถียรภาพหรือไม่เสถียรเนื่องจากการอัปเดตความปลอดภัยสำหรับการทดสอบมีเวลาลดลง แต่ไม่กักกันและอาจล่าช้าเนื่องจากการพึ่งพา
Gilles 'หยุดชั่วร้าย'

ฉันหันไปทดสอบเมื่อฉันต้องการเรียกใช้ซอฟต์แวร์ล่าสุด (เช่นการเรียกใช้แอพ Rails ที่ทำงานบน CentOS นั้นค่อนข้างน่ารำคาญ แต่ค่อนข้างง่ายสำหรับการทดสอบ Debian ... ) ฉันใช้ debsecan เพื่อดึงการปรับปรุงด้านความปลอดภัยและโดยปกติจะค่อนข้างเสถียร ถ้าฉันใช้มันสำหรับการผลิตที่ไม่ยอมใครง่ายๆฉันต้องการทำการทดสอบอย่างละเอียดก่อนที่จะเผยแพร่การปรับปรุงในกล่องทดสอบ แน่นอนฉันควรทำเช่นนั้นในกล่อง CentOS :-p
alex

1
“ [เดเบียน] ใช้เวลานานกว่าปกติในการรับการแก้ไข” - ทำไมการติดตามและการอัพเดทที่ยากกว่าจึงเป็นเรื่องยาก? เช่นเดียวกับการปรับปรุง CentOS, apt-get upgradeมันเป็นเพียง บางทีฉันอาจจะพลาดบางสิ่งบางอย่าง ...
Léo Lam

2
ฉันไม่เห็นว่าคำตอบนี้ตอบคำถามอย่างไรซึ่งเป็น "Arch Linux เหมาะสมกับสภาพแวดล้อมเซิร์ฟเวอร์หรือไม่" การแนะนำ distros อื่น ๆ สามข้อจากนั้นแนะนำให้ผู้อ่านทำการเปรียบเทียบของตนเองกับ Arch Linux ไม่ใช่คำตอบ
Jon Bentley

1

ฉันใช้เซิร์ฟเวอร์ Archlinux หลายตัวตั้งแต่ปี 2556 ในสภาพแวดล้อมการผลิตและมันทำงานได้อย่างมีเสน่ห์

ตรวจสอบให้แน่ใจว่าคุณต้องแน่ใจว่าการอัปเดตเป็นไปด้วยดีโดยใช้งานบ่อยและตรวจสอบหน้า archlinux เสมอก่อนที่คุณจะอัพเกรด

แต่สุดท้ายแล้วคุณจะมีปัญหามากขึ้นในการอัพเกรด RedHat / CentOS จาก 6 เป็น 7 (แทบจะเป็นไปไม่ได้) หรือ SLES / SLED จาก 11 เป็น 12 เป็นต้น

คุณมีการอัปเดตเล็ก ๆ อย่างต่อเนื่องเป็นครั้งคราวที่ทำให้เกิดการกระทำบางอย่าง แต่ฉันไม่เคยมีอะไรที่ยิ่งใหญ่ในช่วง 5 ปีที่ผ่านมา

และคุณยังเป็นคนทันสมัยอยู่เสมอหากมีการรั่วไหลของความปลอดภัยในเคอร์เนลใน openssl ใน bash หรืออะไรก็ตามคุณมีการอัปเดตภายในไม่กี่ชั่วโมงแทนที่จะเป็นวันต่อเดือน

ตัวอย่างเช่นเซิร์ฟเวอร์ของฉันได้รับการอัพเกรดอย่างสมบูรณ์และป้องกัน spectre v1, spectre v2 และ meltdown ฉันค่อนข้างแน่ใจว่ามีเพียง 1% ของผู้ที่โพสต์ที่นี่เท่านั้นที่มีเซิร์ฟเวอร์ที่ป้องกันทั้งสามตัว

มันรวดเร็วปลอดภัยและมีเสถียรภาพ (!) และคุณมีซอฟต์แวร์ปัจจุบันที่ช่วยบรรเทาปัญหามากมาย

ฉันขอแนะนำให้ใช้ Archlinux บนเซิร์ฟเวอร์ข้อเสียเพียงอย่างเดียวคือคุณต้องรู้ว่าคุณทำอะไร คุณควรติดตั้งระบบ LFS อย่างน้อยหนึ่งครั้งเพื่อให้คุณเข้าใจพื้นฐานที่ดีเกี่ยวกับการสร้างและใช้งานระบบลินุกซ์

ระบบเซิร์ฟเวอร์เดียวที่ฉันพบว่ามีความเสถียรมากกว่า Archlinux ในสภาพแวดล้อมเซิร์ฟเวอร์คือ Gentoo มีระบบ Gentoo หนึ่งระบบที่ไม่มีการอัปเดตสำหรับ 700 วันและ 1 ชั่วโมงต่อมาระบบนี้เป็นรุ่นล่าสุดและทำงานด้วยการหยุดทำงานเพียงครั้งเดียวซึ่งเป็นการรีบูตครั้งเดียว

แต่ระบบอื่น ๆ เช่น Debian / Ubuntu, RedHat, SUSE จะทำให้คุณพลาดโดยสมบูรณ์เมื่อมีการอัพเกรด distro RedHat ยังไม่สนับสนุนให้คุณทำการอัพเกรด distro และแนะนำให้ติดตั้งใหม่ (ตามเอกสารทางการ)

ใช่แล้ว RedHat นั้นมีความเสถียรมากกว่า Archlinux แต่เพียงเพราะคุณไม่ได้รับการอัพเกรดที่ยิ่งใหญ่ และเมื่อคุณได้รับพวกเขาคุณจะเมา


0

ฉันจะบอกว่าใช่ด้วยข้อแม้ที่คุณไม่ควรเรียกใช้ pacman -Syu บนเซิร์ฟเวอร์ที่ใช้งานจริงและเก็บข้อมูลสำรองแบบอิมเมจของไดรฟ์ระบบที่สามารถพลิกข้ามระบบไฟล์ในกรณีที่เกิดความเสียหาย

ใช้งานได้มากขึ้น (เว็บมีความเสียหายน้อยกว่า) มากกว่าการทดสอบ Debian / sid หากคุณต้องการแพ็กเกจที่ทันสมัยและการติดตั้งที่น้อยที่สุด Arch เป็นดิสทริบิวชั่นที่ดีที่สุด แต่ต้องการความสะดวกสบายมากกับการจัดการด้วยตนเอง


0

ความแตกต่างที่สำคัญของ distros ของเซิร์ฟเวอร์คือคุณได้รับการปรับปรุงความปลอดภัยเท่านั้นขณะที่ใน arch คุณจะได้รับการแก้ไขที่สำคัญของแพ็คเกจด้วยซึ่งอาจทำให้สิ่งต่าง ๆ เสียหาย

ถ้าคุณต้องการทำให้ arch เหมาะสำหรับเซิร์ฟเวอร์สิ่งที่คุณต้องทำคือเปลี่ยนมิเรอร์ของคุณ (ที่ที่คุณได้รับแพ็คเกจจาก) ตัวอย่างเช่น:

  • มิเรอร์ Arch:คุณได้รับการอัปเดตเล็กน้อย / แพ็คเกจใหญ่ ๆ ในช่วงสัปดาห์แรกหลังจากเจ้าของได้เปิดตัว
  • manjaro-unstable:เหมือนกับ mirror arch แต่บางแพ็คเกจก็ตรวจสอบซ้ำ ข้อบกพร่องที่สำคัญบางอย่างจะไม่ทำให้เป็นการผลิต
  • manjaro-beta:เหมือนกับ arch arch แต่แพ็คเกจทั้งหมดได้รับการตรวจสอบสามครั้ง ข้อผิดพลาดที่สำคัญส่วนใหญ่จะไม่ทำให้การผลิต
  • manjaro-stable:เหมือนกับ mirror arch แต่มีการตรวจสอบแพ็คเกจหลายครั้งในช่วงหลายเดือน ข้อบกพร่องเล็ก ๆ น้อย ๆ มากทำให้การผลิต

ในทำนองเดียวกันถ้าคุณใช้มิเรอร์ที่ออกแบบมาโดยเฉพาะสำหรับเซิร์ฟเวอร์ที่คุณได้รับการแก้ไขเพียงเล็กน้อยก็จะปลอดภัยที่จะใช้ arch บนเซิร์ฟเวอร์

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