web-dev-qa-db-ja.com

Ubuntuタッチでapt-getを使用した場合の結果

BQ Aquaris E4.5 Ubuntuエディションを受け取りました。私はそれをいじってみましたが、それがまさに私が期待していたものであることがわかりました。

それの素晴らしい点の1つは、パッケージ管理を含む完全な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エラーに到達しました。 ( apt-getを使用したUbuntu Touch )これは、「/」パーティションがroとしてマウントされるためであり、apt-getはrwである必要があることを理解しています働くために。

ここ( Sudo app-get installを使用したインストールが機能しない、「読み取り専用ファイル/ var/lib/dpkg/lockにロックを使用しない」 )は、問題を回避する方法です。次のコマンドSudo mount -o remount,rw /。 <---悪い考えかもしれません。 rwモードを有効にするより完全で安全な方法については、evergreenの回答を参照してください。

私が知りたいのは、 "/"をrwとしてマウントした場合の結果です。 apt-getを使用してシステムを最新の状態に保つことができれば、最初にOTAの更新を停止できることを読みました。ただし、他の種類のホラーストーリーも読んでいます( https://askubuntu.com/a/583439/264601 )。

私の2つの質問は次のとおりです。

  1. Apt-getだけを使用して、システムを最新の状態に保つことができますか?
  2. OTA更新を無効にする以外に、他にどのような結果がありますかexpect

ご回答ありがとうございました!

17
Stunts
  1. いいえ(ただし、しばらくはイエスのように感じます)

/でrwを有効にして変更を開始した場合、OTA更新の配信は無効になりません。したがって、それらが到着すると、以前と同様にインストール用に提供されます。

ただし、OTAプロセスはファイルシステムに対して非常に単純なことを行います。それはあなたが持っているファイルシステムの上にある大きなファイルのセットを展開するだけです。 (roである必要があるため)前のファイルシステムを知っているため、これは単に変更されたファイルのセットです。

あなたはギャンブルをしています。あなたが行った変更は、これが起こったときに副作用を引き起こしますか?一般に、はい。一般的に、/ファイルシステムのいくつかのファイルを変更し、その変更に依存するソフトウェアを追加します。 OTAをインストールすると、その変更は削除され、競合する変更に置き換えられる可能性があります。この時点で、次に何が起こるかは不明であり、確かにテストされていません。

そのため、実際には、一部のapt-getインストールでは、既存のファイルと並行してソフトウェアが大幅に追加されるため、OTAの影響をあまり受けません。ただし、1つのファイルセットが確実に影響を受けます-apt自身の記録保持(OTAはroファイルシステムの構築に使用される記録を提供します)。したがって、システムはそこにあるものとないものの知識を失います。

これは、apt-getアップグレードの主要な危険です。それは常にデバイス上にあるものの誤ったデータベースで実行されるため、成功することを保証できません。追加がより複雑になり、基になるシステムが主要な移行を行うと(電話がUtopicからVividに移動したときなど)、手で実行するapt-getは間違った動作をします。

その後、ワイプと再インストールを実行するまで、すべてのOTAはギャンブルになります。

  1. システムはゆっくりと壊れます-上記を参照してください。
4
John McAleely

Ubuntu-touchで「apt-get」を使用できるようにするには、安全のために「読み取り/書き込みモードの有効化/無効化」機能を使用することをお勧めします。

「読み取り/書き込みモード」を有効にすると、Ubuntuシステムのアップグレードが無効になります。

ただし、「読み取り/書き込みモード」を無効にすることで、無線による自動更新を復元できます。

"デフォルトではシステムは読み取り専用です。読み取り/書き込みモードに切り替えることができますが、これはUbuntuシステムのアップグレードを無効にします。これの主な目的はUbuntuシステムを直接開発することです。読み取り/書き込みモードからの回復は可能ですが、システムを最初から再インストールする必要があります警告:デバイスを読み取り/書き込みモードに切り替える(および/またはそこから回復する)は高度な機能であり、完全なデータ損失につながる可能性があります警告:デバイスを読み取り/書き込みモードに切り替えると、無線による自動デルタ更新が無効になります。デバイスを書き込み可能にした後、無線による完全な更新を受け入れると、行った変更が取り消される場合があります。 "

まず、Ubuntuデバイスで開発者モードを有効にします。これを行うには、設定→このデバイスについて→開発者モードに移動します。 (「4桁のパスコード」または「Passphrase」。それ以外の場合、「swipe」機能では、「開発者モード」を有効にできません)

デバイスをPCに接続します(Ubuntuプラットフォーム環境であると仮定します)。

接続を確認するには、adbを使用して現在接続されているデバイスを表示します。

$ adbデバイス

接続されたデバイスのリスト

025d138e2f521413デバイス

  1. Phablet-toolsパッケージをインストールする

universeアーカイブが有効になっていることを確認してください 、次に:

$ sudo apt-get install phablet-tools

  1. 読み書きモードを有効にする:

$ phablet-config writable-image

システムは読み取り/書き込みモードで再起動します。

  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

アドバイス:今まで、彼ら(Mr.Popey)が言ったように、「apt-get」を使用するのは良い考えではありません。

「電話でapt-getインストールシナリオをテストしません。apt-getupgradeを使用する場合、イメージベースの更新の一部としてまだ完全にテストされていないパッケージをインストールできます」

ソース: buntu-Touchで.debファイルをインストールする方法

10
evergreen