คำถามติดแท็ก rpmbuild

1
ทำไมฉันถึงได้รับรายชื่อไฟล์สองครั้งเมื่อสร้าง RPM ของฉัน
ความเข้าใจของฉันคือถ้าฉันระบุคำสั่ง% dir ภายใต้รายการ% files RPM จะไม่แสดงรายการไฟล์ใด ๆ ภายใต้ไดเรกทอรีนั้น การทำเช่นนี้ช่วยให้คุณสามารถกำหนดสิทธิ์เฉพาะสำหรับไดเรกทอรีที่เป็นปัญหา (หรือผู้ใช้กลุ่ม ฯลฯ ) อย่างไรก็ตามฉันยังคงได้รับข้อความ "ไฟล์ที่มีคำเตือนสองครั้ง" เมื่อนอกเหนือจากไดเรกทอรีที่ระบุฉันยังแสดงรายการไฟล์อย่างชัดเจน นี่ฟังดูบ้าฉันรู้ แต่ไฟล์มีสิทธิ์ต่างกันไปยังไดเรกทอรีซึ่งเป็นสาเหตุที่ฉันต้องกำหนดไดเรกทอรีแยกต่างหากโดยใช้คำสั่ง% dir หากฉันไม่ได้ใช้คำสั่ง% dir ถ้าใช่ฉันคาดว่าจะเห็นข้อความเตือนเหล่านี้ ฉันถูกไหม? UPDATE: ที่จริงแล้วไฟล์ที่อยู่ในรายการสองครั้งดูเหมือนว่าจะปรากฏเฉพาะเมื่อฉันรวมคำสั่ง% dir เข้ากับคำสั่ง% config ดังนั้นต่อไปนี้เป็นเรื่องปกติโดยไม่มีข้อความเตือน: %files %dir %attr(0755,testuser,test) /app/product/tracking-tool/bin/ %dir %attr(0755,testuser,test) /app/product/tracking-tool/bin/scripts/ %attr(0755,vscc_prod,vscc) /app/product/tracking-tool/bin/run.sh %attr(0755,vscc_prod,vscc) /app/product/tracking-tool/bin/count.sh %attr(0755,vscc_prod,vscc) /app/product/tracking-tool/bin/delete.sh %attr(0755,vscc_prod,vscc) /app/product/tracking-tool/bin/scripts/script1.sh แต่ผลลัพธ์ต่อไปนี้ในข้อความเตือน: %config %dir %attr(0755,testuser,test) /app/product/tracking-tool/config/ %config %dir …
7 rpm  rpmbuild 

2
รอบต่อนาทีของฉันไม่ได้ดำเนินการตามลำดับการติดตั้ง%
ฉันสร้างแพ็คเกจ RPM เป็นครั้งแรก RPM นี้เป็นแอปส่วนหน้าแบบแพคเกจและการติดตั้งจำเป็นต้องย้ายไฟล์แอพและทำการรีสตาร์ท nginx นี่คือไฟล์สเป็คของฉัน: Name: my-portal-app Version: 2.1 Release: 1%{?dist} Summary: Descripcion License: No-license URL: nourl Source0: my-portal-app-2.1.tar.gz %description My app install %prep %setup -q %build #%configure #make %{?_smp_mflags} %install #rm -rf $RPM_BUILD_ROOT cp -r ./* /var/www/myapp service nginx restart %clean rm -rf $RPM_BUILD_ROOT %files %defattr(-,root,root,-) %doc …
2 linux  rpm  rpmbuild 

1
วิธีทราบรุ่นของ RPM ระหว่างการติดตั้ง
ฉันสร้างสคริปต์สำหรับการปรับใช้โดยใช้ YUM และ RPM ในช่วง pre สคริปต์เป็นไปได้หรือไม่ที่จะทราบว่าเวอร์ชัน rpm ที่ฉันใช้อยู่คืออะไร ฉันต้องการสร้างไฟล์สำรองข้อมูลด้วยเวอร์ชันของ RPM (ในชื่อ) เพื่อให้ฉันสามารถติดตามเวอร์ชันของไฟล์ RPM ได้ ฉันโอเคถ้ามันเป็นคำสั่งพื้นฐาน unix หรือ RPM หรือ YUM
1 unix  yum  rpm  rpmbuild 

1
การตั้งค่าใดที่ควบคุม rpm -e
ฉันมีปัญหาที่ตรงข้ามกับ RPM จะไม่ลบไดเรกทอรีที่ติดตั้งหากมีการแก้ไขหลังจากการติดตั้งครั้งแรก . ผู้โพสต์นั้นต้องการบังคับให้ลบไฟล์ที่ไม่ได้สร้างโดยรอบต่อนาทีในไดเรกทอรีที่สร้างขึ้นโดยรอบต่อนาทีซึ่งขัดกับพฤติกรรมรอบต่อนาทีเริ่มต้น ปัญหาของฉันคือสิ่งที่ตรงกันข้าม ฉันโพสต์ไว้ในตอนแรก กองล้นมากเกินไป แต่ฉันต้องการถามมันแตกต่างกันเล็กน้อยที่นี่ เมื่อติดตั้ง / ถอนการติดตั้ง rpms ที่สร้างขึ้นแบบดั้งเดิมโดยใช้ rpmbuild และ specfiles ฉันจะได้รับพฤติกรรมเริ่มต้นซึ่งเป็นสิ่งที่ฉันต้องการ สถานการณ์ของฉันคือ rpm จะสร้างไดเรกทอรีล็อกที่ใดที่หนึ่งแอ็พพลิเคชันจะล็อกไฟล์ในไดเรกทอรีนั้นและในการถอนการติดตั้งการมีไฟล์เหล่านี้ที่ไม่ได้สร้างโดยรอบต่อนาทีจะป้องกันการลบไฟล์หรือไดเรกทอรีที่เก็บไว้ แต่เมื่อฉันสร้าง RPM ด้วย ปลั๊กอินเนบิวลา rpm สำหรับ Gradle สิ่งที่แตกต่าง ไดเรกทอรีจะถูกลบโดยไม่คำนึงว่ามีการเพิ่มไฟล์ใด ๆ ลงไปหรือไม่ ยิ่งการดีบักเอาต์พุต rpm บอกฉันว่ามันไม่ได้ลบไดเรกทอรีแม้ว่าจริงๆแล้วมันจะเป็น: # rpm -evv myapp ... D: fini 040755 2 (7007, 500) 4096 /usr/local/myapp/logs D: erase …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.