Conséquences de l'utilisation d'apt-get dans Ubuntu Touch

17

Je viens de recevoir mon édition Ubuntu BQ Aquaris E4.5. J'ai joué avec et je trouve que c'est exactement ce à quoi je m'attendais.

L'une des grandes choses à ce sujet est une pile Ubuntu complète, y compris la gestion des packages. Je voudrais commencer à utiliser apt-get pour installer des trucs comme htop, python2, openvpn, entre autres.

Cependant, j'ai atteint l' apt-get Unable to write to /var/cache/apt The Package lists or status file could not be parsed or openederreur. Je comprends ( Ubuntu Touch utilisant apt-get ) que cela est dû au fait que la partition "/" est montée en tant que ro, et apt-get en a besoin rwpour fonctionner.

Ici (l' installation avec sudo app-get install ne fonctionne pas, "Ne pas utiliser le verrouillage pour le fichier en lecture seule / var / lib / dpkg / lock" ) est la façon dont vous pouvez contourner le problème, avec la commande suivante sudo mount -o remount,rw /. <--- Peut-être une mauvaise idée. Voir la réponse d'Evergreen pour un moyen plus complet et plus sûr d'activer le rwmode.

Ce que je voudrais savoir, c'est quelles sont les conséquences du montage "/" as rw. J'ai lu que les démarreurs arrêteront les mises à jour OTA, avec lesquelles je suis parfaitement OK tant que je peux garder mon système à jour en utilisant apt-get. Cependant, j'ai également lu ( /ubuntu//a/583439/264601 ) d'autres types d'histoires d'horreur.

Donc mes 2 questions sont:

  1. Pourrai-je maintenir mon système à jour en utilisant simplement apt-get?
  2. Outre la désactivation des mises à jour OTA, à quelles autres conséquences dois-je m'attendre ?

Merci beaucoup pour vos réponses!

Cascades
la source

Réponses:

4
  1. Non (mais cela me semblera oui pendant un certain temps)

Si vous activez rw on / et commencez à le modifier, rien ne désactive la livraison des mises à jour OTA. Ainsi à leur arrivée, ils vous seront proposés pour l'installation, comme précédemment.

Cependant, le processus OTA fait une chose très simple pour le système de fichiers. Il décompresse simplement un grand ensemble de fichiers au-dessus du système de fichiers que vous avez. Puisqu'il connaît (car il devrait être ro) le système de fichiers précédent, il s'agit simplement d'un ensemble de fichiers qui ont changé.

Vous jouez donc. Les modifications que vous avez apportées provoquent-elles des effets secondaires lorsque cela se produit? En général, oui. En général, vous aurez modifié certains fichiers dans le système de fichiers / et ajouté des logiciels qui dépendent de ce changement. Lorsqu'un OTA est installé, cette modification sera supprimée et potentiellement remplacée par une modification conflictuelle. À ce stade, ce qui se passe ensuite est inconnaissable et certainement non testé.

Ainsi, dans la pratique, certaines installations apt-get ajouteront en grande partie des logiciels en parallèle aux fichiers existants, donc ne seront pas très impactées par un OTA. Cependant, un ensemble de fichiers sera certainement affecté - la tenue des registres d'apt (les OTA fournissent les enregistrements utilisés dans la construction du système de fichiers ro). Votre système perdra donc la connaissance de ce qui existe et de ce qui ne l’est pas.

C'est le principal danger avec la mise à niveau apt-get. Il sera toujours effectué avec une base de données incorrecte de ce qui se trouve sur l'appareil, il ne peut donc pas être garanti de réussir. Au fur et à mesure que vos ajouts deviennent plus complexes et que le système sous-jacent effectue des transitions majeures (comme lorsque les téléphones sont passés d'Utopic à Vivid), apt-get géré à la main ne fera pas la bonne chose.

Chaque OTA devient alors un pari, jusqu'à ce que vous effectuiez une réinitialisation et une réinstallation.

  1. Votre système se cassera lentement - voir ci-dessus.
John McAleely
la source
10

Pour pouvoir utiliser "apt-get" dans ubuntu-touch, pour des raisons de sécurité, je vous suggère d'utiliser la fonction "Activation / désactivation du mode lecture-écriture".

Une fois activé le "mode lecture-écriture", cela désactivera les mises à niveau du système Ubuntu.

Cependant, vous pouvez restaurer les mises à jour automatiques en direct en désactivant le "mode lecture-écriture".

"Par défaut, le système est en lecture seule. Vous pouvez passer en mode lecture-écriture, bien que cela désactive les mises à niveau du système Ubuntu. Le but principal est de développer directement le système Ubuntu. Ce n'est pas nécessaire pour développer des applications ou utiliser le système normalement . La récupération à partir du mode lecture-écriture est possible mais nécessite de réinstaller le système à partir de zéro. Avertissement: le basculement d'un périphérique en mode lecture-écriture (et / ou la récupération à partir de celui-ci) est une fonctionnalité avancée et peut entraîner une perte complète des données. Avertissement: Commutation un appareil en mode lecture-écriture désactive les mises à jour automatiques delta en direct. Accepter une mise à jour complète en direct après avoir rendu un appareil accessible en écriture peut annuler les modifications que vous avez apportées. "

Tout d'abord, activer le mode développeur sur votre appareil Ubuntu. Pour ce faire, accédez à Paramètres → À propos de cet appareil → Mode développeur . (Vous devez appliquer la "sécurité de verrouillage" par des alternatives: " code d'accès à 4 chiffres " ou " phrase de passe ". Sinon, avec la fonction " glisser ", vous ne pouvez pas activer le "mode développeur")

Connectez votre appareil à un PC (supposons que c'est un environnement de plate-forme Ubuntu).

Pour vérifier la connexion, utilisez adb pour afficher les appareils actuellement connectés:

$ appareils adb

Liste des périphériques connectés

Appareil 025d138e2f521413

  1. Installer le package phablet-tools

Assurez-vous que l' archive de l' univers est activée , puis:

$ sudo apt-get install phablet-tools

  1. Activation du mode lecture-écriture:

$ phablet-config writable-image

Le système redémarre en mode lecture-écriture.

  1. Désactivation du mode lecture-écriture: vous pouvez désactiver la lecture-écriture et restaurer les mises à jour automatiques en direct:

$ adb shell rm /userdata/.writable_image

Pour restaurer la zone système normalement protégée en lecture-écriture dans un état vierge qui n'inclut pas les modifications que vous avez apportées en mode lecture-écriture en installant le système Ubuntu:

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

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

Conseils: Jusqu'à présent, ce n'est pas une bonne idée d'utiliser "apt-get" comme ils l'ont dit (Mr.Popey):

"Nous ne testons pas les scénarios installés apt-get sur le téléphone et si vous utilisez la mise à niveau apt-get, vous pouvez installer des packages qui n'ont pas encore été entièrement testés dans le cadre des mises à jour basées sur l'image"

Source: Comment installer un fichier .deb dans Ubuntu-Touch?

à feuilles persistantes
la source
3
Ceci est une réponse très complète pour savoir comment activer le rwmode. Mais cela ne répond toujours pas à mes questions, je le crains.
Stunts
@evergreen Comment dois-je exécuter sudo apt-get install phablet-toolspour la première fois si apt est désactivé (à cause d'une image en lecture seule) sur le téléphone?
Khurshid Alam,
@KhurshidAlam Cette commande est censée être tapée sur une autre machine - comme indiqué dans "Connectez votre appareil à un PC (supposons que c'est un environnement de plate-forme Ubuntu).". C'est juste pour s'assurer que vous avez tous les outils nécessaires dans cet environnement.
Stunts
Si Ubuntu n'est pas installé sur votre PC, vous pouvez créer des outils phablet à partir de la source: bazaar.launchpad.net/~phablet-team/phablet-tools/trunk/files . 1. Installez bzr, en utilisant votre gestionnaire de paquets. Par exemple, sur CentOS, ce sera yum install bzr2. Clone phablet-tools source: bzr branch lp:phablet-tools3. Allez dans le phablet-toolsrépertoire: cd phablet-tools4. Installez-les: sudo python setup.py install j'espère que cela aide tous les utilisateurs de CentOS et autres (OS élémentaire, Linux Mint, Arch Linux, Tails, Debian, openSUSE, Manjaro, Fedora, Zorin, etc.)
Maxim Mazurok
0

Le montage en lecture et écriture en permanence ne nécessite que 3 lignes. J'ai essayé à l'origine de suivre ces instructions sur UBPorts mais en vain. Aucun outil phablet nécessaire.

adb shell
sudo touch /userdata/.writable_image
sudo reboot

le changer en r / w juste pour la session

adb shell
sudo mount -o remount,rw /

Revenir à r / o en permanence

adb shell
sudo mount -o remount,rw /

Ubuntu touch n'est normalement pas destiné à apt-get. Les applications de bureau sont généralement censées être utilisées dans un conteneur libertin, même si je ne l'ai pas configuré. Selon le modèle, apt-get obstruera la partition racine. Il est également très possible qu'il puisse interférer avec les mises à jour, installer un package en conflit ou autrement casser votre système. Mais où est le plaisir si vous ne pouvez pas?

À l'origine, j'ai utilisé l'espace racine presque immédiatement et j'ai dû utiliser ces commandes pour libérer de l'espace, bien qu'il devrait y avoir un lien symbolique plus approprié vers les données utilisateur disponible

sudo mount -o rw,remount /                             
sudo rm -r /var/cache/apt
sudo tune2fs -m 0 /dev/loop0
errorcodevortex
la source