ผลที่ตามมาจากการใช้ apt-get ใน ubuntu touch


17

ฉันเพิ่งได้รับรุ่น BQ Aquaris E4.5 Ubuntu ของฉัน ฉันได้เล่นกับมันและพบว่ามันเป็นเพียงสิ่งที่ฉันคาดหวังว่ามันจะเป็น

หนึ่งในสิ่งที่ยอดเยี่ยมเกี่ยวกับมันคือสแต็ค Ubuntu เต็มรูปแบบรวมถึงการจัดการแพ็คเกจ ฉันต้องการเริ่มใช้ apt-get เพื่อติดตั้งสิ่งต่าง ๆ เช่น htop, python2, openvpn และอื่น ๆ

อย่างไรก็ตามฉันพบapt-get Unable to write to /var/cache/apt The Package lists or status file could not be parsed or openedข้อผิดพลาด ฉันเข้าใจ ( Ubuntu Touch โดยใช้ apt-get ) ว่านี่เป็นเพราะพาร์ติชั่น "/" ถูกเมานroต์และ apt-get ต้องการให้มันrwทำงานได้

ที่นี่ ( ติดตั้งกับ sudo แอปได้รับการติดตั้งไม่ได้ทำงาน "ไม่ได้ใช้ล็อคสำหรับอ่านไฟล์เท่านั้น / var / lib / dpkg / ล็อค" ) sudo mount -o remount,rw /เป็นวิธีที่คุณสามารถหลีกเลี่ยงปัญหาที่มีคำสั่งดังต่อไปนี้ <--- อาจเป็นความคิดที่ไม่ดี ดูคำตอบของเอเวอร์กรีนสำหรับวิธีการเปิดใช้งานrwโหมดที่สมบูรณ์และปลอดภัยยิ่งขึ้น

สิ่งที่ผมอยากจะรู้ว่าเป็นสิ่งที่เป็นผลของการติดตั้ง "/" rwเป็น ฉันได้อ่านแล้วว่าการเริ่มต้นจะหยุดการอัปเดต OTA ซึ่งฉันตกลงได้อย่างสมบูรณ์แบบตราบใดที่ฉันสามารถทำให้ระบบของฉันทันสมัยโดยใช้ apt-get อย่างไรก็ตามฉันยังอ่าน ( /ubuntu//a/583439/264601 ) เรื่องราวสยองขวัญประเภทอื่น

ดังนั้นคำถาม 2 ข้อของฉันคือ:

  1. ฉันจะสามารถทำให้ระบบของฉันทันสมัยโดยใช้เพียงฉลาด - รับ?
  2. นอกเหนือจากการปิดใช้งานการอัปเดต OTA ฉันควรคาดหวังผลอะไรอีกบ้าง

ขอบคุณมากสำหรับคำตอบของคุณ!

คำตอบ:


4
  1. ไม่ (แต่มันจะรู้สึกว่าใช่ชั่วขณะหนึ่ง)

หากคุณเปิดใช้งาน rw เปิด / และเริ่มแก้ไขมันไม่มีอะไรปิดการใช้งานการส่งมอบการปรับปรุง OTA ดังนั้นเมื่อพวกเขามาถึงพวกเขาจะได้รับการเสนอให้คุณติดตั้งเหมือนเมื่อก่อน

อย่างไรก็ตามกระบวนการ OTA ทำสิ่งที่ง่ายมากกับระบบไฟล์ มันจะแยกไฟล์ชุดใหญ่ออกจากระบบไฟล์ที่คุณมี เนื่องจากรู้ (เพราะควรเป็น ro) ระบบไฟล์ก่อนหน้านี่เป็นเพียงชุดของไฟล์ที่มีการเปลี่ยนแปลง

ดังนั้นคุณกำลังเล่นการพนัน การเปลี่ยนแปลงที่คุณทำไว้ทำให้เกิดผลข้างเคียงเมื่อเกิดเหตุการณ์นี้ขึ้นหรือไม่? โดยทั่วไปแล้วใช่ โดยทั่วไปคุณจะต้องแก้ไขไฟล์บางไฟล์ในระบบไฟล์ / และเพิ่มซอฟต์แวร์ที่ขึ้นอยู่กับการเปลี่ยนแปลงนั้น เมื่อติดตั้ง OTA การเปลี่ยนแปลงนั้นจะถูกลบและอาจถูกแทนที่ด้วยการเปลี่ยนแปลงที่ขัดแย้งกัน เมื่อมาถึงจุดนี้สิ่งที่เกิดขึ้นต่อไปคือไม่รู้และไม่ได้ทดสอบอย่างแน่นอน

ดังนั้นในทางปฏิบัติการติดตั้ง apt-get ส่วนใหญ่จะเพิ่มซอฟต์แวร์ควบคู่ไปกับไฟล์ที่มีอยู่ดังนั้น OTA จะไม่ได้รับผลกระทบมากนัก อย่างไรก็ตามชุดไฟล์หนึ่งชุดจะได้รับผลกระทบอย่างแน่นอน - การเก็บบันทึกของ apt (OTA ส่งมอบบันทึกที่ใช้ในการสร้างระบบไฟล์ ro) ดังนั้นระบบของคุณจะสูญเสียความรู้ในสิ่งที่มีและสิ่งที่ไม่

นี่คืออันตรายหลักที่มีการอัพเกรด apt-get มันจะถูกดำเนินการกับฐานข้อมูลที่ไม่ถูกต้องของสิ่งที่อยู่บนอุปกรณ์ดังนั้นจึงไม่สามารถรับประกันได้ว่าจะประสบความสำเร็จ เมื่อการเพิ่มเติมของคุณมีความซับซ้อนมากขึ้นและเนื่องจากระบบพื้นฐานทำให้การเปลี่ยนแปลงครั้งใหญ่ (เช่นเมื่อโทรศัพท์ย้ายจาก Utopic ไปเป็น Vivid) การเรียกใช้ apt-get ด้วยมือจะทำสิ่งผิด

OTA ทุกครั้งจะกลายเป็นเดิมพันจนกว่าคุณจะทำการลบและติดตั้งใหม่

  1. ระบบของคุณจะเสียอย่างช้าๆ - ดูด้านบน

10

เพื่อให้สามารถใช้ "apt-get" ใน ubuntu-touch เพื่อความปลอดภัยฉันขอแนะนำให้คุณใช้ฟังก์ชั่น "การเปิด / ปิดการใช้งานโหมดอ่าน - เขียน"

เมื่อเปิดใช้งาน "โหมดอ่าน - เขียน" สิ่งนี้จะปิดใช้งานการอัพเกรดระบบ Ubuntu

Howerver คุณสามารถคืนค่าการอัปเดตอัตโนมัติแบบ over-the-air ได้โดยการปิดการใช้งาน "โหมดอ่าน - เขียน"

"โดยค่าเริ่มต้นระบบจะเป็นแบบอ่านอย่างเดียวคุณสามารถสลับไปที่โหมดอ่าน - เขียนได้แม้ว่านี่จะเป็นการปิดการอัพเกรดระบบ Ubuntu จุดประสงค์หลักสำหรับการพัฒนาระบบ Ubuntu นั้นไม่จำเป็นสำหรับการพัฒนาแอพพลิเคชั่น การกู้คืนจากโหมดอ่านเขียนเป็นไปได้ แต่ต้องติดตั้งระบบใหม่ตั้งแต่เริ่มต้นคำเตือน: การสลับอุปกรณ์เป็นโหมดอ่านเขียน (และ / หรือกู้คืนจากอุปกรณ์) เป็นคุณสมบัติขั้นสูงและอาจทำให้ข้อมูลสูญหายทั้งหมดคำเตือน: การสลับ อุปกรณ์ในโหมดอ่าน - เขียนจะปิดใช้งานการอัปเดตอัตโนมัติแบบ over-the-air การยอมรับการอัพเดตแบบ over-the-air เต็มรูปแบบหลังจากทำการเขียนอุปกรณ์ได้อาจยกเลิกการเปลี่ยนแปลงที่คุณทำ "

ก่อนอื่นให้เปิดใช้งานโหมดผู้พัฒนาบนอุปกรณ์ Ubuntu ของคุณ การทำเช่นนี้ให้ไปที่การตั้งค่า→เกี่ยวกับอุปกรณ์นี้→โหมดผู้พัฒนา (คุณต้องใช้ "ล็อคการรักษาความปลอดภัย" โดยทางเลือก: " รหัสผ่าน 4 หลัก " หรือ " รหัสผ่าน " มิฉะนั้นด้วยฟังก์ชั่น " ปัด " คุณไม่สามารถเปิดใช้งาน "โหมดนักพัฒนาซอฟต์แวร์")

เชื่อมต่ออุปกรณ์ของคุณกับพีซี (สมมติว่าเป็นสภาพแวดล้อมแพลตฟอร์มของ Ubuntu)

ในการตรวจสอบการเชื่อมต่อให้ใช้ adb เพื่อแสดงอุปกรณ์ที่เชื่อมต่อในปัจจุบัน:

อุปกรณ์ $ adb

รายการของอุปกรณ์ที่แนบมา

อุปกรณ์ 025d138e2f521413

  1. ติดตั้งแพคเกจเครื่องมือ phablet

ตรวจสอบให้แน่ใจว่าเปิดใช้งานที่เก็บถาวรของจักรวาลแล้ว:

$ sudo apt-get install phablet-tools

  1. การเปิดใช้งานโหมดอ่าน - เขียน:

$ phablet-config ภาพเขียนได้

ระบบรีบูตในโหมดอ่าน - เขียน

  1. การปิดใช้งานโหมดอ่าน - เขียน: คุณสามารถปิดใช้งานอ่าน - เขียนและกู้คืนการอัพเดตอัตโนมัติแบบ over-the-air:

$ adb shell rm /userdata/.writable_image

ในการกู้คืนพื้นที่ระบบที่ได้รับการป้องกันการอ่าน - เขียนตามปกติกลับสู่สถานะดั้งเดิมที่ไม่มีการเปลี่ยนแปลงใด ๆ ที่คุณทำขณะอยู่ในโหมดอ่าน - เขียนโดยการติดตั้งระบบ Ubuntu:

$ ubuntu-device-flash touch --channel = CHANNEL

แหล่งที่มา: https://developer.ubuntu.com/en/start/ubuntu-for-devices/installing-ubuntu-for-devices/#install-options

คำแนะนำ: ถึงตอนนี้มันไม่ควรใช้ "apt-get" ตามที่พวกเขา (Mr.Popey) กล่าวว่า:

"เราไม่ได้ทดสอบสถานการณ์ที่ติดตั้ง apt-get บนโทรศัพท์และถ้าคุณใช้การอัพเกรด apt-get คุณอาจติดตั้งแพ็คเกจที่ยังไม่ได้ทดสอบอย่างสมบูรณ์ว่าเป็นส่วนหนึ่งของการอัปเดตตามรูปภาพ"

แหล่งที่มา: วิธีการติดตั้งไฟล์. deb ใน Ubuntu-Touch


3
นี่เป็นคำตอบที่สมบูรณ์มากสำหรับวิธีเปิดใช้งานrwโหมด แต่มันก็ยังไม่ตอบคำถามของฉันฉันกลัว
ต้องเลิก

@evergreen ฉันจะเรียกใช้sudo apt-get install phablet-toolsเป็นครั้งแรกได้อย่างไรหากปิดการใช้งาน apt (เพราะภาพอ่านอย่างเดียว) บนโทรศัพท์
Khurshid Alam

@KhurshidAlam คำสั่งนั้นควรจะพิมพ์บนเครื่องอื่น - ตามที่ระบุไว้ใน "เชื่อมต่ออุปกรณ์ของคุณเข้ากับพีซี (สมมติว่าเป็นสภาพแวดล้อมแพลตฟอร์ม Ubuntu)" เพียงเพื่อให้แน่ใจว่าคุณมีเครื่องมือที่จำเป็นทั้งหมดในสภาพแวดล้อมนี้
ต้องเลิก

หากคุณไม่ได้มี Ubuntu ติดตั้งบนเครื่องคอมพิวเตอร์ของคุณคุณสามารถสร้าง phablet เครื่องมือจากแหล่ง: bazaar.launchpad.net/~phablet-team/phablet-tools/trunk/files 1. ติดตั้งbzrโดยใช้ตัวจัดการแพ็คเกจของคุณ ตัวอย่างเช่นบน CentOS จะเป็นyum install bzr2 แหล่ง Clone phablet-tools: bzr branch lp:phablet-tools3. ไปที่phablet-toolsไดเรกทอรี: cd phablet-tools4. ติดตั้งพวกเขา: sudo python setup.py install หวังว่าจะช่วยผู้ใช้ CentOS ทุกคนและผู้อื่น (Elementary OS, Linux Mint, Arch Linux, Tails, Debian, openSUSE, Manjaro, Fedora, Zorin และอื่น ๆ )
Maxim Mazurok

0

การเมานต์อ่านและเขียนอย่างถาวรต้องใช้เพียง 3 บรรทัด เดิมฉันพยายามทำตามคำแนะนำเหล่านี้ใน UBPortsแต่ไม่มีประโยชน์ ไม่มีเครื่องมือ phablet ที่จำเป็น

adb shell
sudo touch /userdata/.writable_image
sudo reboot

เปลี่ยนเป็น r / w สำหรับเซสชั่นเท่านั้น

adb shell
sudo mount -o remount,rw /

เปลี่ยนกลับเป็น r / o อย่างสม่ำเสมอ

adb shell
sudo mount -o remount,rw /

โดยปกติแล้วอูบุนตูทัชนั้นไม่ได้มีจุดประสงค์เพื่อให้ได้รับ โดยทั่วไปแล้วแอปเดสก์ท็อปควรจะใช้ในคอนเทนเนอร์แบบ libertine แม้ว่าฉันจะไม่ได้ตั้งค่าก็ตาม ขึ้นอยู่กับรุ่น apt-get จะทำการอุดตันรูตพาร์ติชัน นอกจากนี้ยังเป็นไปได้อย่างมากว่ามันอาจรบกวนการอัพเดทติดตั้งแพ็คเกจที่ขัดแย้งหรือทำลายระบบของคุณ แต่ความสนุกถ้าคุณทำไม่ได้

เดิมทีฉันใช้พื้นที่รูทเกือบจะในทันทีและต้องใช้คำสั่งเหล่านี้เพื่อเพิ่มพื้นที่ว่างแม้ว่าควรจะมี symlink ที่เหมาะสมกว่าสำหรับ userdata ที่มีอยู่

sudo mount -o rw,remount /                             
sudo rm -r /var/cache/apt
sudo tune2fs -m 0 /dev/loop0
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.