appstreamcli - จัดการรูปแบบข้อมูลเมตาของ AppStream และสืบค้นข้อมูล AppStream
appstreamcli [COMMAND]
หน้าคู่มือนี้มีเอกสารคำสั่ง appstreamcli โดยสังเขป
appstreamcli เป็นเครื่องมือช่วยเหลือขนาดเล็กสำหรับทำงานกับข้อมูลเมตาของ AppStream และเข้าถึงดัชนีคอมโพเนนต์ AppStream จากบรรทัดคำสั่ง ดัชนีคอมโพเนนต์ AppStream ประกอบด้วยรายการคอมโพเนนต์ซอฟต์แวร์ที่มีอยู่ทั้งหมดสำหรับการเผยแพร่ของคุณ ซึ่งตรงกับชื่อแพ็กเกจ ซึ่งสร้างขึ้นโดยใช้ข้อมูล AppStream XML หรือ Debian DEP-11 ซึ่งจัดจำหน่ายโดยผู้จัดจำหน่ายของคุณ
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับโครงการ AppStream และองค์ประกอบอื่นๆ ที่เป็นส่วนหนึ่งของโครงการ โปรดดูที่หน้า AppStream ที่ Freedesktop.org[1]
get ID
รับส่วนประกอบจากกลุ่มข้อมูลเมตาตามตัวระบุ
ค้นหากลุ่มคอมโพเนนต์ AppStream สำหรับคำค้นหาที่ระบุ
ส่งคืนส่วนประกอบที่ให้รายการที่กำหนด สามารถระบุประเภทรายการได้โดยใช้พารามิเตอร์ TYPE ค่าที่จะค้นหาจะต้องระบุโดยใช้พารามิเตอร์ TERM
ตัวอย่าง:
รับส่วนประกอบที่จัดการประเภทสื่อ "text/xml"
appstreamcli what-provides mediatype "text/xml"
รับส่วนประกอบที่ให้ไลบรารี "libfoo.so.2"
appstreamcli what-provides lib libfoo.so.2
ทริกเกอร์การรีเฟรชฐานข้อมูล หากจำเป็น ในกรณีที่คุณต้องการบังคับให้สร้างฐานข้อมูลใหม่ ให้ระบุแฟล็ก --force
คำสั่งนี้ต้องดำเนินการโดยได้รับอนุญาตรูท
แสดงข้อมูลต่างๆ เกี่ยวกับข้อมูลเมตาที่ติดตั้งและแคชข้อมูลเมตา
แสดงข้อมูลเกี่ยวกับระบบปฏิบัติการปัจจุบันจากดัชนีข้อมูลเมตา สิ่งนี้ต้องการให้ระบบปฏิบัติการจัดเตรียมส่วนประกอบของระบบปฏิบัติการสำหรับตัวมันเอง
ดัมพ์คำอธิบาย XML ที่สมบูรณ์ของคอมโพเนนต์ด้วย ID ที่ระบุซึ่งพบในพูลข้อมูลเมตา
ตรวจสอบข้อมูลเมตา AppStream XML เพื่อให้สอดคล้องกับข้อกำหนด
จัดการทั้งประเภทข้อมูลเมตา XML, upstream และ distro XML ประเภทรูปแบบที่ควรตรวจสอบจะถูกกำหนดโดยอัตโนมัติ
แฟล็ก --อวดรู้ ทริกเกอร์การตรวจสอบไฟล์ที่ซ้ำซากมากขึ้น รวมถึงปัญหาเล็กน้อยและรูปแบบในรายงาน
ตรวจสอบข้อมูลเมตา AppStream XML ที่พบในโครงสร้างไฟล์
วิธีนี้ดำเนินการตรวจสอบมาตรฐานของข้อมูลเมตาที่พบทั้งหมด แต่ยังตรวจสอบข้อผิดพลาดเพิ่มเติม เช่น การมีอยู่ของไฟล์ .desktop และความถูกต้องของข้อมูลเมตาเพิ่มเติมอื่นๆ
ทดสอบสตริงใบอนุญาตหรือนิพจน์ใบอนุญาตสำหรับความถูกต้องและแสดงรายละเอียดเกี่ยวกับมัน
การดำเนินการนี้จะตรวจสอบว่าสตริงสิทธิ์การใช้งานได้รับการพิจารณาว่าถูกต้องสำหรับ AppStream หรือไม่ และส่งคืนรหัสทางออกที่ไม่ใช่ศูนย์หากไม่เป็นเช่นนั้น คำสั่งจะแสดงข้อมูลที่เป็นประโยชน์ เช่น รหัสตามรูปแบบบัญญัติของใบอนุญาตว่าเหมาะสมเป็นใบอนุญาตสำหรับข้อมูลเมตาของ AppStream หรือไม่ และใบอนุญาตนั้นได้รับการพิจารณาว่าเป็นซอฟต์แวร์ฟรีและโอเพ่นซอร์สหรือซอฟต์แวร์ที่เป็นกรรมสิทธิ์หรือไม่
AppStream จะถือว่าใบอนุญาตใดๆ เป็นโอเพ่นซอร์สแบบฟรีและถูกทำเครื่องหมายว่าเหมาะสมโดย Free Software Foundation (FSF), Open Source Initiative (OSI) หรือรายการใบอนุญาตที่ชัดเจนของ Debian Free Software Guideline (DFSG)
ติดตั้งส่วนประกอบซอฟต์แวร์ด้วย ID โดยใช้ตัวจัดการแพ็คเกจหรือ Flatpak
วิธีนี้จะแก้ไขรหัสคอมโพเนนต์ AppStream ให้กับตัวเลือกการติดตั้ง จากนั้นเรียกโปรแกรมจัดการแพ็กเกจเนทีฟหรือ Flatpak (หากมี) เพื่อติดตั้งคอมโพเนนต์
ถอนการติดตั้งส่วนประกอบซอฟต์แวร์ด้วย ID โดยใช้ตัวจัดการแพ็คเกจหรือ Flatpak
การดำเนินการนี้จะถอนการติดตั้งซอฟต์แวร์ที่ตรงกับ ID ที่เลือกโดยใช้ตัวจัดการแพ็คเกจดั้งเดิมหรือ Flatpak (ถ้ามี)
ติดตั้งไฟล์ข้อมูลเมตาในไดเร็กทอรีที่ถูกต้องบนเครื่องปัจจุบัน
เปรียบเทียบหมายเลขเวอร์ชันสองเวอร์ชัน หากระบุหมายเลขเวอร์ชันสองหมายเลขเป็นพารามิเตอร์ เวอร์ชันจะถูกเปรียบเทียบและผลการเปรียบเทียบจะถูกพิมพ์ไปที่ stdout
หากมีการส่งผ่านหมายเลขเวอร์ชัน ตัวดำเนินการเปรียบเทียบ และหมายเลขเวอร์ชันอื่นเป็นพารามิเตอร์ ผลลัพธ์ของการดำเนินการเปรียบเทียบจะถูกพิมพ์ไปที่ stdout และ appstreamcli จะออกโดยสถานะการออกที่ไม่ใช่ศูนย์ในกรณี การเปรียบเทียบล้มเหลว ตัวดำเนินการเปรียบเทียบสามารถเป็นหนึ่งในสิ่งต่อไปนี้:
เท่ากับ
ไม่เท่ากับ
น้อยกว่า
มากกว่า
น้อยกว่าหรือเท่ากับ
มากกว่าหรือเท่ากับ
สร้างเทมเพลตไฟล์ metainfo เพื่อใช้ในโครงการซอฟต์แวร์ สามารถใช้ตัวเลือก --จากเดสก์ท็อป เพื่อใช้ไฟล์ .desktop เป็นเทมเพลตสำหรับสร้างไฟล์ตัวอย่าง
ไฟล์ที่สร้างขึ้นประกอบด้วยรายการตัวอย่างซึ่งผู้เขียนโครงการต้องยื่นด้วยค่าที่ต้องการจริง
พารามิเตอร์ TYPE แรกคือชื่อของประเภทคอมโพเนนต์ AppStream สำหรับรายการทั้งหมด โปรดดู เอกสารประกอบ[2] หรือเอาต์พุตความช่วยเหลือของ appstreamcli สำหรับคำสั่งย่อยนี้
สร้างไฟล์รายการเดสก์ท็อป XDG จากไฟล์ metainfo หากมีไฟล์รายการเดสก์ท็อปที่ระบุใน DESKTOP_FILE อยู่แล้ว ไฟล์จะถูกขยายด้วยข้อมูลใหม่ที่ดึงมาจากไฟล์ metainfo มิฉะนั้นไฟล์ใหม่จะถูกสร้างขึ้น
คำสั่งนี้จะใช้ไบนารีตัวแรกที่กล่าวถึงในแท็ก provide ของคอมโพเนนต์สำหรับฟิลด์ Exec= ของไฟล์ desktop-entry ใหม่ หากนี่ไม่ใช่ลักษณะการทำงานที่ต้องการ สามารถใช้แฟล็ก --exec เพื่อกำหนดไบนารีที่จะเรียกใช้อย่างชัดเจน ขณะนี้ยังไม่รองรับวิธีอื่นในการเปิดใช้แอปพลิเคชัน
เพื่อสร้างรายการเดสก์ท็อปที่เหมาะสม คำสั่งนี้ถือว่าไม่ได้ตั้งค่าแท็กที่จำเป็นขั้นต่ำสำหรับคอมโพเนนต์ AppStream เท่านั้น แต่ยังมีแท็ก
คำสั่งนี้จะแปลงไฟล์ NEWS ที่ใช้โดยโครงการโอเพ่นซอร์สจำนวนมากเป็น XML ที่ AppStream ใช้ เนื่องจากไฟล์ NEWS เป็นข้อความอิสระ จึงมีการใช้ฮิวริสติกจำนวนมากเพื่อให้ได้ผลลัพธ์ที่สมเหตุสมผล ตัวแปลงยังสามารถอ่านคำอธิบายการเผยแพร่ AppStream เวอร์ชัน YAML และแปลงเป็น XML ได้อีกด้วย หากมีไฟล์ metainfo MI_FILE อยู่แล้ว ไฟล์นั้นจะเสริมด้วยรายการเผยแพร่ใหม่ มิฉะนั้น รายการเผยแพร่จะถูกเขียนโดยไม่มีองค์ประกอบการห่อใดๆ หากระบุ [OUT_FILE] แทนที่จะดำเนินการกับ MI_FILE ข้อมูลที่เปลี่ยนแปลงจะถูกเขียนลงในไฟล์เฉพาะ หากชื่อไฟล์เอาต์พุตใดถูกตั้งค่าเป็น "-" เอาต์พุตจะถูกเขียนเป็น stdout แทน
สามารถใช้ตัวเลือก --รูปแบบ เพื่อบังคับให้อ่านไฟล์อินพุตในรูปแบบเฉพาะ ("ข้อความ" หรือ "yaml") ในกรณีที่การตรวจหารูปแบบอัตโนมัติล้มเหลว ตัวเลือก --limit ใช้เพื่อจำกัดจำนวนรายการเผยแพร่ที่เขียน (รายการใหม่ล่าสุดจะอยู่ก่อนเสมอ)
คำสั่งนี้จะย้อนกลับคำสั่ง news-to-metainfo และเขียนไฟล์ NEWS เป็นข้อความหรือ YAML โดยใช้ XML ที่อยู่ในไฟล์ metainfo หากตั้งค่า NEWS_FILE เป็น "-" ข้อมูลผลลัพธ์จะถูกเขียนไปที่ stdout แทนที่จะเป็นไฟล์
สามารถใช้ตัวเลือก --รูปแบบ เพื่อระบุรูปแบบผลลัพธ์อย่างชัดเจน ("yaml" หรือ "ข้อความ") หากไม่ได้ตั้งค่าไว้ appstreamcli จะเดาว่ารูปแบบใดเหมาะสมที่สุด
แปลงข้อมูลเมตา AppStream XML เป็นการแสดง YAML และในทางกลับกัน
เขียนแคตตาล็อกข้อมูลเมตาของ AppStream จากโครงสร้างไดเร็กทอรีที่มีไฟล์ metainfo คำสั่งนี้ใช้ได้เฉพาะเมื่อติดตั้งคอมโพเนนต์ org.freedesktop.appstream.compose ดู appstreamcli-compose(1) สำหรับข้อมูลเพิ่มเติม
พิมพ์ข้อมูลเพิ่มเติมเกี่ยวกับส่วนประกอบที่พบ
อย่าพิมพ์ผลลัพธ์ที่เป็นสี
อย่าเข้าถึงเครือข่ายเมื่อตรวจสอบข้อมูลเมตา
เอฟเฟกต์เดียวกันนี้สามารถทำได้โดยการตั้งค่าตัวแปรสภาพแวดล้อม AS_VALIDATE_NONET ก่อนที่จะเรียกใช้ appstreamcli
แสดงหมายเลขเวอร์ชันของ appstreamcli
pkcon(1).
หน้าคู่มือนี้เขียนโดย Matthias Klumpp matthias@tenstral.net
ลิขสิทธิ์ © 2012-2022 Matthias Klumpp
1. Freedesktop.org: https://www.freedesktop.org/wiki/Distributions/AppStream/
2. เอกสาร: https://www.freedesktop.org/software/appstream/docs/chap-Metadata.html