ในสภาพแวดล้อมของเรา เซิร์ฟเวอร์ AIX เดียวเท่านั้นที่ได้รับอนุญาตให้เข้าถึงอินเทอร์เน็ตผ่านไฟร์วอลล์ บนเซิร์ฟเวอร์เดียวนี้ ฉันใช้ suma เพื่อดาวน์โหลดการแก้ไขทั้งหมดสำหรับระดับฐาน ระดับเทคโนโลยี และเซอร์วิสแพ็คทั้งหมดที่เรามีในสภาพแวดล้อมของเรา สิ่งนี้ทำทุกวัน
เดือนละครั้ง ฉันจะคัดลอกการแก้ไขทั้งหมดรวมกันในหนึ่งโฟลเดอร์ต่อระดับพื้นฐาน และฉันใช้ inutoc เพื่อสร้างที่เก็บสองสามแห่งที่ถูกแช่แข็งและสามารถใช้เพื่อแพตช์เซิร์ฟเวอร์ AIX ทั้งหมดของเรา วิธีนี้ทำให้เรามั่นใจได้ว่าเซิร์ฟเวอร์ทั้งหมดอยู่ในระดับ oslevel เดียวกัน เราเรียกสิ่งนี้ว่า "แพตช์เซ็ตรายเดือน"
เรามีไฟล์ CSV ที่แสดงเวอร์ชันเคอร์เนลทั้งหมดสำหรับแต่ละ "แพตช์เซ็ตรายเดือน" สำหรับระบบปฏิบัติการ UNIX/Linux OS ทั้งหมดของเรา ไฟล์ CSV นั้นถูกใช้โดยสคริปต์การแพตช์/การตรวจสอบความถูกต้องของเรา สำหรับ Linux / Solaris ฉันพบ "เคล็ดลับ" เพื่อกำหนดเวอร์ชันเคอร์เนลจากไฟล์ที่เก็บเอง แต่ใน AIX ฉันล้มเหลวในการหา oslevel โดยไม่ต้องแพตช์เซิร์ฟเวอร์ด้วย หลังจากการแพตช์ ฉันสามารถรัน 'oslevel -s' เพื่อหา oslevel ได้ แต่นั่นก็สายเกินไป เนื่องจากสคริปต์การแพตช์ของเราใช้ / ต้องการ oslevel ก่อนที่จะเริ่มการแพตช์จริง
ไม่มีใครรู้เคล็ดลับในการทำให้สำเร็จหรือไม่? ฉันได้ลองสิ่งต่อไปนี้แล้ว:
- โฟลเดอร์ที่เก็บของเรามีไฟล์ *.bff จำนวนมาก ซึ่งเป็นไฟล์ไบนารี ดังนั้นในไฟล์เหล่านั้น ผมหา oslevel ไม่เจอ
- ชื่อไฟล์ *.bff ส่วนใหญ่จะเป็น 'U' ตามด้วยตัวเลขและ '.bff' (จึงใช้ไม่ได้สำหรับการกำหนด oslevel) แต่บางชื่อไฟล์มี (บางส่วนของ) oslevel ในชื่อไฟล์ ตัวอย่างเช่น: 7200-01-06.bff 7200-02-01-1732.bff 7200-02-06.bff 7200-03-06.bff 7200-03.bff 7200-04-01.bff 7200-04-02 .bff 7200-04-03.bff 7200-04.bff 7200-05-01.bff 7200-05-02.bff 7200-05.bff อย่างไรก็ตาม อย่างที่คุณเห็นจาก oslevels ล่าสุด ส่วน 'วันที่สร้าง' หายไปในชื่อไฟล์
- เราแก้ไขโดยใช้
install_all_updates -Y -d <เส้นทาง_to_repo> สั่งการ. ฉันได้ลองใช้ install_all_updates -p -d <เส้นทาง_to_repo>โดยหวังว่าจะมองเห็นได้ที่ไหนสักแห่งในเอาต์พุต แต่ก็ไม่เป็นเช่นนั้น
- ฉันยังพยายาม
installp -[lL] -d <path_to_repo>แต่ยังมองไม่เห็น oslevel
ฉันหวังว่าจะมีคนสามารถช่วยฉันได้
แก้ไขด้านล่าง (เป็นการตอบกลับ @Jeff Schaller คำตอบของเขา)
ขอบคุณมากสำหรับความช่วยเหลือของคุณ!
ใกล้จะตรงกันแล้ว แต่กลัวไม่ตรง...
--> installp -L -d /nim/export/repos/AIX/AIX7200_OS-Vendor_Repo_20200511 | grep :bos\.rte\.ติดตั้ง: | จัดเรียง -t: -k17n | หาง -1 | awk -F: '{พิมพ์ $3, $17}'
7.2.4.2 2480
root@ชื่อเซิร์ฟเวอร์ /nim/export
--> ออสเลเวล -s
7200-04-01-1939
root@ชื่อเซิร์ฟเวอร์ /nim/export
ไม่แน่ใจว่าทำไม... ความคิดใด?
รายละเอียดเพิ่มเติม:
--> installp -L -d /nim/export/repos/AIX/AIX7200_OS-Vendor_Repo_20200511 | เกรป 1937 | สุขา -l
613
root@ชื่อเซิร์ฟเวอร์ /nim/export
--> installp -L -d /nim/export/repos/AIX/AIX7200_OS-Vendor_Repo_20200511 | เกรป 1939 | สุขา -l
0
root@ชื่อเซิร์ฟเวอร์ /nim/export
-->
ดังนั้นฉันคิดว่าต้องมีบางแพ็คเกจที่ติดตั้งพร้อมกับ builddate ของปี 1939 ที่ทำให้ 'oslevel-s' แสดง builddate นั้น ดังนั้นฉันจึงรันคำสั่งต่อไปนี้เพื่อค้นหาแพ็คเกจนี้:
--> lslpp -Lc ทั้งหมด | awk -F':' '{พิมพ์ $2" "$3" "$18}' | เกรป 1937 | สุขา -l
288
root@ชื่อเซิร์ฟเวอร์ /nim/export/repos/AIX/AIX7200_OS-Vendor_Repo_20200511
--> lslpp -Lc ทั้งหมด | awk -F':' '{พิมพ์ $2" "$3" "$18}' | เกรป 1939 | สุขา -l
0
root@ชื่อเซิร์ฟเวอร์ /nim/export/repos/AIX/AIX7200_OS-Vendor_Repo_20200511
--> ออสเลเวล -s
7200-04-01-1939
root@ชื่อเซิร์ฟเวอร์ /nim/export/repos/AIX/AIX7200_OS-Vendor_Repo_20200511
-->
อย่างที่คุณเห็น ฉันไม่พบแพ็คเกจนี้... :(
แก้ไข #2 ด้านล่าง (เป็นการตอบกลับ @Jeff Schaller ความคิดเห็นของเขา)
รูท@ชื่อเซิร์ฟเวอร์ /
--> instfix -ic | เกรป 7200-04 | เกรป :-:
รูท@ชื่อเซิร์ฟเวอร์ /
นั่นไม่ได้กลับมาพร้อมกับสิ่งที่ฉันกลัว
นอกจากนี้ ฉันไม่แน่ใจว่าคุณหมายถึงอะไรกันแน่กับ "... server is back-leveled from theที่คาดไว้ oslevel..." มันตรงกันข้ามไม่ใช่เหรอ? 'oslevel -s' ให้วันที่สร้างเป็นปี 1939 ในขณะที่แพ็คเกจทั้งหมดระบุว่าวันที่สร้างควรเป็นปี 1937 นั่นไม่ใช่ "ระดับหน้า" หรือไม่