Conseguenze dell'uso di apt-get in Ubuntu Touch


17

Ho appena ricevuto il mio BQ Aquaris E4.5 Ubuntu edition. Ci ho giocato e ho scoperto che è proprio quello che mi aspettavo.

Una delle grandi cose a riguardo è uno stack completo di Ubuntu, inclusa la gestione dei pacchetti. Vorrei iniziare a usare apt-get per installare cose come htop, python2, openvpn, tra gli altri.

Tuttavia, ho raggiunto l' apt-get Unable to write to /var/cache/apt The Package lists or status file could not be parsed or openederrore. Capisco ( Ubuntu Touch usando apt-get ) che ciò è dovuto al fatto che la partizione "/" viene montata come ro, e apt-get ne ha bisogno rwper funzionare.

Qui ( Installa con sudo app-get install non funziona, "Non usare il blocco per file di sola lettura / var / lib / dpkg / lock" ) è come aggirare il problema, con il seguente comando sudo mount -o remount,rw /. <--- Potrebbe essere una cattiva idea. Vedi la risposta di sempreverde per un modo più completo e sicuro per abilitare la rwmodalità.

Quello che vorrei sapere è quali sono le conseguenze del montaggio "/" come rw. Ho letto che, per cominciare, interromperà gli aggiornamenti OTA, con cui sto perfettamente bene finché posso mantenere aggiornato il mio sistema usando apt-get. Tuttavia, ho anche letto ( /ubuntu//a/583439/264601 ) altri tipi di storie dell'orrore.

Quindi le mie 2 domande sono:

  1. Sarò in grado di mantenere aggiornato il mio sistema usando solo apt-get?
  2. Oltre a disabilitare gli aggiornamenti OTA, quali altre conseguenze dovrei aspettarmi ?

Grazie mille per le tue risposte!

Risposte:


4
  1. No (ma ti sembrerà di sì per un po ')

Se abiliti rw on / e inizi a modificarlo, nulla disabilita la consegna degli aggiornamenti OTA. Quindi quando arrivano, ti verranno offerti per l'installazione, come prima.

Tuttavia, il processo OTA fa una cosa molto semplice per il filesystem. Basta decomprimere un ampio set di file in cima al filesystem che hai. Poiché conosce (perché dovrebbe essere ro) il filesystem precedente, questo è semplicemente un insieme di file che sono stati modificati.

Quindi stai giocando d'azzardo. Le modifiche apportate causano effetti collaterali quando ciò accade? In generale si. In generale, avrai modificato alcuni file nel filesystem / e avrai aggiunto software che dipende da quella modifica. Quando viene installato un OTA, tale modifica verrà rimossa e potenzialmente sostituita con una modifica in conflitto. A questo punto, ciò che accade dopo è inconoscibile e certamente non testato.

Quindi, in pratica, alcune installazioni apt-get aggiungeranno in gran parte software in parallelo ai file esistenti, quindi non saranno influenzate da un OTA. Tuttavia, verrà sicuramente influenzato un set di file: la tenuta dei record di apt (gli OTA forniscono i record utilizzati nella costruzione del filesystem ro). Quindi il tuo sistema perderà la conoscenza di cosa c'è e cosa no.

Questo è il pericolo principale con apt-get upgrade. Verrà sempre eseguito con un database errato di ciò che si trova sul dispositivo, quindi non può essere garantito il successo. Man mano che le aggiunte diventano più complesse e mentre il sistema sottostante effettua importanti transizioni (come quando i telefoni si spostano da Utopic a Vivid), apt-get run by hand farà la cosa sbagliata.

Ogni OTA diventa quindi una scommessa, fino a quando non si esegue una cancellazione e una reinstallazione.

  1. Il tuo sistema si romperà lentamente - vedi sopra.

10

Per poter usare "apt-get" in ubuntu-touch, per sicurezza ti suggerisco di usare la funzione "Abilitazione / Disabilitazione della modalità lettura-scrittura".

Una volta abilitata la "modalità lettura-scrittura", questo disabiliterà gli aggiornamenti del sistema Ubuntu.

Inoltre, è possibile ripristinare gli aggiornamenti over-the-air automatici disabilitando la "modalità lettura-scrittura".

"Per impostazione predefinita, il sistema è di sola lettura. È possibile passare alla modalità di lettura / scrittura, sebbene ciò disabiliti gli aggiornamenti del sistema Ubuntu. Lo scopo principale è lo sviluppo diretto del sistema Ubuntu. Questo non è necessario per lo sviluppo di app o l'utilizzo normale del sistema Il ripristino dalla modalità di lettura / scrittura è possibile ma richiede la reinstallazione del sistema da zero Avvertenza: il passaggio da un dispositivo alla modalità di lettura / scrittura (e / o il ripristino da esso) è una funzionalità avanzata e può comportare la perdita completa dei dati. un dispositivo in modalità lettura-scrittura disabilita gli aggiornamenti automatici delta over-the-air. Accettare un aggiornamento completo over-the-air dopo aver reso un dispositivo scrivibile può annullare le modifiche apportate. "

Innanzitutto, abilitare la modalità sviluppatore sul tuo dispositivo Ubuntu. Per fare ciò, vai su Impostazioni → Informazioni su questo dispositivo → Modalità sviluppatore . (Devi applicare "Blocca sicurezza" in alternativa: " Passcode a 4 cifre " o " Passphrase ". Altrimenti, con la funzione " scorri ", non puoi abilitare la "modalità sviluppatore")

Collega il tuo dispositivo a un PC (supponi che sia un ambiente piattaforma Ubuntu).

Per verificare la connessione, utilizzare adb per visualizzare i dispositivi attualmente connessi:

$ dispositivi adb

Lista dei dispositivi collegati

025d138e2f521413 dispositivo

  1. Installa il pacchetto phablet-tools

Assicurati che l' archivio dell'universo sia abilitato , quindi:

$ sudo apt-get install phablet-tools

  1. Abilitazione della modalità di lettura / scrittura:

$ phablet-config writable-image

Il sistema si riavvia in modalità lettura-scrittura.

  1. Disabilitazione della modalità lettura-scrittura: è possibile disabilitare la lettura-scrittura e ripristinare gli aggiornamenti over-the-air automatici:

$ adb shell rm /userdata/.writable_image

Per ripristinare l'area di sistema normalmente protetta da lettura e scrittura su uno stato incontaminato che non include le modifiche apportate durante la modalità di lettura / scrittura installando il sistema Ubuntu:

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

Fonti: https://developer.ubuntu.com/en/start/ubuntu-for-devices/installing-ubuntu-for-devices/#install-options

Consiglia: Fino ad ora, non è una buona idea usare "apt-get" come hanno detto (Mr.Popey):

"Non testiamo scenari apt-get installati sul telefono e se si utilizza apt-get upgrade, è possibile installare pacchetti che non sono stati ancora completamente testati come parte degli aggiornamenti basati su immagini"

Fonte: Come installare un file .deb in Ubuntu-Touch?


3
Questa è una risposta molto completa su come abilitare la rwmodalità. Ma non risponde ancora alle mie domande, temo.
Acrobazie il

@evergreen Come devo eseguire sudo apt-get install phablet-toolsper la prima volta se apt è disabilitato (a causa dell'immagine di sola lettura) sul telefono?
Khurshid Alam,

@KhurshidAlam Questo comando dovrebbe essere digitato su un altro computer, come indicato in "Connetti il ​​tuo dispositivo a un PC (Supponi che sia un ambiente piattaforma Ubuntu).". È solo per assicurarsi di avere tutti gli strumenti necessari in questo ambiente.
Acrobazie il

Se Ubuntu non è installato sul PC, è possibile creare strumenti phablet dalla fonte: bazaar.launchpad.net/~phablet-team/phablet-tools/trunk/files . 1. Installa bzr, usando il tuo gestore pacchetti. Ad esempio, su CentOS sarà yum install bzr2. Clona phablet-tools source: bzr branch lp:phablet-tools3. Vai alla phablet-toolsdirectory: cd phablet-tools4. Installali: sudo python setup.py install spero che aiuti tutti gli utenti CentOS e altri (sistema operativo elementare, Linux Mint, Arch Linux, Tails, Debian, openSUSE, Manjaro, Fedora, Zorin, ecc.)
Maxim Mazurok

0

Il montaggio in lettura e scrittura permanente richiede solo 3 righe. Inizialmente ho provato a seguire queste istruzioni su UBPorts ma senza risultati. Non sono necessari strumenti phablet.

adb shell
sudo touch /userdata/.writable_image
sudo reboot

cambiarlo in r / w solo per la sessione

adb shell
sudo mount -o remount,rw /

Tornare a r / o in modo permanente

adb shell
sudo mount -o remount,rw /

Ubuntu touch non è normalmente destinato a apt-get. Le app desktop dovrebbero generalmente essere utilizzate in un contenitore libertino, anche se non l'ho impostato. A seconda del modello apt-get ostruirà la partizione di root. È anche molto probabile che possa interferire con gli aggiornamenti, installare pacchetti in conflitto o altrimenti rompere il sistema. Ma dov'è il divertimento se non puoi?

Inizialmente ho usato quasi immediatamente lo spazio di root e ho dovuto usare questi comandi per liberare spazio, anche se dovrebbe essere disponibile un link simbolico più appropriato ai dati utente

sudo mount -o rw,remount /                             
sudo rm -r /var/cache/apt
sudo tune2fs -m 0 /dev/loop0
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.