หาก ownCloud แสดงข้อความ “การตรวจสอบความสมบูรณ์ล้มเหลว” หลังจากอัปเกรด ให้ใช้รายงานไฟล์ที่ไม่ถูกต้องเพื่อระบุสาเหตุของความล้มเหลวก่อนที่จะแก้ไขไฟล์ การสแกนซ้ำจะทำการตรวจสอบซ้ำเท่านั้น ไม่ได้กู้คืนไฟล์ที่หายไป ยกเลิกการแก้ไขที่กำหนดเอง หรือติดตั้งแอปเวอร์ชันที่แก้ไขแล้ว สำหรับไฟล์หลัก ให้เปรียบเทียบกับ ownCloud เวอร์ชันที่คุณอัปเกรด สำหรับปัญหาเกี่ยวกับลายเซ็นแอป ให้ค้นหาการอัปเดตแอปที่เข้ากันได้และลงนามอย่างถูกต้อง หรือติดต่อผู้ดูแลแอป
วิธีการแก้ไขที่ถูกต้องนั้นขึ้นอยู่กับขอบเขตของคำเตือน การเปลี่ยนการติดตั้งทั้งหมดอาจปลอดภัยกว่าหลังจากการอัปเกรดบางส่วนหรือแบบผสมเวอร์ชัน แต่จะใช้เวลาหยุดทำงานนานขึ้นและต้องเก็บรักษาข้อมูลการกำหนดค่าและข้อมูลผู้ใช้อย่างระมัดระวัง การเปลี่ยนไฟล์หลักที่ได้รับการยืนยันเพียงไฟล์เดียวจะเร็วกว่า แต่เฉพาะเมื่อคุณสามารถตรวจสอบได้ว่าไฟล์นั้นเป็นของเวอร์ชันที่ติดตั้งไว้ การปิดใช้งานการตรวจสอบลายเซ็นอาจทำให้แอปพลิเคชันบางตัวใช้งานได้ แต่จะลดการป้องกันลงและควรเป็นข้อยกเว้นที่บันทึกไว้ ไม่ใช่การแก้ไขตามปกติ
ขั้นแรก ให้หาว่าอะไรคือสาเหตุที่ล้มเหลว
ลงชื่อเข้าใช้ในฐานะผู้ดูแลระบบและเปิดหน้าผู้ดูแลระบบ ทำตามคำเตือนเรื่องความสมบูรณ์ของไฟล์ไปยังรายการไฟล์ที่ไม่ถูกต้อง ในเอกสาร ownCloud ปัจจุบัน รายงานจะจัดกลุ่มปัญหาตามส่วนประกอบ เช่น ไฟล์หลักหรือแอป และใช้ป้ายกำกับต่างๆ เช่นINVALID_HASH, FILE_MISSING, EXTRA_FILE, และEXCEPTIONป้ายกำกับเหล่านี้ชี้ไปยังสาเหตุที่แตกต่างกัน ดังนั้น โปรดบันทึกส่วนประกอบ เส้นทาง และข้อผิดพลาดก่อนทำการเปลี่ยนแปลง
INVALID_HASHหมายความว่าเนื้อหาปัจจุบันของไฟล์ไม่ตรงกับค่าแฮชในข้อมูลลายเซ็น สาเหตุทั่วไปได้แก่ การอัปเกรดไม่สมบูรณ์ ไฟล์เก่าที่ยังคงอยู่ หรือการแก้ไขในเครื่อง
FILE_MISSINGหมายความว่าไฟล์ที่ลงนามแล้วหายไป การแตกไฟล์หรือการติดตั้งไฟล์เก็บถาวรที่ไม่สมบูรณ์อาจเป็นสาเหตุได้
EXTRA_FILEหมายความว่าการติดตั้งมีไฟล์ที่ไม่ปรากฏอยู่ในลายเซ็น อาจเป็นไฟล์ที่หลงเหลือโดยไม่ได้ตั้งใจ ไฟล์ที่กำหนดเอง หรือไฟล์ที่เพิ่มเข้ามาในเครื่องอย่างถูกต้องตามกฎหมายซึ่งจำเป็นต้องได้รับการตรวจสอบ
EXCEPTIONหมายความว่า ownCloud ไม่สามารถตรวจสอบลายเซ็นได้ รายงานอาจระบุว่าข้อมูลลายเซ็นหายไป ใบรับรองไม่ถูกต้องหรือถูกเพิกถอน หรือการตรวจสอบไม่สามารถดำเนินการให้เสร็จสมบูรณ์
อย่าลบไฟล์เพียงเพราะมันปรากฏขึ้นมาเป็นไฟล์ส่วนเกิน ตรวจสอบว่าไฟล์นั้นทำอะไรและใครเป็นผู้เพิ่มเข้ามา โดยเฉพาะอย่างยิ่ง ห้ามแก้ไขไฟล์ของแอปsignature.jsonเพื่อปิดเสียงเตือนเด็ดขาด คำแนะนำเกี่ยวกับการลงนามรหัสของ ownCloud ระบุไว้อย่างชัดเจนว่าห้ามแก้ไขไฟล์นั้น
เลือกวิธีการซ่อมแซมโดยพิจารณาจากหลักฐานที่มีอยู่
| การค้นหา | ขั้นตอนต่อไปที่ต้องการ | การแลกเปลี่ยน |
| ไฟล์หลักหลายไฟล์มีแฮชไม่ถูกต้องหรือหายไปหลังจากอัปเกรดด้วยตนเอง | ติดตั้งสำเนาใหม่ของเวอร์ชันเป้าหมายที่ถูกต้อง แล้วกู้คืนไฟล์ทางการที่ได้รับผลกระทบ หรือทำการอัปเกรดด้วยตนเองอย่างสะอาดหมดจดอีกครั้ง | การอัปเกรดแบบสะอาดหมดจดนั้นต้องใช้ความพยายามมากขึ้นและอาจต้องหยุดระบบชั่วคราว แต่จะช่วยลดความเสี่ยงในการปล่อยให้โค้ดมีเวอร์ชันผสมปนเปกัน |
| ไฟล์หลักไฟล์หนึ่งไม่ถูกต้อง และคุณรู้ว่าไฟล์นั้นถูกแก้ไขในเครื่องของคุณ | เปรียบเทียบการแก้ไขกับไฟล์รุ่นที่เกี่ยวข้อง เก็บการเปลี่ยนแปลงที่กำหนดเองไว้ภายนอกโครงสร้างหลักที่ลงนามแล้ว และนำกลับมาใช้ใหม่เฉพาะเมื่อได้รับการสนับสนุนเท่านั้น | การคงการเปลี่ยนแปลงไว้อาจช่วยรักษาพฤติกรรมในพื้นที่ แต่การแก้ไขไฟล์หลักที่ลงนามแล้วจะยังคงทำให้การตรวจสอบความสมบูรณ์ล้มเหลวต่อไป |
| แอปแจ้งว่าข้อมูลลายเซ็นหายไปหรือไม่ถูกต้อง | ติดตั้งเวอร์ชันที่เข้ากันได้จากผู้ดูแลแอป หรือปิดใช้งาน/ลบแอปหากไม่ต้องการใช้งานอีกต่อไป | การอัปเดตจะคงฟังก์ชันการทำงานไว้ ในขณะที่การปิดใช้งานจะไม่เข้าไปยุ่งเกี่ยวกับโค้ดของแอป แต่ก็อาจทำให้ฟีเจอร์ที่ผู้ใช้พึ่งพาอยู่หายไปได้ |
| ใบรับรองแอปพลิเคชันถูกเพิกถอนหรือใช้งานไม่ได้ | โปรดขอเวอร์ชันที่เข้ากันได้ซึ่งมีลายเซ็นใหม่จากผู้ดูแลแอปพลิเคชัน ห้ามนำไฟล์ลายเซ็นไปใช้ซ้ำหรือแก้ไข | ขั้นตอนนี้อาจใช้เวลา แต่จะช่วยให้การตรวจสอบลายเซ็นยังคงสมบูรณ์ |
| พบไฟล์เพิ่มเติม | ตรวจสอบเจ้าของ วัตถุประสงค์ และดูว่าเป็นส่วนหนึ่งของการปรับแต่งหรือไม่ ก่อนที่จะย้ายออกจากไดเร็กทอรีการติดตั้ง | การลบไฟล์ที่ไม่รู้จักอาจทำให้การทำงานร่วมกันในเครื่องเสียหายหรือลบข้อมูลสำคัญไป |
ownCloud 11 เพิ่มข้อควรพิจารณาเฉพาะเวอร์ชัน: แอปของบุคคลที่สามต้องมีลายเซ็นที่ถูกต้องจึงจะสามารถติดตั้ง อัปเดต หรือเปิดใช้งานได้ และแอปที่ไม่ถูกต้องอาจถูกบล็อกแทนที่จะแค่แจ้งเตือน ณ วันที่ 6 ตุลาคม 2026 เอกสารประกอบของ ownCloud 11.0 ระบุว่า แอปที่ใช้รูปแบบการลงนามแบบเดิมจะได้รับการยอมรับโดยมีคำเตือนจนถึงวันที่ 31 ธันวาคม 2026 หลังจากนั้น จะเชื่อถือเฉพาะลายเซ็นภายใต้ PKI ใหม่เท่านั้น หากคุณใช้งาน ownCloud 10.x โปรดตรวจสอบเอกสารประกอบสำหรับเวอร์ชันของคุณโดยเฉพาะ แทนที่จะสันนิษฐานว่ากฎการบังคับใช้ของ 11.0 ใช้ได้
เตรียมการก่อนทำการเปลี่ยนการติดตั้ง
- ตรวจสอบเวอร์ชันเซิร์ฟเวอร์ที่ใช้งานอยู่และเวอร์ชันเป้าหมายที่แสดงโดยกระบวนการอัปเกรด ตรวจสอบบันทึกการเผยแพร่และข้อกำหนดของระบบที่ตรงกัน รวมถึงเวอร์ชัน PHP ที่รองรับด้วย
- ทำการสำรองข้อมูลฐานข้อมูล การกำหนดค่า และไดเร็กทอรีข้อมูลใหม่ทั้งหมด เก็บโครงสร้างโค้ดปัจจุบันหรือภาพรวมของระบบไฟล์ไว้หากวิธีการปรับใช้ของคุณรองรับ
- ก่อนทำการซ่อมแซม ให้ตั้งค่าเซิร์ฟเวอร์เข้าสู่โหมดบำรุงรักษา ใช้วิธีการที่ระบุไว้ในเอกสารสำหรับการติดตั้งของคุณ และตรวจสอบให้แน่ใจว่าผู้ใช้ไม่ได้เขียนไฟล์ใดๆ ในระหว่างการดำเนินการ
- ระบุวิธีการติดตั้ง ownCloud: การติดตั้งผ่านไฟล์บีบอัด/ติดตั้งด้วยตนเอง การติดตั้งผ่านแพ็คเกจระบบปฏิบัติการ หรือการติดตั้งผ่าน Docker ปฏิบัติตามขั้นตอนการอัปเกรดของการติดตั้งนั้น อย่านำไฟล์จากไฟล์บีบอัดแบบ tarball ไปผสมกับไฟล์ที่ติดตั้งผ่านแพ็คเกจระบบปฏิบัติการ
- เก็บรายงานต้นฉบับไว้และจดบันทึกทุกไฟล์ที่คุณย้ายหรือแทนที่ การทำเช่นนี้จะทำให้การย้อนกลับและการวินิจฉัยปัญหาในภายหลังง่ายขึ้นมาก
ข้อควรระวังเหล่านี้มีความสำคัญ เนื่องจากคำเตือนเรื่องความสมบูรณ์ของไฟล์นั้นเกี่ยวข้องกับโค้ดแอปพลิเคชันที่สามารถเรียกใช้งานได้ ในขณะที่ฐานข้อมูลและไฟล์ผู้ใช้เป็นส่วนแยกต่างหากของการติดตั้ง การกู้คืนไดเร็กทอรีโค้ดเก่าทับไฟล์ที่จัดการโดยแพ็กเกจเวอร์ชันใหม่กว่าอาจทำให้เกิดความไม่ตรงกันได้ คำแนะนำในการอัปเกรดของ ownCloud แนะนำให้สำรองข้อมูลใหม่ ตรวจสอบบันทึกการเผยแพร่และข้อกำหนด และตรวจสอบความเข้ากันได้ของแอปพลิเคชันจากบุคคลที่สามก่อนทำการอัปเกรด
ซ่อมแซมไฟล์หลักหลังจากอัปเกรดบางส่วน
หากรายงานระบุเส้นทางหลักอย่างเป็นทางการ เช่นindex.php, version.php, หรือไฟล์ภายใต้โครงสร้างหลัก ให้ดาวน์โหลดไฟล์เก็บถาวรอย่างเป็นทางการสำหรับเวอร์ชันที่ต้องการใช้งานในปัจจุบัน อย่าใช้ไฟล์เก็บถาวรเวอร์ชันใหม่กว่าเพียงเพราะมีให้ใช้งาน เนื่องจากค่าแฮชความสมบูรณ์จะสอดคล้องกับเวอร์ชันเฉพาะนั้นๆ
สำหรับปัญหาความไม่ตรงกันเล็กน้อยที่เข้าใจได้ง่าย ให้เปรียบเทียบเส้นทางที่รายงานกับเส้นทางเดียวกันในไฟล์เก็บถาวรนั้น หลังจากยืนยันแล้วว่าเป็นไฟล์ทางการที่ไม่ได้รับการแก้ไข ให้แทนที่เฉพาะไฟล์ที่ได้รับผลกระทบโดยรักษาสิทธิ์การเป็นเจ้าของและสิทธิ์การเข้าถึงที่เว็บเซิร์ฟเวอร์ของคุณต้องการ หากมีไฟล์หลายไฟล์หายไปหรือไม่ตรงกัน หรือคุณไม่สามารถระบุได้ว่าเวอร์ชันใดเป็นผู้จัดหาไฟล์ที่ใช้งานอยู่ การอัปเกรดแบบสะอาดจากไดเร็กทอรีการเผยแพร่ใหม่มักจะเป็นตัวเลือกที่น่าเชื่อถือกว่า
สำหรับการติดตั้งไฟล์เก็บถาวรแบบแมนนวล รูปแบบที่ปลอดภัยคือการจัดเตรียมเวอร์ชันแยกต่างหาก รักษาconfigและ เก็บรักษา dataจากนั้นทำตามขั้นตอนการอัปเกรดอย่างเป็นทางการสำหรับการย้ายโค้ดไปยังตำแหน่งที่ถูกต้อง อย่าเขียนทับไดเร็กทอรีข้อมูลผู้ใช้ด้วยเนื้อหาไฟล์เก็บถาวร การปรับใช้แพ็กเกจและคอนเทนเนอร์มีขั้นตอนการอัปเดตของตนเอง ให้ใช้ขั้นตอนเหล่านั้นแทนการใช้วิธีการเก็บถาวรแบบแมนนวล หากถ่ายโอนไฟล์แต่ละไฟล์ด้วย FTP เอกสารเกี่ยวกับความสมบูรณ์ของ ownCloud ระบุโหมดการถ่ายโอนแบบไบนารี
จัดการคำเตือนของแอปแยกต่างหาก
หากรายงานระบุชื่อแอปพลิเคชันแทนที่จะเป็นส่วนหลัก ให้ตรวจสอบก่อนว่าแอปพลิเคชันนั้นรองรับเวอร์ชัน ownCloud ของคุณหรือไม่ ติดตั้งเวอร์ชันที่เป็นทางการหรือเวอร์ชันที่ผู้ดูแลระบบจัดหาให้ซึ่งตรงกับเซิร์ฟเวอร์และมีลายเซ็นที่ถูกต้อง หากไม่มีเวอร์ชันที่เข้ากันได้ ให้ปิดใช้งานแอปพลิเคชันนั้นและตรวจสอบให้แน่ใจว่าการทำเช่นนั้นจะไม่ขัดจังหวะขั้นตอนการทำงานที่จำเป็น การลบแอปพลิเคชันเป็นทางเลือกที่ถาวรกว่าและควรปฏิบัติตามคำแนะนำในการลบของแอปพลิเคชันนั้นเอง
สำหรับ ownCloud 11 การปิดใช้งานการตรวจสอบความถูกต้องสำหรับแอปใดแอปหนึ่งเป็นการยกเว้นที่ผู้ดูแลระบบควบคุมได้ ซึ่งจะถูกบันทึกไว้และจะทำให้แอปนั้นสูญเสียความสมบูรณ์และการป้องกันการยกเลิกสิทธิ์ ควรใช้เฉพาะหลังจากประเมินแหล่งที่มาและผลกระทบของแอปนั้นแล้ว และบันทึกว่าใครเป็นผู้อนุมัติการยกเว้นและเหตุผล นี่ไม่ใช่วิธีการซ่อมแซมการติดตั้งหลักที่เสียหายหรือถูกดัดแปลง สำหรับเวอร์ชันเก่ากว่า พฤติกรรมการบังคับใช้ที่มีอยู่จะแตกต่างกัน ดังนั้นโปรดตรวจสอบเอกสารประกอบสำหรับเวอร์ชันที่คุณติดตั้ง
ทำการตรวจสอบอีกครั้งและยืนยันผลลัพธ์
หลังจากแก้ไขไฟล์ต้นทางแล้ว ให้ใช้ฟังก์ชันการสแกนซ้ำในหน้าผู้ดูแลระบบหากมีให้ใช้งาน คุณยังสามารถเรียกใช้occการตรวจสอบตามเอกสารได้ สำหรับ Docker Compose คู่มือการลงนามรหัส ownCloud ฉบับปัจจุบันได้ให้ตัวอย่างเหล่านี้:
docker compose exec owncloud occ integrity:check-core
docker compose exec owncloud occ integrity:check-app calendar
แทนที่calendarด้วยรหัสแอปที่ระบุไว้ในรายงานของคุณ สำหรับการติดตั้งที่ไม่ใช่แบบคอนเทนเนอร์ ให้เรียกใช้occไฟล์จากไดเร็กทอรี ownCloud ของคุณในฐานะผู้ใช้เว็บเซิร์ฟเวอร์ เส้นทางและผู้ใช้ที่แน่นอนจะแตกต่างกันไปตามระบบปฏิบัติการและวิธีการติดตั้ง คำสั่งที่ระบุไว้ในเอกสารจะตรวจสอบแอปหลักหรือแอปที่ระบุชื่อ คู่มือฉบับปัจจุบันระบุว่าไม่มีคำสั่งใด ๆ สำหรับการสแกนแอปทุกแอปด้วยตนเอง
การแก้ไขจะได้รับการยืนยันเมื่อรายงานฉบับใหม่ไม่แสดงไฟล์ที่แก้ไขแล้ว และฟังก์ชันที่เกี่ยวข้องทำงานได้ตามปกติ หากเกิดข้อผิดพลาดแฮชเดิมซ้ำอีก ให้ตรวจสอบการปรับใช้แบบอัตโนมัติ แพทช์ในเครื่อง งานซิงโครไนซ์ หรือเหตุการณ์ด้านความปลอดภัยที่เปลี่ยนแปลงไฟล์อีกครั้ง หากรายงานชี้ไปที่ใบรับรองที่ถูกเพิกถอน ลายเซ็นแอปหายไป หรือเวอร์ชันไม่ตรงกันที่คุณไม่สามารถแก้ไขได้จากเวอร์ชันอย่างเป็นทางการ ให้หยุดการสแกนซ้ำและติดต่อผู้ดูแลแอปหรือฝ่ายสนับสนุน ownCloud พร้อมกับรายงานและเวอร์ชันเซิร์ฟเวอร์ที่แน่นอน
คุณควรใช้วิธีใด?
เลือกการแทนที่ไฟล์เป้าหมายเมื่อรายงานระบุไฟล์หลักอย่างเป็นทางการเพียงไฟล์เดียว ทราบเวอร์ชันที่แน่นอน และคุณสามารถหาไฟล์ต้นฉบับที่ตรงกันได้ ทำซ้ำการอัปเกรดแบบสะอาดเมื่อไฟล์หลักจำนวนมากล้มเหลว การอัปเกรดถูกขัดจังหวะ หรือการติดตั้งมีไฟล์จากมากกว่าหนึ่งเวอร์ชัน สำหรับข้อผิดพลาดเฉพาะแอป ให้เลือกการอัปเดตโดยผู้ดูแลระบบหรือปิดใช้งานแอปที่ไม่ได้ใช้งาน วิธีนี้จะแก้ไขส่วนประกอบที่ได้รับผลกระทบโดยไม่ต้องแทนที่ไฟล์หลักที่ไม่เกี่ยวข้อง สงวนข้อยกเว้นการตรวจสอบความถูกต้องสำหรับแอปเฉพาะที่ได้รับการประเมินแล้ว เมื่อไม่มีการทดแทนที่ลงนามแล้ว และความจำเป็นในการดำเนินงานมีน้ำหนักมากกว่าการสูญเสียการป้องกันความสมบูรณ์
สำหรับการอัปเกรดครั้งต่อไป โปรดตรวจสอบบันทึกการเปลี่ยนแปลงและข้อกำหนดก่อน ปิดใช้งานแอปพลิเคชันของบุคคลที่สามที่ไม่เข้ากันตามคำแนะนำของ ownCloud และทำการสำรองข้อมูลใหม่ ขั้นตอนเหล่านี้ต้องใช้เวลาในการวางแผน แต่จะช่วยให้การวินิจฉัยคำเตือนเกี่ยวกับความสมบูรณ์ของข้อมูลหลังการอัปเกรดทำได้ง่ายขึ้น และการกู้คืนข้อมูลปลอดภัยยิ่งขึ้น
เอกสารอ้างอิงอย่างเป็นทางการ