― MozillaZine.jp フォーラムは Mozilla 製品に関する情報交換の場です ―



All times are UTC + 9 hours

新しいトピックを投稿する トピックへ返信する  [ 3 件の記事 ] 
作成者 メッセージ
投稿記事Posted: 2019年6月28日(金) 17:33 
以下に書く内容は、Firefox 67 がナイトリー版(67.0a1)だったころから実装されている機能にもとづくものですが、一般ユーザーのところで問題が起こるとしたら、次期 68.0 が公式リリースされた後のタイミングが最初の山かと推測されますから、そのことを書いておこうと思います。杞憂ならそれに越したことはありません。
これは、Firefox 67 だけで起こることではなく、67 以降のバージョンでも同様のことが起こりえます。

(前提)
Firefox 67.0, See All New Features, Updates and Fixes さんが書きました:
Users will be able to run different Firefox installs side by side by default so that you can run the beta and release versions simultaneously
MozillaZine.jp >> Blog Archive >> Firefox 67 がリリースされた さんが書きました:
他にインストールされた Firefox の起動を 既定で個別に行えるようになった。これにより、ベータ版とリリース版の Firefox を同時に起動 できるようになった

これまでも、複数の異なるバージョンの Firefox を、異なる複数のプロファイルで使用することはできましたが、ユーザーがそれなりの対処をする必要がありました。

ざっくり言って、Firefox 67.0 以降では、リリースチャンネル/バージョンごとに使用するプロファイルを Firefox が自動的に判断・処理するようになっています。
この変更に関連して、次のようなことが起こるケースがあります。

(起こりうる問題)
Firefox 67.0 からプロファイルの取り扱いが変わっているわけですが、普通に使っている分にはまず気づきませんし、それで問題は起こりません。
Firefox 68.0 が正式リリースされたあと、Firefox 67.0 で使っていたプロファイルを、そのままアップグレードした 68.0 で使う分には、この仕様が問題になることはないからです(バグが介在しない限り...)。

問題は、一度 68.0 にアップグレードしたが、何かしらの事情があって 67.0 にダウングレードして、同じプロファイルを使ったときに起こります。
いったん上位バージョンで使用したプロファイルを使って、下位バージョンの Firefox を起動しようとすると、次のようなダイアログが開くことがあります。

 ┌─ 古いバージョンの Firefox を起動しています ───────────
 │
 │ 古いバージョンの Firefox を使用すると既存のプロファイルに
 │ 保存されたブックマークやブラウジング履歴が壊れる可能性があります。
 │ これらの情報を保護するため、この Firefox 用に新しいプロファイルを
 │ 作成してください。
 │
 │               [終了] [新しいプロファイルを作成]
 └───────────────────────────────────

これは、読み込もうとしたプロファイルがすでに新しいバージョンで使用され、その仕様に合うよう変更されていて、古いバージョンの Firefox で同じプロファイルを使うと問題が発生するリスクが高まるため、リリースチャンネルとバージョンに応じたプロファイルを使うように、という警告です。

現時点で現役バージョンの Firefox 67.0 から、旧バージョンの 66.0 にダウングレードして、同じプロファイルを再利用しても、この警告は出ません。
66.0 では、Firefox が起動時に使うプロファイルのバージョン進度をチェックする機能が未搭載なので、機械的にそのプロファイルを読み込みます。
しかし、67.0 以降では、読み込もうとしているプロファイルがより新しいバージョンで使われていることを検知した場合、そのプロファイルで起動せず、上記のような警告ダイアログを出します。

新しいバージョンでは、プロファイル内の構造やデータ保存用のファイル類が改良・変更されています。
正しい順番でアップグレードしていく分には、直近の変更は自動的に新しい仕様に引き継がれるようになっていて、これまで使ってきたプロファイルを継承利用することができます。
しかし、安易にダウングレードすると、新旧の仕様が同じプロファイル内に生きたまま混在することになります。その結果、プロファイル内のデータ群の一貫性・整合性をかき乱し、のちのち深刻な問題を引き起こす契機になることがあります。このことは昔のバージョンも同じで、Mozilla のサポートページでも注意されてきたことです。
それでも、そういう情報を知ってか知らずか安易にダウングレードして問題をこじらせたり、同じプロファイルで開発版と通常リリース版を使用して自ら問題を呼び込んでしまうケースがしばしば起こっていました。
そういったことへの対策を含め、起動時のプロファイルの取り扱い関する仕様変更が、Firefox 67 以降で導入されたということです。

(対処方法)
新しいバージョンで使用したプロファイルを、旧バージョンで再利用する場面で上記の警告が出たら、基本は素直に新しいプロファイルを作り、既存のプロファイルからブックマークやログイン情報など必要なデータだけを「コピー」するほうが、後々の安定性のためには役立つを思います。
旧バージョンでも、それ用のプロファイルであれば普通に起動できますから。

Firefox の自動更新後に何かしらの問題があった場合、ダウングレードしたくなる気持ちは心情的にわかりますし、Firefox 本体の旧バージョンを試験的に使ってみるのも、必ずしも悪いことではありません。
ただその場合、ひとつの常用プロファイルを新旧のバージョンで使い回していたのでは、問題点の切り分けどころか、上述のようにプロファイルを破壊するリスクが高くなるので、得策とはいえません。
比較テスト用のプロファイルを新規に作成し、それで旧バージョンを使うか、逆に新しいバージョン用の新しいプロファイルを追加作成し、既存のプロファイルからブックマークやログイン情報など必要なデータをコピーするほうが、個々のバージョンの特性を区別することができ、プロファイルごとに影響を与え合うことも避けられます。

力技(*) としては、新しく作ったプロファイル内に、既存プロファイルの内容物を丸ごとコピーすることで、同じプロファイルを2つ用意できます。
一方を新バージョンで、他方を旧バージョン使うことで、同じプロファイルを新旧のバージョンで使った時どうのような違いがあるか比較しやすくなります。
新バージョンでは、更新後に既存プロファイルを継承して使うのと同じようなことになります。
旧バージョンでは、新バージョンに更新したあとのプロファイルとは別のプロファイルでありながら中身は同じものを使え、しかも新バージョンが使っているプロファイルには影響を与えません。

(非推奨だが知っていると何かのときに役に立つかもしれないこと)
一度アップグレードしたプロファイルには、新バージョンで起動したとき新しいファイルが生成されたり、既存ファイルの置き換えや書き換えなど、いろいろ変化があります。
そのひとつとして、compatibility.ini に記録されている LastVersion などの情報も更新されます。Firefox 67 が起動時にチェックしているのはこのファイルなので(それだけではないのかもしれませんが...)、compatibility.ini を削除または移動してプロファイル内から消すと、いったん 68.0 以降で使ったプロファイルを、67.0 でも使えるようになります。
ただし、こういう方法で既存のプロファイルを、ダウングレードした Firefox で使った場合、のちのち予期しない問題が発生する危険性が増すのは、上述のとおりです。
新バージョンにしたとき問題が起こったデータを旧バージョンでサルベージしたいなど、そのプロファイルが破損する危険性を承知の上で、それより優先的に処理したいことがある場合以外は、安易におこなわないほうがいいと思います。
やるなら、上記「力技(*)」で述べたように既存のプロファイルの複製を作り、そこから compatibility.ini を削除したほうのプロファイルで旧バージョンを起動することで、アップグレード前とほぼ同様の条件で起動できるはずです。

(補足)
Firefox 68 は、次期 ESR 版でもあります。管理者がいる法人環境では間違わないと思いますが、一般のエンドユーザーが ESR 版を使う場合は、リリースチャンネルに注意してください。
通常リリース版の 68 をインストールした環境での自動更新は、68 -> 69 -> 70 …… という具合に進みます。一方、ESR 版 68 では、68.1 -> 68.2 -> 68.3 …… と進みます。

(参考)
・Firefox 67以降のユーザープロファイルの仕様の詳細 - ククログ(2019-06-14)
www.clear-code.com/blog/2019/6/14.html

すでにご存知の方もおられると思いますが、クリアコードさんのブログに、このあたりの詳しい解説記事が掲載されています。
本トピックは、一般のエンドユーザーが普段使いの中で遭遇しうる "現象" の観点から書いてみましたが、プロファイルに関するより詳しい技術的背景については、上記のブログ記事を参照なさることをお勧めします。

いちおう以上です。
間違っている部分の修正、不十分な内容への補足、新たな知見などの書き込みを歓迎します。


(おことわり)
現在、健康上の制約により不定期な書き込みしかできなくなっています。すぐに応答できない場面がかなり多くなりますことを、ご容赦ください。

_________________
Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:67.0) Gecko/20100101 Firefox/67.0


通報する
ページトップ
  
引用付きで返信する  
投稿記事Posted: 2019年7月05日(金) 18:14 
前便の内容と多少重複しますが、直観的な理解の助けになれば思い、補足します。

"1つのプロファイルを異なるバージョンの Firefox で使用するとき" の状況は、模式的には以下のように示せるかと思います。

【正順のアップグレードがおこなわれるとき】
 ┌───────┐ ┌───────┐ ┌───────┐
…│ Firefox 66 │⇒│ Firefox 67 │⇒│ Firefox 68 │…
 └───────┘ └───────┘ └───────┘
  ↓チェックなし   ↓チェック実行   ↓チェック実行
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
┃ プロファイル ⇒  自動継承   ⇒  自動継承  ……
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
※ Firefox 67 から起動時のプロファイル管理の仕様が変更されてはいますが、同じリリースチャンネルを使って更新していく限り特別なことをする必要はなく、68 以降も従来と同じように継続使用できます。
  Firefox 67 以降、ベータ版やナイトリー版などの開発バージョンをインストールしたときは、通常リリース版で使ってきたプロファイルが自動的に使用されることはなく、開発版用の新しいプロファイルが生成されるようになっています。

【逆順のダウングレードがおこなわれたとき】
(1)Firefox 66 以前
 ┌───────┐ ┌───────┐ ┌───────┐
…│ Firefox 66 │⇒│ Firefox 67 │⇒│ Firefox 66 │
 └───────┘ └───────┘ └───────┘
  ↓チェックなし   ↓チェック実行   ↓チェックなし
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
┃ プロファイル ⇒  自動継承   ⇒  機械的に再利用
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
※ 機械的に再利用された段階で、Firefox 66 と 67 の新旧仕様が生きたまま混在することになり、これがプロファイル内の一貫性・整合性を乱す一因になってきました。実際の影響は、ユーザーが施している設定内容、導入している拡張機能、これまでの運用経過などによって、多少の違いが出てきます。
  従来バージョンでは、拡張機能の互換性などの不都合が起こったとき、簡単にダウングレードできました。ただ、その拡張機能は使えたとしても、プロファイル内の別の部分に不整合を発生させるリスクが高かったのは上述のとおりで、バージョンによっては別の問題を顕在化させることがありました。潜在的な問題を抱えてしまったプロファイルに対し、さらにアップグレードやダウングレードをくり返すことで、普通はありえないような経緯からトラブルが発生することもありました。なのでトラブルシューティングとしては、ダウングレードではなく新しいプロファイルでの動作確認と必要なデータの移行が推奨されていました。

(2)Firefox 67 以降
 ┌───────┐ ┌───────┐ ┌───────┐
…│ Firefox 67 │⇒│ Firefox 68 │⇒│ Firefox 67 │
 └───────┘ └───────┘ └───────┘
  ↓チェック実行   ↓チェック実行   ↓チェック実行=×
┏━━━━━━━━━━━━━━━━━━━━━//━━━━━━━
┃ プロファイル ⇒  自動継承   ⇒   使用制止
┗━━━━━━━━━━━━━━━━━━━━━//━━━━━━━
※ "×" の判断がおこなわれたタイミングで、既存プロファイルの使用が制止され、「古いバージョンの Firefox を起動しています」の警告が出ます。
  ただし、そのプロファイル自体がロックされたわけではなく、適正なバージョンの Firefox であれば正常に利用できます。

この仕様変更により、いったん上位バージョンで使われ、その仕様に準じた状態に移行したプロファイルを、下位バージョンで機械的に利用することに制約がかかることになります。その結果、安易なダウングレードによってプロファイルの健全性が損なわれてしまうリスクを大幅に減らせます。
半面、こうした仕様変更の情報を知らないユーザーの中から、従来並みにダウングレードできないことに戸惑ったり、不満を持つ人が出てくる可能性はあります。とくに正式リリース版として初めての機会となる Firefox 68 から 67 へのダウングレードは、実際どの程度のユーザーがそれをおこない、その影響を受けるかは、ひとつの注目点になろうかと思います。

(おわりに)
同一プロファイルをダウングレードした Firefox で使う場合は、ユーザー自身がすべてのリスクを背負う覚悟のもとに実行することになります。暗黙的にはこれまでもそうでしたが、今後はそのことが明示的になります。
同時に、Firefox の開発元は、一般のエンドユ―ザーが安易にダウングレードに走らなくてもいいよう、新しいバージョンを提供していかなければならない、ということになろうかと思います。

以上です。
間違っている部分の修正、不十分な内容への補足、新たな知見などの書き込みを歓迎します。


(おことわり)
現在、健康上の制約により不定期な書き込みしかできなくなっています。すぐに応答できない場面がかなり多くなりますことを、ご容赦ください。

_________________
Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:67.0) Gecko/20100101 Firefox/67.0


通報する
ページトップ
  
引用付きで返信する  
投稿記事Posted: 2019年7月13日(土) 16:57 
次のような事例に遭遇したので、参考として追記しておきます。(内容は整理・要約してあります。)

(事例)ひとつのプロファイル(S)を [A 環境] と [B 環境] で共有している場合
共有プロファイル(S)を使って [A 環境] で Firefox 67 を起動しているとき、更新がかかり 68 になりました。[A 環境] での使用の後、Firefox 68 を終了しました。
そのあと、まだ更新がかかっていない [B 環境] で Firefox 67 を起動し、共有プロファイル(S)を読み込もうとしたとき、「古いバージョンの Firefox を起動しています」の警告が出ました。

(解説)
「プロファイルの共有」にはいくつか注意点がありますが、従来から「同一バージョンでおこなう」が大原則でした。
でもこれまでは、タイミング的にわずかなバージョンのずれであれば、共有プロファイルを使用することができました。
ただし、問題がただちに顕在化しなくても、潜在的に共有プロファイル内に矛盾を生じさせていた可能性はあり、そうした運用の積み重ねがやがて深刻なトラブルを誘発することもありました。

Firefox 67 以降、共有プロファイルを使った運用は、「同一バージョンでおこなう」がより厳密に求められるようになっています。

上記の事例でとった解決方法は次の通りです。
Firefox 67 のままであった [B 環境] で、警告に従い新しいプロファイルを作成し、その条件下で 68 に自動更新したあと、あらためて共有プロファイル(S)を指定して Firefox 68 を起動することで、再び共有が可能になりました。
別解としては、[B 環境] で Firefox 68 のインストーラーを使って手動更新する方法でも、プロファイル(S)の共有を継続できるはずです。
要点は、[A 環境] と [B 環境] の Firefox を、最新のバージョンにそろえることです。

法人・個人を問わず、ひとつのプロファイルを複数の環境/ユーザーが共有している場合は、個々の環境で使用する Firefox のバージョン管理に、これまで以上の注意を払うことをお勧めしておきます。

プロファイル内のデータの一部を同期して使う分には、いまのところこの制約にはひっかからないと思います。
Firefox Sync でブックマークを同期するなど、プロファイル全体を "共有" するのではなく、個別のプロファイル間でデータの種類ごとに "同期" するような使い方であれば、環境ごとの自動更新のタイミング差で「古いバージョンの Firefox を起動しています」の警告が出るようなことはないと思います。

以下、そのあたりを模式的に示します。

【プロファイル全体の "共有" の概念】
┌────────┐ ┌────────┐
│A 環境/ユーザー│ │B 環境/ユーザー│
└────────┘ └────────┘
   ↓読み込み     ↓読み込み
  ┏━━━━━━━━━━━━━━┓
  ┃ ひとつの共有プロファイル ┃
  ┗━━━━━━━━━━━━━━┛
※ A 、B で使用する Firefox のバージョンに、厳密な一致が求められます。

【プロファイル内データの "同期" の概念】
┌────────┐ ┌────────┐
│A 環境/ユーザー│ │B 環境/ユーザー│
└────────┘ └────────┘
  ↓読み込み      ↓読み込み
┏━━━━━━━━┓⇔┏━━━━━━━━┓
┃個別プロファイル┃同┃個別プロファイル┃
┗━━━━━━━━┛期┗━━━━━━━━┛
※ A 、B で使用する Firefox のバージョンに違いがあっても、個々の環境内に矛盾がなければ(*) 、それぞれ普通に起動できます。
  (*) 例えば、B 環境で 68 にアップグレードしたあと 67 にダウングレードすれば、B 環境では「古いバージョン~」の警告が出ます。

以上です。
間違っている部分の修正、不十分な内容への補足、新たな知見などの書き込みを歓迎します。


(おことわり)
現在、健康上の制約により不定期な書き込みしかできなくなっています。すぐに応答できない場面がかなり多くなりますことを、ご容赦ください。

_________________
Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:68.0) Gecko/20100101 Firefox/68.0


通報する
ページトップ
  
引用付きで返信する  
期間内表示:  ソート  
新しいトピックを投稿する トピックへ返信する  [ 3 件の記事 ] 

All times are UTC + 9 hours


オンラインデータ

このフォーラムを閲覧中のユーザー: なし & ゲスト[41人]


トピック投稿:  可
返信投稿:  可
記事編集: 不可
記事削除: 不可
ファイル添付: 不可

検索:
ページ移動:  
Powered by MozillaZine.jp® Forum Software © phpBB Group , Almsamim WYSIWYG
Japanese translation principally by ocean