Score:1

วิธีสร้างสแน็ปตาม jre

ธง fr

ฉันเป็นผู้พัฒนา jape ซึ่งเป็นโปรแกรมแก้ไขการพิสูจน์ตรรกะอย่างเป็นทางการซึ่งใช้ java เพื่อจัดหา GUI และ OCaml เพื่อจัดเตรียมเครื่องมือพิสูจน์ขั้นตอน (ดู rbornat/jape บน GitHub) ฉันกำลังพยายามทำแพ็คเกจ jape เป็นแบบ snap snap มี jre ซึ่งสร้างขึ้นโดยใช้ jlink และ JDK 11 จาก adoptopenjdk เริ่มด้วยการเรียกชั้นเรียนใน jre

ในการสร้าง snap ฉันได้รวมไว้แล้ว สร้างแอตทริบิวต์: [เก็บ execstack] เนื่องจากคอมไพเลอร์ JIT (และไลบรารี่อื่น ลืมไปแล้ว) ต้องการมัน

สแน็ปทำงานร่วมกับ --devmode และ --dangerous ฉันได้บอกให้เชื่อมต่อกับ ไฟล์ส่วนบุคคล จึงจะได้ที่ ~/.javaและเชื่อมต่อกับ :บ้าน. จนถึงตอนนี้ดีมาก

แต่คนเก็บขยะของ jre ทำให้ มาก ของการเข้าถึงไฟล์ระบบ แสดงให้ฉันเห็นโดย แก้จุดบกพร่องเร็ว. ตัวอย่างเช่น มันเริ่มต้นด้วย

= แอพอาร์เมอร์ =
เวลา : 14 ส.ค. 18:49:17 น
บันทึก: apparmor="ALLOWED" operation="open" profile="snap.jape.jape" name="/proc/1/cgroup" pid=40869 comm="java" request_mask="r"dened_mask="r" fsuid =1,000 อูอิด=0
ไฟล์: /proc/1/cgroup (อ่าน)
คำแนะนำ:
* ปรับโปรแกรมไม่ให้เข้า '@{PROC}/@{pid}/cgroup'

= แอพอาร์เมอร์ =
เวลา: 14 ส.ค. 18:49:18 น
บันทึก: apparmor="ALLOWED" operation="open" profile="snap.jape.jape" name="/proc/40869/coredump_filter" pid=40869 comm="java" ask_mask="w"deny_mask="w" fsuid =1,000 อุ้ย=1,000
ไฟล์: /proc/40869/coredump_filter (เขียน)
คำแนะนำ:
* ปรับโปรแกรมไม่ให้เข้า '@{PROC}/@{pid}/coredump_filter'

= แอพอาร์เมอร์ =
เวลา: 14 ส.ค. 18:49:18 น
บันทึก: apparmor="ALLOWED" operation="truncate" profile="snap.jape.jape" name="/proc/40869/coredump_filter" pid=40869 comm="java" request_mask="w"dened_mask="w" fsuid =1,000 อุ้ย=1,000
ไฟล์: /proc/40869/coredump_filter (เขียน)
คำแนะนำ:
* ปรับโปรแกรมไม่ให้เข้า '@{PROC}/@{pid}/coredump_filter'

= แอพอาร์เมอร์ =
เวลา: 14 ส.ค. 18:49:18 น
บันทึก: apparmor="ALLOWED" operation="open" profile="snap.jape.jape" name="/proc/sys/kernel/core_pattern" pid=40869 comm="java" request_mask="r"dened_mask="r " fsuid=1,000 ouid=0
ไฟล์: /proc/sys/kernel/core_pattern (อ่าน)
คำแนะนำ:
* ปรับไม่ให้โปรแกรมเข้าถึง '@{PROC}/sys/kernel/core_pattern'

= แอพอาร์เมอร์ =
เวลา: 14 ส.ค. 18:49:18 น
บันทึก: apparmor="ALLOWED" operation="open" profile="snap.jape.jape" name="/proc/sys/kernel/core_uses_pid" pid=40869 comm="java" request_mask="r"dened_mask="r " fsuid=1,000 ouid=0
ไฟล์: /proc/sys/kernel/core_uses_pid (อ่าน)
คำแนะนำ:
* ปรับไม่ให้โปรแกรมเข้าถึง '@{PROC}/sys/kernel/core_uses_pid'

= แอพอาร์เมอร์ =
เวลา: 14 ส.ค. 18:49:18 น
บันทึก: apparmor="ALLOWED" operation="open" profile="snap.jape.jape" name="/proc/1/cgroup" pid=40869 comm="java" request_mask="r"dened_mask="r" fsuid =1,000 อูอิด=0
ไฟล์: /proc/1/cgroup (อ่าน)
คำแนะนำ:
* ปรับโปรแกรมไม่ให้เข้า '@{PROC}/@{pid}/cgroup'

และต่อมาก็ใช้เวลามากมายไปกับการอ่านเนื้อหาเกี่ยวกับความจำ

= แอพอาร์เมอร์ =
เวลา: 14 ส.ค. 18:49:18 น
บันทึก: apparmor="ALLOWED" operation="open" profile="snap.jape.jape" name="/sys/fs/cgroup/memory/user.slice/user-1000.slice/[email protected]/memory .limit_in_bytes" pid=40869 comm="java" request_mask="r"dened_mask="r" fsuid=1000 ouid=0
ไฟล์: /sys/fs/cgroup/memory/user.slice/user-1000.slice/[email protected]/memory.limit_in_bytes (อ่าน)
ข้อเสนอแนะ:
* ปรับโปรแกรมไม่ให้เข้า '/sys/fs/cgroup/memory/user.slice/user-1000.slice/[email protected]/memory.limit_in_bytes'
* ปรับโปรแกรมไม่ให้เข้า '/sys/fs/cgroup/memory/user.slice/user-[0-9]*.slice/user@[0-9]*.service/memory.limit_in_bytes'

= แอพอาร์เมอร์ =
เวลา: 14 ส.ค. 18:49:18 น
บันทึก: apparmor="ALLOWED" operation="open" profile="snap.jape.jape" name="/sys/fs/cgroup/memory/user.slice/user-1000.slice/[email protected]/memory .usage_in_bytes" pid=40869 comm="java" request_mask="r"dened_mask="r" fsuid=1000 ouid=0
ไฟล์: /sys/fs/cgroup/memory/user.slice/user-1000.slice/[email protected]/memory.usage_in_bytes (อ่าน)
ข้อเสนอแนะ:
* ปรับโปรแกรมไม่ให้เข้า '/sys/fs/cgroup/memory/user.slice/user-1000.slice/[email protected]/memory.usage_in_bytes'
* ปรับโปรแกรมไม่ให้เข้า '/sys/fs/cgroup/memory/user.slice/user-[0-9]*.slice/user@[0-9]*.service/memory.usage_in_bytes'

ฉันกำลังสูญเสียเพื่อดูวิธีทำให้สิ่งนี้รวดเร็ว เดอะ ไฟล์ระบบ อินเทอร์เฟซบอกว่า snap ต้องไม่ดู / ฯลฯ หรือ /proc; เดอะ เค้าโครง กลไกไม่ชอบเชื่อมโยงไปยัง proc/1/cgroup (ซึ่งเป็นทั้งหมดที่ฉันได้ลองมาจนถึงตอนนี้) และฉันจะต้องจัดหาให้ได้ เวลาทำงาน uid และ ปิด ค่าเพื่ออธิบายสิ่งที่เกิดขึ้น แต่เอกสารประกอบของ snapcraft สำหรับ java ไม่ได้บอกเป็นนัยถึงปัญหาเหล่านี้

ช่วย?

user535733 avatar
cn flag
ดูเหมือนจะเป็นคำถามที่ดีสำหรับผู้เชี่ยวชาญของ Snapcraft ที่ snap.io

โพสต์คำตอบ

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