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

สิ่งนี้เป็นไปได้อย่างไร?
เป็นไปได้อย่างไรที่แพ็คเกจจะทำงานบน Linux, Windows และระบบปฏิบัติการอื่น ๆ ทุกรุ่น?
สำหรับการเริ่มต้น ไม่ใช่ทุกแพ็คเกจที่มีแอปพลิเคชัน ตัวอย่างเช่น แอปพลิเคชัน gnome-backgrounds.arch คือชุดของพื้นหลังเดสก์ท็อป ในขณะที่แพ็คเกจได้รับการพัฒนาสำหรับ สภาพแวดล้อมเดสก์ท็อป Gnome มันเป็นเพียงชุดของรูปภาพและรูปภาพถูกสร้างขึ้นในรูปแบบสากลที่สามารถใช้กับระบบปฏิบัติการสมัยใหม่ได้
ดังนั้นคุณสามารถนึกถึงแพ็คเกจ noarch เป็นอะไรก็ได้ที่เป็นสากลอย่างแท้จริง เช่น พื้นหลัง ไอคอน และแม้แต่คู่มือ
แพ็คเกจ Noarch สามารถมีสคริปต์ โปรแกรม และแอปพลิเคชันได้ แต่จะต้องมีไฟล์ที่ข้ามแพลตฟอร์มได้อย่างแท้จริง
โปรแกรมประเภทใดที่ข้ามแพลตฟอร์มได้อย่างแท้จริง?
เว็บแอปพลิเคชันที่พัฒนาด้วย HTML, JavaScript และ CSS เป็นสากล เช่นเดียวกับภาษาสคริปต์ PHP, PERL และ Python
โปรแกรมที่คอมไพล์แล้วไม่สามารถพิจารณาเป็น noarch ได้ เนื่องจากถูกคอมไพล์ให้ทำงานบนสถาปัตยกรรมเฉพาะ ดังนั้น
ตอนนี้ คุณอาจคิดว่าซอร์สโค้ดสามารถเก็บไว้เป็นแพ็คเกจ noarch ได้ เพราะมันสามารถคอมไพล์ข้ามแพลตฟอร์มได้ และมันเป็นเพียงไบนารีที่มีความเฉพาะเจาะจงสำหรับสถาปัตยกรรมเฉพาะ แพ็คเกจซอร์สโค้ดนั้นถูกจัดเก็บไว้ด้วยส่วนขยาย src
ไฟล์ Noarch โดยทั่วไปจะเชื่อมโยงกับแพ็คเกจ RPM
มีความเป็นไปได้สูงที่คุณจะมีแพ็คเกจ RPM noarch จำนวนหนึ่งติดตั้งอยู่ในคอมพิวเตอร์ของคุณอยู่แล้ว
หากต้องการค้นหาแพ็คเกจ noarch ที่คุณติดตั้ง ให้รันคำสั่งต่อไปนี้:
rpm -qa --qf "%{N}-%{V}-%{R}\ t\ t%{ARCH} \ n" | grep noarch | มากกว่า
คำสั่งข้างต้นสามารถแบ่งออกได้ดังนี้:
- rpm เป็นตัวจัดการแพ็คเกจ
- -q ย่อมาจาก query
- -a ย่อมาจาก all
- --qf ย่อมาจาก รูปแบบแบบสอบถาม
- เอาต์พุตจากคำสั่ง rpm ถูกวางเป็นอินพุตไปยัง grep ซึ่งค้นหา noarch
- More ทำให้เอาต์พุตหยุดลงที่ส่วนท้ายของหน้าข้อมูล คุณสามารถไปยังหน้าถัดไปได้โดยกด space
เมื่อดูผลลัพธ์ของคำสั่งด้านบนบนคอมพิวเตอร์ของคุณ คุณอาจเห็นแพ็คเกจแบบอักษร แพ็คเกจเฟิร์มแวร์ เอกสารประกอบ พื้นหลัง ไอคอน และธีมจำนวนหนึ่ง
มีแต่คำเตือน. เพียงเพราะบางสิ่งถูกจัดแพ็คเกจเป็น noarch จึงไม่สมเหตุสมผลเสมอไปที่จะคัดลอกไฟล์ภายในแพ็คเกจนี้ไปยังคอมพิวเตอร์เครื่องอื่นและหวังว่าจะใช้งานได้
ตัวอย่างเช่น หากคุณมีคอมพิวเตอร์หนึ่งเครื่องที่ใช้ Fedora โดยใช้ปุ่ม แพ็คเกจ RPM ผู้จัดการและ Debian อื่นที่ทำงานอยู่โดยใช้รูปแบบไฟล์ DEB คุณควรมองหาแพ็คเกจที่เทียบเท่าบน Debian ก่อนที่จะคัดลอกไฟล์จากเครื่อง Fedora