「アップデートまたはアップグレードに失敗した後のリカバリ」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
(英語版から転載)
 
(→‎GUI リカバリ環境: 翻訳を修正)
 
(同じ利用者による、間の8版が非表示)
1行目: 1行目:
 
[[Category:システムリカバリ]]
 
[[Category:システムリカバリ]]
 
[[en:Recovery after failed update or upgrade]]
 
[[en:Recovery after failed update or upgrade]]
  +
{{Note|これは主に、コンピューターの使用法やニーズについての知識が少ないホームユーザー向けの回復環境のセットアップに焦点を当てています。}}
{{Note|This is focused mostly on setting up recovery environment for the home user with low knowledge about computer usage or needs.}}
 
   
  +
更新プロセス中に問題が発生したり、コンピュータの電源が失われたり、プロセスが停止したりするなど、パッケージの半分だけがインストールされて、一部の依存関係が失われた状態になった場合、システムに損傷が生じる可能性があります。この記事では、更新プロセス中に問題が発生したことによる損傷を軽減し、それによって発生する問題を修正するために、個別の回復環境を作成する方法について説明します。
If something goes wrong during the update process, like your computer losing power half way through or the process getting stopped, some damage could be caused to your installation as a result of packages being half installed and some dependencies missing. This article covers the creation of a separate recovery environment in order to help mitigate damage caused by something going wrong during the update process and fix any issues arising from it.
 
   
== GUI recovery environment ==
+
== GUI リカバリ環境 ==
   
  +
ユーザーが [[デスクトップ環境]] での起動を妨げる、またはユーザーが [[ディスプレイマネージャ]] を表示できる間にアプリケーションの起動を妨げるアップグレードまたは更新を実行する場合は、別の環境を作成することをお勧めします。ユーザーが簡単に使用して、これらのエラーを自分で修正しようとすることができます。これは、Linux の知識が限られているユーザーにとって特に便利です。 {{Pkg|openbox}} または {{AUR|idesk}} で​​使用できる他の同等のウィンドウマネージャーをインストールし、アクションを実行し、警告を表示し、システムを表示するように構成されたプログラムまたはより優れたスクリプト用の独自のボタンを作成します開始する前の管理者の連絡先情報。不要なユーザーが''フェイルセーフ'' 環境または一部のリカバリタスクを使用するのを防ぐために、スクリプトまたはウィンドウマネージャーの自動起動の先頭に以下を追加できます。
If the user performs an upgrade or update that prevents booting into the [[desktop environment]] or, prevents starting applications while the user is able to see the [[display manager]] then it is good practice to make a separate environment for the user to easily use to try to fix those errors on their own. This is especially useful for users that have a limited knowledge of Linux. Install {{Pkg|openbox}} or other equivalent window manager that can be used with {{AUR|idesk}}, and create your own buttons for the programs or better scripts that are configured to perform actions, show warnings and show the system administrator's contact information before starting. To prevent any unwanted user from using the "failsafe" environment or some of the recovery tasks you can add the following to the beginning of the script or window manager autostart:
 
   
 
{{bc|1=AllowedUser="JolinTsai";
 
{{bc|1=AllowedUser="JolinTsai";
16行目: 16行目:
 
fi}}
 
fi}}
   
  +
''セッションのタイプ'' リストからすべての不要なエントリを削除する必要があります。削除するか、それらに関する情報を含む *.desktop ファイルをバックアップフォルダに移動し、カスタム設定で独自のエントリを作成することで実行できます。 *.desktop ファイルの1つを必要な名前のファイルでコピーし、Exec と description の部分に変更を加えるだけです。
You will need to remove all unnecessary entries from "type of session" list, you can do it by removing or better to moving the *.desktop files which contains information about them to the backup folder and create your own with a custom configuration, to make it simply just copy one of the *.desktop files to a file with the name you want and make changes in the Exec and description parts.
 
   
  +
このように、ファイルを削除したり、バックアップディレクトリに移動したりできます。
Something like this you can use to remove or move files to backup directory.
 
   
  +
通常、それらは /usr/share/xsessions/ にあります。
{{Out of date|References kdm, which is not packaged since 2017}}
 
   
  +
また、作業中にコマンドの出力を表示するために xterm を使用する場合、作業中のウィンドウを閉じられないようにするために、ウィンドウのボーダーを取り除く必要があります。これは {{Pkg|devilspie}} を使って行うことができます。
{{bc|find /usr/share/apps/kdm/sessions/ -maxdepth 1 -type f \
 
! -name kde-plasma.desktop ! -name lxde.desktop ! -name openbox.desktop ! -name xfce4.desktop \
 
-exec mv "{}" /usr/share/apps/kdm/sessions/OLD_/ \;}}
 
   
  +
devilspie 設定ファイルで使用するウィンドウ名のリストを取得するには、{{Pkg|wmctrl}} ユーティリティを使用します。
You usually can find them in some of those folders:
 
  +
{{ic|<nowiki>wmctrl -l | awk '{print substr($0, index($0,$4))}'</nowiki>}} または {{Pkg|devilspie}} を起動すると、設定ファイルに使用可能なすべての情報を見ることができます。
 
{{bc|/usr/share/config/kdm/sessions
 
/usr/share/apps/kdm/sessions
 
/usr/share/xsessions/}}
 
 
You will also need to remove borders from windows to prevent user to close the working window such as xterm if you will use it to show output of commands while they are working. You can do it by using the {{Pkg|devilspie}}.
 
 
To get list of the window names for using in the devilspie configuration file you can use the {{Pkg|wmctrl}} utility
 
{{ic|<nowiki>wmctrl -l | awk '{print substr($0, index($0,$4))}'</nowiki>}} or when you start {{Pkg|devilspie}} you will see all information that is possible to use in the configuration file.
 
   
 
{{ic|Window Title: 'name@host:~/.path'; Application Name:''' 'name@host:~/.path' '''; Class:''' 'XTerm' '''; Geometry: 492x350+487+226}}
 
{{ic|Window Title: 'name@host:~/.path'; Application Name:''' 'name@host:~/.path' '''; Class:''' 'XTerm' '''; Geometry: 492x350+487+226}}
   
The {{ic|window_name}} , {{ic|application_name}} and {{ic|window_class}} can be used to change the window properties.
+
{{ic|window_name}}, {{ic|application_name}}, および {{ic|window_class}} を使用して、ウィンドウのプロパティを変更できます。
   
  +
優先アプリケーションに使用できる devilspie 構成ファイルの例
Example of the devilspie configuration file that you can use for the preferred application
 
   
 
{{hc|.devilspie/DesktopConsole.ds|(if (is ('''window_class''') "XTerm")
 
{{hc|.devilspie/DesktopConsole.ds|(if (is ('''window_class''') "XTerm")
55行目: 45行目:
 
)}}
 
)}}
   
The XTerm has also a command line to start it in the full screen: {{ic|xterm -fullscreen}}.
+
XTerm には、フルスクリーンで起動するためのコマンドラインも用意されています。{{ic|xterm -fullscreen}} です。
   
  +
{{Tip|フルスクリーンでアプリケーションを実行すると、タスクが完了するまでデスクトップ上の他のボタンをクリックすることができなくなります。}}
{{Tip|To run an application in the full screen makes user unable to click on other buttons on the desktop until task is completed.}}
 
   
  +
== ストレージデバイス全体の安全な復元/リセットを準備する ==
== Prepare a safe restoration/reset of the whole storage device ==
 
   
  +
ここでは、初心者や一般ユーザー、あるいは Linux を搭載したコンピュータを販売する予定がある場合に非常に便利な、自作の ''リセット'' 機能を使って、デフォルトのオペレーションシステム(Arch Linux など)をより簡単に復元する方法についての基本的な理論ステップを説明します。
Here will be described basic theoretical steps about how to make more easier restore of the default operation system (e.g. Arch Linux), just by using "Reset" function made by you that will be very useful for beginners/common users or if you will have plans to sell computers with a preferred Linux.
 
   
  +
=== 物理的にロックされたストレージ ===
=== Physical locked storage ===
 
   
  +
* 工場出荷時の初期設定は、書き込み保護されたストレージデバイスに保存する必要があります。 セキュアデジタルSDカードは、読み取り専用モードに物理的にロックできます。
* The initial factory set up must be stored on the write protected storage device such as e.g. [[Wikipedia:Secure Digital SD cards|Secure Digital SD cards]] that can be physically locked into the read only mode.
 
  +
* 最新の更新された工場出荷時のセットアップは、書き込み可能なストレージデバイスまたは別のパーティションに保存する必要がありますが、fstabで事前定義された書き込み保護マウントや、追加のマウントスクリプトマウントでの使用などのアクセスが制限されています。マウントされ、通常のユーザーの場合は読み取り専用モードでのみマウントを許可します。
* The latest updated factory set up must be stored on the writeable storage device or on a separate partition but with limited access such as write protected mount predefined in fstab and/or use in additional mount scripts mount.* with checks which device/partition is mounted and allow mount only in READ ONLY mode for a normal user.
 
  +
* これらの宛先をファイルマネージャメニューに非表示にするのも良いことです。
* It is also good to have those destinations hidden in a file managers menu.
 
  +
* BIOS は、SD カードから起動するように構成し、パスワードで保護する必要があります(パスワードはコンピューターの名前やモデルナンバーなど。)SD カードは恒久的に取り付けられ、密封されている必要があります。
* The BIOS will need to be configured to boot from SD Card and password protected(password can be name+model of the computer). The SD card need to be permanent attached and sealed(glued).
 
   
  +
[[Archiso]] を使用して独自のカスタムLiveCDを作成できます。これには、次の機能が必要です。
You can make your own custom Live CD with [[Archiso]] that must have functions:
 
  +
* {{Pkg|smartmontools}} などのヘルスモニタリングツール。エラーを表示し、宛先ストレージデバイスが破損した場合の対処方法を指示します。
* Health monitoring tools such as {{Pkg|smartmontools}} to show errors and instructions what to do if destination storage device is damaged.
 
  +
* メインパーティションが破損している場合、またはオプションとして使用している場合は、バックアップイメージから {{Pkg|fsarchiver}} としてツールを使用してストレージデバイス全体を復元します。
* Restore whole storage device with tools as {{Pkg|fsarchiver}} from the back up image if the main partition is damaged or have it as an option
 
  +
* 利用可能な場合は、インターネットから更新を取得します。
* Retrieve updates from the internet if it is available.
 
  +
* アップデートのインストールが可能な場合は、最新の ''ISO'' を使用してください
* Use latest created "ISO" if it is available to install updates
 
   
  +
別のパーティションに追加の ISO を作成するには、ユーザーが事前定義した、またはユーザーが手動で一定量の更新を行った後です。
The additional ISO on a separate partition can be created after a certain amount of updates predefined by you or manually by user.
 
   
  +
最初のログイン時に、ユーザーは、インストールされているすべてのアプリケーションと更新された構成ファイルのリストが保存されているクラウドサーバーを選択する機会を得る必要があります。
On the first login user must get an opportunity to choose a cloud server where was stored the list of all installed applications and updated configuration files.
 
   
  +
PC では、アダプタで USB カードに接続することにより、復元メディアをボックス内に保存できます。ラップトップには、補償目的で使用できる追加のストレージデバイスを内部に保存する機能がありませんが、セキュアデジタルSDカードなど、ラップトップに接続できる追加のストレージ用の場所を確保できるものもあります。初期 ファクトリー ISO と、オプションで内部ストレージデバイスのバックアップイメージのみを保存することが可能なものがあります。
On PC the restoration media can be stored inside the box by connecting to USB card with adaptor. Laptops are missing the ability of storing extra storage devices inside that can be used for reparation purposes, but some of them can have place for the addition storage that can be connected to them such as [[Wikipedia:Secure Digital SD cards|Secure Digital SD cards]] where can be stored only initial "factory" ISO and optionally also the internal storage device back up image.
 
   
=== Virtualization ===
+
=== 仮想化 ===
   
  +
自動的にログインし、リモートストレージに保存することもできるスケジュールされたスナップショットを使用し事前構成された仮想マシンで開始するユーザーを使用して、Linux の最小インストールを作成します。
Create a minimal installation of the Linux with a user that will be logged in automatically and start with .[[xinitrc]] preconfigured virtual machine with scheduled snapshots that can even be stored on a remote storage.
 
   
  +
=== 各ブートで必要なパーツを復元する ===
=== Restore desired parts on each boot ===
 
   
  +
{{Note|インターネットカフェのパソコンや、家庭で子供が使うコンピュータなどに有用な方法として、mv/cp/rm などのコマンドによる被害を防ぐために、ファイル名の変更、どのパスやファイルを削除してよいかをチェックするスクリプトに置き換えることも有効です。}}
{{Note|It is might be useful to be used on computers in Internet Cafe or by children at home. To prevent damage by commands like mv/cp/rm might be useful to rename them and replace with scripts that has checks of which path/files are allowed to be removed.}}
 
   
  +
[[GRUB]] で開始できる起動可能な ISO イメージまたは [[Wikipedia:ja:SquashFS|SquashFS]] を作成する。これらは、最小限の必要なアプリケーション、X サーバーまたは Wayland およびユーザーでも事前構成できます。起動後、{{ic|/usr/}}、{{ic|/home/}}、または物理ストレージまたはファイルに存在する可能性のあるその他のカスタムフォルダーパスへのマウントを自動化できます。考えられる損傷からブートおよびカーネル設定を保護するのに役立ちます。パーティション/ファイルが {{ic|/var/lib/pacman/}} にマウントされていて、書き込み可能なアクセス権を持っている場合、ユーザーはプログラムを更新できます。
By creating bootable ISO image or [[Wikipedia:SquashFS|SquashFS]] that can be started with [[GRUB]]. Those can be preconfigured even with minimal needed applications, X server or Wayland and users. After boot you can automatize mount of path to {{ic|/usr/}}, {{ic|/home/}} or other custom folders that can exist on physical storage or in a file. It is useful for protection of boot and kernel settings from possible damages. Users will be able to updated programs if partition/file is mounted to {{ic|/var/lib/pacman/}} and has writeable access to it.
 

2023年4月28日 (金) 19:41時点における最新版

ノート: これは主に、コンピューターの使用法やニーズについての知識が少ないホームユーザー向けの回復環境のセットアップに焦点を当てています。

更新プロセス中に問題が発生したり、コンピュータの電源が失われたり、プロセスが停止したりするなど、パッケージの半分だけがインストールされて、一部の依存関係が失われた状態になった場合、システムに損傷が生じる可能性があります。この記事では、更新プロセス中に問題が発生したことによる損傷を軽減し、それによって発生する問題を修正するために、個別の回復環境を作成する方法について説明します。

GUI リカバリ環境

ユーザーが デスクトップ環境 での起動を妨げる、またはユーザーが ディスプレイマネージャ を表示できる間にアプリケーションの起動を妨げるアップグレードまたは更新を実行する場合は、別の環境を作成することをお勧めします。ユーザーが簡単に使用して、これらのエラーを自分で修正しようとすることができます。これは、Linux の知識が限られているユーザーにとって特に便利です。 openbox または ideskAUR で​​使用できる他の同等のウィンドウマネージャーをインストールし、アクションを実行し、警告を表示し、システムを表示するように構成されたプログラムまたはより優れたスクリプト用の独自のボタンを作成します開始する前の管理者の連絡先情報。不要なユーザーがフェイルセーフ 環境または一部のリカバリタスクを使用するのを防ぐために、スクリプトまたはウィンドウマネージャーの自動起動の先頭に以下を追加できます。

AllowedUser="JolinTsai";
if [ "$(whoami)" != " ${AllowedUser,,}" ];then zenity --warning --text="You are not the allowed user!
The allowed user is "$AllowedUser;
#openbox --exit
exit 1
fi

セッションのタイプ リストからすべての不要なエントリを削除する必要があります。削除するか、それらに関する情報を含む *.desktop ファイルをバックアップフォルダに移動し、カスタム設定で独自のエントリを作成することで実行できます。 *.desktop ファイルの1つを必要な名前のファイルでコピーし、Exec と description の部分に変更を加えるだけです。

このように、ファイルを削除したり、バックアップディレクトリに移動したりできます。

通常、それらは /usr/share/xsessions/ にあります。

また、作業中にコマンドの出力を表示するために xterm を使用する場合、作業中のウィンドウを閉じられないようにするために、ウィンドウのボーダーを取り除く必要があります。これは devilspie を使って行うことができます。

devilspie 設定ファイルで使用するウィンドウ名のリストを取得するには、wmctrl ユーティリティを使用します。 wmctrl -l | awk '{print substr($0, index($0,$4))}' または devilspie を起動すると、設定ファイルに使用可能なすべての情報を見ることができます。

Window Title: 'name@host:~/.path'; Application Name: 'name@host:~/.path' ; Class: 'XTerm' ; Geometry: 492x350+487+226

window_name, application_name, および window_class を使用して、ウィンドウのプロパティを変更できます。

優先アプリケーションに使用できる devilspie 構成ファイルの例

.devilspie/DesktopConsole.ds
(if (is (window_class) "XTerm")
        (begin
(undecorate)
(skip_tasklist)
(above)
(fullscreen)
(maximize)                       
(unpin)                
(skip_pager)       
            )
        )

XTerm には、フルスクリーンで起動するためのコマンドラインも用意されています。xterm -fullscreen です。

ヒント: フルスクリーンでアプリケーションを実行すると、タスクが完了するまでデスクトップ上の他のボタンをクリックすることができなくなります。

ストレージデバイス全体の安全な復元/リセットを準備する

ここでは、初心者や一般ユーザー、あるいは Linux を搭載したコンピュータを販売する予定がある場合に非常に便利な、自作の リセット 機能を使って、デフォルトのオペレーションシステム(Arch Linux など)をより簡単に復元する方法についての基本的な理論ステップを説明します。

物理的にロックされたストレージ

  • 工場出荷時の初期設定は、書き込み保護されたストレージデバイスに保存する必要があります。 セキュアデジタルSDカードは、読み取り専用モードに物理的にロックできます。
  • 最新の更新された工場出荷時のセットアップは、書き込み可能なストレージデバイスまたは別のパーティションに保存する必要がありますが、fstabで事前定義された書き込み保護マウントや、追加のマウントスクリプトマウントでの使用などのアクセスが制限されています。マウントされ、通常のユーザーの場合は読み取り専用モードでのみマウントを許可します。
  • これらの宛先をファイルマネージャメニューに非表示にするのも良いことです。
  • BIOS は、SD カードから起動するように構成し、パスワードで保護する必要があります(パスワードはコンピューターの名前やモデルナンバーなど。)SD カードは恒久的に取り付けられ、密封されている必要があります。

Archiso を使用して独自のカスタムLiveCDを作成できます。これには、次の機能が必要です。

  • smartmontools などのヘルスモニタリングツール。エラーを表示し、宛先ストレージデバイスが破損した場合の対処方法を指示します。
  • メインパーティションが破損している場合、またはオプションとして使用している場合は、バックアップイメージから fsarchiver としてツールを使用してストレージデバイス全体を復元します。
  • 利用可能な場合は、インターネットから更新を取得します。
  • アップデートのインストールが可能な場合は、最新の ISO を使用してください

別のパーティションに追加の ISO を作成するには、ユーザーが事前定義した、またはユーザーが手動で一定量の更新を行った後です。

最初のログイン時に、ユーザーは、インストールされているすべてのアプリケーションと更新された構成ファイルのリストが保存されているクラウドサーバーを選択する機会を得る必要があります。

PC では、アダプタで USB カードに接続することにより、復元メディアをボックス内に保存できます。ラップトップには、補償目的で使用できる追加のストレージデバイスを内部に保存する機能がありませんが、セキュアデジタルSDカードなど、ラップトップに接続できる追加のストレージ用の場所を確保できるものもあります。初期 ファクトリー ISO と、オプションで内部ストレージデバイスのバックアップイメージのみを保存することが可能なものがあります。

仮想化

自動的にログインし、リモートストレージに保存することもできるスケジュールされたスナップショットを使用し事前構成された仮想マシンで開始するユーザーを使用して、Linux の最小インストールを作成します。

各ブートで必要なパーツを復元する

ノート: インターネットカフェのパソコンや、家庭で子供が使うコンピュータなどに有用な方法として、mv/cp/rm などのコマンドによる被害を防ぐために、ファイル名の変更、どのパスやファイルを削除してよいかをチェックするスクリプトに置き換えることも有効です。

GRUB で開始できる起動可能な ISO イメージまたは SquashFS を作成する。これらは、最小限の必要なアプリケーション、X サーバーまたは Wayland およびユーザーでも事前構成できます。起動後、/usr//home/、または物理ストレージまたはファイルに存在する可能性のあるその他のカスタムフォルダーパスへのマウントを自動化できます。考えられる損傷からブートおよびカーネル設定を保護するのに役立ちます。パーティション/ファイルが /var/lib/pacman/ にマウントされていて、書き込み可能なアクセス権を持っている場合、ユーザーはプログラムを更新できます。