appstreamcli - คู่มืออ้างอิง ตัวเลือก ตัวอย่างคำสั่ง


ชื่อ

appstreamcli - จัดการรูปแบบข้อมูลเมตาของ AppStream และสืบค้นข้อมูล AppStream

เรื่องย่อ

appstreamcli [COMMAND]

คำอธิบาย

หน้าคู่มือนี้มีเอกสารคำสั่ง appstreamcli โดยสังเขป

appstreamcli เป็นเครื่องมือช่วยเหลือขนาดเล็กสำหรับทำงานกับข้อมูลเมตาของ AppStream และเข้าถึงดัชนีคอมโพเนนต์ AppStream จากบรรทัดคำสั่ง ดัชนีคอมโพเนนต์ AppStream ประกอบด้วยรายการคอมโพเนนต์ซอฟต์แวร์ที่มีอยู่ทั้งหมดสำหรับการเผยแพร่ของคุณ ซึ่งตรงกับชื่อแพ็กเกจ ซึ่งสร้างขึ้นโดยใช้ข้อมูล AppStream XML หรือ Debian DEP-11 ซึ่งจัดจำหน่ายโดยผู้จัดจำหน่ายของคุณ

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับโครงการ AppStream และองค์ประกอบอื่นๆ ที่เป็นส่วนหนึ่งของโครงการ โปรดดูที่หน้า AppStream ที่ Freedesktop.org[1]

ตัวเลือก

get ID

รับส่วนประกอบจากกลุ่มข้อมูลเมตาตามตัวระบุ

s, search TERM

ค้นหากลุ่มคอมโพเนนต์ AppStream สำหรับคำค้นหาที่ระบุ

what-provides TYPE TERM

ส่งคืนส่วนประกอบที่ให้รายการที่กำหนด สามารถระบุประเภทรายการได้โดยใช้พารามิเตอร์ TYPE ค่าที่จะค้นหาจะต้องระบุโดยใช้พารามิเตอร์ TERM

ตัวอย่าง:

รับส่วนประกอบที่จัดการประเภทสื่อ "text/xml"

appstreamcli what-provides mediatype "text/xml"

รับส่วนประกอบที่ให้ไลบรารี "libfoo.so.2"

appstreamcli what-provides lib libfoo.so.2
refresh, refresh-cache

ทริกเกอร์การรีเฟรชฐานข้อมูล หากจำเป็น ในกรณีที่คุณต้องการบังคับให้สร้างฐานข้อมูลใหม่ ให้ระบุแฟล็ก --force

คำสั่งนี้ต้องดำเนินการโดยได้รับอนุญาตรูท

status

แสดงข้อมูลต่างๆ เกี่ยวกับข้อมูลเมตาที่ติดตั้งและแคชข้อมูลเมตา

os-info

แสดงข้อมูลเกี่ยวกับระบบปฏิบัติการปัจจุบันจากดัชนีข้อมูลเมตา สิ่งนี้ต้องการให้ระบบปฏิบัติการจัดเตรียมส่วนประกอบของระบบปฏิบัติการสำหรับตัวมันเอง

dump ID

ดัมพ์คำอธิบาย XML ที่สมบูรณ์ของคอมโพเนนต์ด้วย ID ที่ระบุซึ่งพบในพูลข้อมูลเมตา

validate FILES

ตรวจสอบข้อมูลเมตา AppStream XML เพื่อให้สอดคล้องกับข้อกำหนด

จัดการทั้งประเภทข้อมูลเมตา XML, upstream และ distro XML ประเภทรูปแบบที่ควรตรวจสอบจะถูกกำหนดโดยอัตโนมัติ

แฟล็ก --อวดรู้ ทริกเกอร์การตรวจสอบไฟล์ที่ซ้ำซากมากขึ้น รวมถึงปัญหาเล็กน้อยและรูปแบบในรายงาน

validate-tree DIRECTORY

ตรวจสอบข้อมูลเมตา AppStream XML ที่พบในโครงสร้างไฟล์

วิธีนี้ดำเนินการตรวจสอบมาตรฐานของข้อมูลเมตาที่พบทั้งหมด แต่ยังตรวจสอบข้อผิดพลาดเพิ่มเติม เช่น การมีอยู่ของไฟล์ .desktop และความถูกต้องของข้อมูลเมตาเพิ่มเติมอื่นๆ

check-license LICENSE

ทดสอบสตริงใบอนุญาตหรือนิพจน์ใบอนุญาตสำหรับความถูกต้องและแสดงรายละเอียดเกี่ยวกับมัน

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

AppStream จะถือว่าใบอนุญาตใดๆ เป็นโอเพ่นซอร์สแบบฟรีและถูกทำเครื่องหมายว่าเหมาะสมโดย Free Software Foundation (FSF), Open Source Initiative (OSI) หรือรายการใบอนุญาตที่ชัดเจนของ Debian Free Software Guideline (DFSG)

install ID

ติดตั้งส่วนประกอบซอฟต์แวร์ด้วย ID โดยใช้ตัวจัดการแพ็คเกจหรือ Flatpak

วิธีนี้จะแก้ไขรหัสคอมโพเนนต์ AppStream ให้กับตัวเลือกการติดตั้ง จากนั้นเรียกโปรแกรมจัดการแพ็กเกจเนทีฟหรือ Flatpak (หากมี) เพื่อติดตั้งคอมโพเนนต์

remove ID

ถอนการติดตั้งส่วนประกอบซอฟต์แวร์ด้วย ID โดยใช้ตัวจัดการแพ็คเกจหรือ Flatpak

การดำเนินการนี้จะถอนการติดตั้งซอฟต์แวร์ที่ตรงกับ ID ที่เลือกโดยใช้ตัวจัดการแพ็คเกจดั้งเดิมหรือ Flatpak (ถ้ามี)

put FILE

ติดตั้งไฟล์ข้อมูลเมตาในไดเร็กทอรีที่ถูกต้องบนเครื่องปัจจุบัน

compare-versions, vercmp VER1 [CMP] VER2

เปรียบเทียบหมายเลขเวอร์ชันสองเวอร์ชัน หากระบุหมายเลขเวอร์ชันสองหมายเลขเป็นพารามิเตอร์ เวอร์ชันจะถูกเปรียบเทียบและผลการเปรียบเทียบจะถูกพิมพ์ไปที่ stdout

หากมีการส่งผ่านหมายเลขเวอร์ชัน ตัวดำเนินการเปรียบเทียบ และหมายเลขเวอร์ชันอื่นเป็นพารามิเตอร์ ผลลัพธ์ของการดำเนินการเปรียบเทียบจะถูกพิมพ์ไปที่ stdout และ appstreamcli จะออกโดยสถานะการออกที่ไม่ใช่ศูนย์ในกรณี การเปรียบเทียบล้มเหลว ตัวดำเนินการเปรียบเทียบสามารถเป็นหนึ่งในสิ่งต่อไปนี้:

eq

เท่ากับ

ne

ไม่เท่ากับ

lt

น้อยกว่า

gt

มากกว่า

le

น้อยกว่าหรือเท่ากับ

ge

มากกว่าหรือเท่ากับ

new-template TYPE FILE

สร้างเทมเพลตไฟล์ metainfo เพื่อใช้ในโครงการซอฟต์แวร์ สามารถใช้ตัวเลือก --จากเดสก์ท็อป เพื่อใช้ไฟล์ .desktop เป็นเทมเพลตสำหรับสร้างไฟล์ตัวอย่าง

ไฟล์ที่สร้างขึ้นประกอบด้วยรายการตัวอย่างซึ่งผู้เขียนโครงการต้องยื่นด้วยค่าที่ต้องการจริง

พารามิเตอร์ TYPE แรกคือชื่อของประเภทคอมโพเนนต์ AppStream สำหรับรายการทั้งหมด โปรดดู เอกสารประกอบ[2] หรือเอาต์พุตความช่วยเหลือของ appstreamcli สำหรับคำสั่งย่อยนี้

make-desktop-file MI_FILE DESKTOP_FILE

สร้างไฟล์รายการเดสก์ท็อป XDG จากไฟล์ metainfo หากมีไฟล์รายการเดสก์ท็อปที่ระบุใน DESKTOP_FILE อยู่แล้ว ไฟล์จะถูกขยายด้วยข้อมูลใหม่ที่ดึงมาจากไฟล์ metainfo มิฉะนั้นไฟล์ใหม่จะถูกสร้างขึ้น

คำสั่งนี้จะใช้ไบนารีตัวแรกที่กล่าวถึงในแท็ก provide ของคอมโพเนนต์สำหรับฟิลด์ Exec= ของไฟล์ desktop-entry ใหม่ หากนี่ไม่ใช่ลักษณะการทำงานที่ต้องการ สามารถใช้แฟล็ก --exec เพื่อกำหนดไบนารีที่จะเรียกใช้อย่างชัดเจน ขณะนี้ยังไม่รองรับวิธีอื่นในการเปิดใช้แอปพลิเคชัน

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

news-to-metainfo NEWS_FILE MI_FILE [OUT_FILE]

คำสั่งนี้จะแปลงไฟล์ NEWS ที่ใช้โดยโครงการโอเพ่นซอร์สจำนวนมากเป็น XML ที่ AppStream ใช้ เนื่องจากไฟล์ NEWS เป็นข้อความอิสระ จึงมีการใช้ฮิวริสติกจำนวนมากเพื่อให้ได้ผลลัพธ์ที่สมเหตุสมผล ตัวแปลงยังสามารถอ่านคำอธิบายการเผยแพร่ AppStream เวอร์ชัน YAML และแปลงเป็น XML ได้อีกด้วย หากมีไฟล์ metainfo MI_FILE อยู่แล้ว ไฟล์นั้นจะเสริมด้วยรายการเผยแพร่ใหม่ มิฉะนั้น รายการเผยแพร่จะถูกเขียนโดยไม่มีองค์ประกอบการห่อใดๆ หากระบุ [OUT_FILE] แทนที่จะดำเนินการกับ MI_FILE ข้อมูลที่เปลี่ยนแปลงจะถูกเขียนลงในไฟล์เฉพาะ หากชื่อไฟล์เอาต์พุตใดถูกตั้งค่าเป็น "-" เอาต์พุตจะถูกเขียนเป็น stdout แทน

สามารถใช้ตัวเลือก --รูปแบบ เพื่อบังคับให้อ่านไฟล์อินพุตในรูปแบบเฉพาะ ("ข้อความ" หรือ "yaml") ในกรณีที่การตรวจหารูปแบบอัตโนมัติล้มเหลว ตัวเลือก --limit ใช้เพื่อจำกัดจำนวนรายการเผยแพร่ที่เขียน (รายการใหม่ล่าสุดจะอยู่ก่อนเสมอ)

metainfo-to-news MI_FILE NEWS_FILE

คำสั่งนี้จะย้อนกลับคำสั่ง news-to-metainfo และเขียนไฟล์ NEWS เป็นข้อความหรือ YAML โดยใช้ XML ที่อยู่ในไฟล์ metainfo หากตั้งค่า NEWS_FILE เป็น "-" ข้อมูลผลลัพธ์จะถูกเขียนไปที่ stdout แทนที่จะเป็นไฟล์

สามารถใช้ตัวเลือก --รูปแบบ เพื่อระบุรูปแบบผลลัพธ์อย่างชัดเจน ("yaml" หรือ "ข้อความ") หากไม่ได้ตั้งค่าไว้ appstreamcli จะเดาว่ารูปแบบใดเหมาะสมที่สุด

convert FILE1 FILE1

แปลงข้อมูลเมตา AppStream XML เป็นการแสดง YAML และในทางกลับกัน

compose

เขียนแคตตาล็อกข้อมูลเมตาของ AppStream จากโครงสร้างไดเร็กทอรีที่มีไฟล์ metainfo คำสั่งนี้ใช้ได้เฉพาะเมื่อติดตั้งคอมโพเนนต์ org.freedesktop.appstream.compose ดู appstreamcli-compose(1) สำหรับข้อมูลเพิ่มเติม

--details

พิมพ์ข้อมูลเพิ่มเติมเกี่ยวกับส่วนประกอบที่พบ

--no-color

อย่าพิมพ์ผลลัพธ์ที่เป็นสี

--no-net

อย่าเข้าถึงเครือข่ายเมื่อตรวจสอบข้อมูลเมตา

เอฟเฟกต์เดียวกันนี้สามารถทำได้โดยการตั้งค่าตัวแปรสภาพแวดล้อม AS_VALIDATE_NONET ก่อนที่จะเรียกใช้ appstreamcli

--version

แสดงหมายเลขเวอร์ชันของ 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