Наслідки використання 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 app-get install не працює, "Не використовувати блокування лише для файлу / var / lib / dpkg / lock" ) можна вирішити проблему, виконавши наступну команду sudo mount -o remount,rw /. <--- Може бути поганою ідеєю. Дивіться відповідь вічнозеленого дерева для більш повного та безпечного способу включення rwрежиму.

Що я хотів би знати, це які наслідки встановлення "/" як rw. Я читав, що це для початківців зупинить оновлення OTA, з якими я цілком гаразд, доки я можу постійно оновлювати систему за допомогою apt-get. Однак я також читав ( /ubuntu//a/583439/264601 ) інші види страшилок.

Тож мої 2 запитання:

  1. Чи зможу я оновлювати свою систему, використовуючи лише apt-get?
  2. Яких ще наслідків, крім відключення оновлень OTA, слід очікувати ?

Дуже дякую за відповіді!

Відповіді:


4
  1. Ні (але на деякий час буде відчуватися так)

Якщо ви ввімкнете rw on / або почнете його змінювати, нічого не вимикає доставку оновлень OTA. Тож коли вони прибудуть, вони вам запропонують встановити, як і раніше.

Однак процес OTA робить дуже просту річ для файлової системи. Це просто знімає великий набір файлів поверх вашої файлової системи. Оскільки він знає (оскільки це має бути ro) попередню файлову систему, це просто набір файлів, які змінилися.

Отже, ви граєте в азартні ігри. Чи викликані вами зміни викликають побічні ефекти, коли це відбувається? Загалом, так. Загалом, ви змінили якийсь файл у / файловій системі та додали програмне забезпечення, яке залежить від цієї зміни. Коли встановлено OTA, ця зміна буде видалена та потенційно замінена конфліктною зміною. На даний момент те, що буде далі, невідоме і, безумовно, неперевірене.

Тож на практиці деякі встановлення apt-get значною мірою додаватимуть програмне забезпечення паралельно до існуючих файлів, тому OTA не матиме великого впливу. Однак, напевно, це вплине на один набір файлів - власне зберігання записів (OTA доставляє записи, що використовуються при побудові файлової системи ro). Так ваша система втратить знання про те, що є, а що ні.

У цьому полягає основна небезпека оновлення apt-get. Він завжди буде виконуватися з неправильною базою даних того, що є на пристрої, тому не можна гарантувати успіх. Оскільки ваші доповнення стають складнішими, і коли основна система здійснює значні переходи (наприклад, коли телефони перейшли з Utopic до Vivid), apt-get run від руки зробить неправильну справу.

Кожен OTA потім стає азартною групою, поки ви не виконаєте стерти та перевстановлюєте.

  1. Ваша система стане повільно порушена - див. Вище.

10

Щоб мати можливість використовувати "apt-get" в ubuntu-touch, для безпеки я пропоную вам скористатися функцією "Увімкнення / відключення режиму читання-запису".

Після ввімкнення режиму читання-запису це відключить оновлення системи Ubuntu.

Якщо навести курсор, ви можете відновити автоматичні оновлення в ефірі, відключивши "режим читання-запису".

"Система за замовчуванням доступна лише для читання. Ви можете перейти в режим читання-запису, хоча це відключає оновлення системи Ubuntu. Основна мета цього - це розвиток системи Ubuntu безпосередньо. Це не потрібно для розробки програм або використання системи зазвичай . Можливе відновлення з режиму читання-запису, але вимагає перевстановлення системи з нуля Попередження: Перехід пристрою в режим читання-запису (та / або відновлення з нього) є вдосконаленою функцією і може призвести до повної втрати даних Попередження: Перемикання пристрій для режиму читання-запису відключає автоматичне оновлення дельти по повітрю. Прийняття повного оновлення по повітрю після створення пристрою для запису може скасувати внесені вами зміни. "

По-перше, увімкнення режиму розробника на пристрої Ubuntu. Для цього перейдіть у Налаштування → Про цей пристрій → Режим розробника . (Ви повинні застосувати "Захист блокування" за допомогою альтернативних варіантів: " 4-значний пароль " або " Прохідна фраза ". В іншому випадку за допомогою функції " проведіть пальцем " ви не можете ввімкнути "режим розробника")

Підключіть свій пристрій до ПК (припустимо, що це середовище платформи Ubuntu).

Щоб підтвердити з'єднання, використовуйте adb для відображення підключених пристроїв:

$ adb пристроїв

Список доданих пристроїв

025d138e2f521413 пристрій

  1. Встановити пакет інструментів phablet-інструментів

Переконайтесь, що Вселенський архів увімкнено , а потім:

$ sudo apt - отримати інсталяцію phablet-інструментів

  1. Увімкнення режиму читання-запису:

$ phablet-config для запису-зображення

Система перезавантажується в режимі читання-запису.

  1. Вимкнення режиму читання-запису: Ви можете вимкнути читання-запис та відновити автоматичні оновлення:

$ 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-install на телефоні, і якщо ви використовуєте оновлення apt-get, ви можете встановити пакети, які ще не повністю перевірені як частина оновлень на основі зображень".

Джерело: Як встановити .deb файл в Ubuntu-Touch?


3
Це дуже повна відповідь про те, як увімкнути rwрежим. Але я все ще не відповідає на мої запитання.
Трюки

@evergreen Як мені sudo apt-get install phablet-toolsвперше запуститись, якщо apt відключений (через зображення лише для читання) на телефоні?
Хуршид Алам

@KhurshidAlam Ця команда повинна бути введена на іншій машині - як зазначено в "Підключіть свій пристрій до ПК (Припустимо, що це середовище платформи Ubuntu)." Це просто переконатися, що у вас є всі необхідні інструменти в цьому середовищі.
Трюки

Якщо у вас на комп'ютері не встановлено Ubuntu, ви можете створити phablet-інструменти з джерела: bazaar.launchpad.net/~phablet-team/phablet-tools/trunk/files . 1. Встановіть bzr, використовуючи менеджер пакунків. Наприклад, на CentOS це буде yum install bzr2. Clone phablet-tools source: 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, Манджаро, Федора, Зорін та ін.)
Максим Мазурок

0

Для постійного монтажу читання та запису потрібно лише 3 рядки. Спочатку я намагався слідувати цим інструкціям на UBPorts, але безрезультатно. Не потрібно ніяких інструментів фаблетів.

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 /

Ubuntu touch зазвичай не призначений для apt-get. Як правило, настільні програми, як правило, використовуються в контейнері, але я його не налаштовував. Залежно від моделі apt-get буде засмічувати кореневий розділ. Також дуже можливо, що це може заважати оновленням, встановити конфліктний пакет або іншим чином зламати вашу систему. Але де весело, якщо ви не можете?

Я спочатку використовував кореневий простір майже одразу і повинен був використовувати ці команди, щоб звільнити простір, хоча має бути більш правильне символьне посилання на дані користувача

sudo mount -o rw,remount /                             
sudo rm -r /var/cache/apt
sudo tune2fs -m 0 /dev/loop0
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.