ฉันจะวนซ้ำเร็วขึ้นได้อย่างไรเมื่อสร้างสแน็ปอิน


10

ฉันกำลังทำงานกับซอฟต์แวร์ที่ใหญ่กว่าและสร้าง snap ลบซอฟต์แวร์เก่าออกการติดตั้งใหม่นั้นใช้เวลานานมาก

ฉันอยากจะทำซ้ำ ๆ อย่างรวดเร็วและทดสอบสิ่งต่าง ๆ ได้เร็วขึ้น ฉันรู้ว่า snap สร้างได้ดีตอนนี้ฉันสนใจที่จะทดสอบสิ่งต่าง ๆ เช่นการเปิดตัวแอพและการรวมเข้าด้วยกัน มีวิธีทำเช่นนี้หรือไม่?

คำตอบ:


8

คำนำ

snap tryวิธีหนึ่งที่จะไปเกี่ยวกับเรื่องนี้คือการใช้ จาก--helpข้อความ:

The try command installs an unpacked snap into the system for testing
purposes. The unpacked snap content continues to be used even after 
installation, so non-metadata changes there go live instantly. Metadata
changes such as those performed in snap.yaml will require reinstallation 
to go live.

นอกจากนี้ยังมาพร้อมกับตัวเลือก:

--devmode     Install in development mode and disable confinement

สิ่งนี้มีประโยชน์อย่างยิ่งหากคุณต้องการทดสอบการ จำกัด บิตและการใช้อินเทอร์เฟซที่ถูกต้อง

การใช้

วิธีใช้งานนี้ง่ายเพียงแค่เรียกใช้:

snapcraft prime
snap try prime/

ในขั้นตอนแรกคุณบอกsnapcraftให้ทำ

Final copy and preparation for the snap.

และในขั้นตอนที่สองsnapdทำให้การใช้เนื้อหาของไดเรกทอรีเพื่อ "ติดตั้ง" snap ตอนนี้คุณสามารถเล่นกับแพ็คเกจได้ในขณะที่ยังสามารถทำการเปลี่ยนแปลงได้

ตัวอย่าง

ลองใช้ตัวอย่างจากSnappy Playpenเพื่อแสดงวิธีใช้สิ่งนี้

เราใช้กงสุลเนื่องจากค่อนข้างรวดเร็วในการสร้างและใช้:

$ git clone https://github.com/ubuntu/snappy-playpen
$ cd snappy-playpen/consul/
snappy-playpen/consul$ snapcraft prime
Preparing to pull consul 
[...]
Staging consul 
Priming consul 
snappy-playpen/consul$ 

ตอนนี้ขอให้แน่ใจว่าเราไม่ได้ติดตั้งรุ่นอื่นแล้วดำเนินการติดตั้ง

snappy-playpen/consul$ which consul
snappy-playpen/consul$ snap try prime

Name    Version  Rev  Developer  Notes
consul  0.6.4    x1              try
snappy-playpen/consul$ consul --help
usage: consul [--version] [--help] <command> [<args>]

Available commands are:
    agent          Runs a Consul agent
[...]
snappy-playpen/consul$ 

จนถึงตอนนี้ดีมาก ดูเหมือนว่าจะทำงานได้ดี ตอนนี้เรามาแทนที่ด้วย/bin/echoเพื่อดูว่าสิ่งต่าง ๆ ทำงานอย่างไร:

snappy-playpen/consul$ cp /bin/echo prime/bin/consul 
snappy-playpen/consul$ consul --help
Usage: /snap/consul/x1/bin/consul [SHORT-OPTION]... [STRING]...
   or:  /snap/consul/x1/bin/consul LONG-OPTION
Echo the STRING(s) to standard output.
[...]
daniel@daydream:/tmp/test/snappy-playpen/consul$  

อย่างที่คุณเห็นเราสามารถทำการเปลี่ยนแปลงกับระบบถ่ายทอดสดในprimeขณะที่ยังคงทำงานภายใต้การคุมขัง โดยทั่วไปนี่เป็นวิธีที่ดีในการเริ่มต้นและเรียกใช้และทดสอบอย่างรวดเร็ว

หมายเหตุ:ด้วยsnapdก่อนที่ 2.0.10 (2016/07/09) คุณต้อง temove พริบตาก่อนที่จะใช้snapcraft cleanหรือsnapdจะได้รับอยู่ในสภาพที่ไม่ดีและสะอื้นเกี่ยวกับการไม่สามารถที่จะหาติดยึด มีการแก้ไขเพิ่มเติมบางอย่างสำหรับ 2.0.11 ซึ่งควรลงจอดในสองสามวันเช่นกัน


1
คุณอาจพิจารณาว่าควรลบ snap ออกก่อนที่จะรันหนึ่งครั้งsnapcraft cleanหรือ snapd อยู่ในสถานะไม่ดีและเสียงหอนเกี่ยวกับการไม่สามารถค้นหา snaps ที่เมาท์ได้ การแก้ไขอยู่ในระหว่างดำเนินการ แต่ยังไม่ได้เผยแพร่
Kyle

ทำได้ดีนี่! กำลังเพิ่มข้อมูลทันที
dholbach

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