Score:1

ฉันสามารถสร้าง .deb ของตัวเองเพื่อแก้ไขไฟล์ที่สร้างโดย .debs อื่นได้หรือไม่

ธง us

ตัวอย่างเช่น ฉันต้องการให้เดสก์ท็อป Ubuntu ทั้งหมดที่ฉันปรับใช้มีการปรับแต่งบางอย่างตามการตั้งค่าที่พบใน /usr/share/glib-2.0/schemas/แต่ถ้าฉันแก้ไขไฟล์เหล่านั้นแล้วทำ ปรับปรุง apt && อัพเกรด apt, apt เขียนทับการเปลี่ยนแปลงที่ฉันทำ

ฉันคิดว่าฉันควรสร้างที่เก็บที่ติดตั้งหลังจาก gsettings-desktop-schema บรรจุุภัณฑ์. เพื่อให้คอมพิวเตอร์ของฉันสามารถดึงการอัปเดตเป็นสคีมาของ Ubuntu จากนั้นจึงดึงไฟล์ที่แก้ไขแล้วเข้ามา

เป็นไปได้ไหม? และถือว่า "อนุญาต" หรือไม่? ฉันไม่ต้องการละเมิด "แนวทางปฏิบัติที่ดีที่สุด" ในการค้นหาวิธีแก้ไข

ความคิดใด ๆ ที่จะได้รับการชื่นชม.

ru flag
ไม่ได้ คุณไม่สามารถสร้าง .deb ที่สัมผัสกับไฟล์ .debs อื่นๆ ซึ่งส่งผลให้เกิด "ไฟล์ที่ขัดแย้งกัน" และอาจทำให้แพ็คเกจอื่นๆ เสียหายได้ ไฟล์ของแพ็คเกจหนึ่งไม่ได้รับอนุญาต (ตามนโยบาย) เพื่อแก้ไขไฟล์ของแพ็คเกจอื่น *ได้รับอนุญาตให้ใช้ไดเร็กทอรีและพาธ dir เดียวกัน แต่ไม่อนุญาตให้แก้ไขไฟล์ของแพ็คเกจอื่น
Lucas Krupinski avatar
us flag
ดังนั้น ถ้าฉันต้องการแก้ไขไฟล์ที่ติดตั้งโดยแพ็คเกจอื่น ฉันต้องแยกแพ็คเกจนั้นแล้วแก้ไขไฟล์ในแพ็คเกจของฉันเอง? จากนั้นทุกครั้งที่มีการอัปเดตไฟล์ต้นฉบับ ฉันจำเป็นต้องแยกเวอร์ชันถัดไปที่เผยแพร่ และทำการแก้ไขไฟล์เหล่านั้น เพียงเพื่อเปลี่ยนไฟล์คอนฟิกูเรชันเริ่มต้น ในตัวอย่างนี้?
ru flag
โดยทั่วไปแล้ว แพ็คเกจ 'อื่นๆ' เหล่านี้ได้รับการกำหนดค่าให้ *ไม่* แทนที่ไฟล์เริ่มต้นหากมีอยู่แล้ว - เพื่อไม่ให้มีการเขียนทับการตั้งค่าที่ผู้ใช้แก้ไข (เช่น `/etc/nginx/nginx.conf` สามารถแก้ไขได้ โดยผู้ดูแลระบบ แต่จะไม่ถูกเขียนทับในการอัปเกรดแพ็คเกจ) อย่างไรก็ตาม หากคุณกำลังจะเปลี่ยน 'ค่าเริ่มต้น' สำหรับการติดตั้งใหม่อยู่เสมอ คุณต้องแยกแพ็คเกจและซอฟต์แวร์ทุกครั้ง และแก้ไขแพ็คเกจนั้นพร้อมกับการแก้ไขของคุณ
us flag
หากคุณใช้ git และต้องการเปลี่ยนแปลงเพียงครั้งเดียว คุณสามารถ `git pull` หลังจากนั้นเพื่อรวมการเปลี่ยนแปลงในที่เก็บอัปสตรีม (จากที่คุณแยกไว้)
us flag
นี่อาจเป็น [ปัญหา XY](https://xyproblem.info/) โปรดแก้ไขคำถามและระบุสิ่งที่คุณต้องการทำให้สำเร็จพร้อมรายละเอียด
user535733 avatar
cn flag
นี่คือสิ่งที่แพตช์ทำ การเปลี่ยนแปลงไฟล์สคีมาหนึ่งไฟล์ของคุณคือแพตช์เดียว คุณใช้โปรแกรมแก้ไขของคุณอีกครั้งกับแพ็คเกจที่อัปเดตใหม่ การนำแพตช์กลับมาใช้ใหม่มักเป็นเรื่องเล็กน้อยและสามารถเขียนสคริปต์ได้ง่าย ดู `man patch` และ `man diff` เพื่อเริ่มต้น
Lucas Krupinski avatar
us flag
ฉันไม่คิดว่านี่เป็นปัญหา XY แต่อาจจะเป็น สิ่งที่ฉันต้องการทำได้แก่: แทนที่พื้นหลังเดสก์ท็อปเริ่มต้นด้วยพื้นหลังที่ฉันสร้างขึ้นเอง (สำหรับผู้ใช้ระบบ ไม่ใช่แค่ผู้ใช้ของฉันเอง) ดังนั้น ความปรารถนาของฉันคือการล้างพื้นหลังเริ่มต้นออก และแทนที่ด้วยพื้นหลังอื่นๆ ฉันยังต้องการเปลี่ยนแปลงบางอย่างอย่างถาวรกับการตั้งค่าภาพอื่นๆ แบบอักษรเริ่มต้นที่แตกต่างกัน ฯลฯ อีกครั้ง ไม่ใช่สำหรับผู้ใช้เพียง 1 รายของระบบ แต่ไม่ว่าผู้ใช้รายใดจะลงชื่อเข้าใช้ ดูเหมือนว่าไฟล์ที่ฉันต้องการแก้ไขจะเป็นไฟล์ที่ติดตั้งจากที่เก็บของ Ubuntu
Score:1
ธง zw

คุณสามารถใช้ gschema.override ได้ในแพ็คเกจเช่น mate-desktop-environment-core สำหรับเมท

ดู 10_mate-common.gschema.override เป็นตัวอย่าง และไฟล์อื่นที่คล้ายกันใน ต้นไม้ไฟล์.

เอกสาร:

โพสต์คำตอบ

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