Linux あれこれ

Linux 関連の備忘録です。

VirtualBox に「Arch Linux」をインストール〈H122-1〉

登録日: 2021-06-20 更新日: 2021-07-06

前回、「Xubuntu 20.04.2 LTS」に、ハードウェアの違いを仮想マシンにより吸収できる「VirtualBox」をインストール しました。

そのVirtualBox に「Arch Linux」をインストールしたときの備忘録です。

-

------------------------------------------------------------------

手順を見直したので、下記をご覧ください。

VirtualBox に「Arch Linux」をインストール(改定版)〈H122-4〉

------------------------------------------------------------------

-

「Arch Linux」は、初期のころのLinux のように、デスクトップ環境もインストーラもありません。 テキストの貼り付けも、マウスも使えず、コマンド入力しながら、ストレージのパーティションの分割から構築していくことになるので、敷居が高いというか、面倒な方だと思います。

まずは、ブラウザやテキストエディタで手順を確認しながら試せる、「VirtualBox」にインストールすることにしました。

-

ホストOS : Xubuntu 20.04.2 LTS

ゲストOS : Arch Linux(2021.05.01 のiso イメージ) ←(作業時のバージョン)

→ローリングリリースにつき、バージョン表記はありません。

-

-

使用したPC は「ASUS Chromebox CN60 」で、プロセッサは第4世代の古い「Intel Celeron 2955U 」です。

-

(注)リンクを戻るときはブラウザの左上の「←」をクリック

-

-


目次

-

「VirtualBox のインストール」

「ゲストOS のISO イメージをダウンロード:」

「仮想マシンの作成:」

「他のシステムのライブCD で仮想マシンを立ち上げて、パーティション作成:」

「Arch Linux の最小システムをインストール:」

「1. インストール後の確認」

「2. インストール後の設定」

「3. ミラーサーバの見直し」

「4. ArchLinux の基本的な設定を見直し」

「デスクトップ環境のインストールの前準備:」

「インストールするデスクトップ環境の選択:」

「まとめ へ」

-

「目次詳細 へ」

-

-


VirtualBox の「Arch Linux」の画面:

-

インストール完了後の画面:

→味気ないです。画面の上下にあるのは「VirtualBox」のメニューバーと状態パネルです。

-

デスクトップ環境は自由に選べますが、手動でインストールが必要:

余計なものを入れずに、マイナーなデスクトップ環境をインストールするベースにできるのが利点。 デスクトップ環境を入れてしまえば、他のディストリビューションと変わらない使い勝手です。 余計なものがないので軽量です。

-

「OpenBox」デスクトップ環境の場合:

Openbox にはパネルがありません。デスクトップの右クリックでメニューを表示できますが、それ以外に「tint2」をパネル代わりにして、よく使うアプリをアイコン登録しました。ほとんどXfceLXDE と変わらない使い勝手です。

画面の一番下は、ホストOS の「Xubuntu 20.04.2 LTS」のパネルです。

ちなみに、デスクトップに表示されている「KDE/Openbox」の文字は無視してください。KDE は入っておらず表示されているだけです。

-

-


--- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - -

-

現時点のバージョンを表示:

-

Arch Linux はローリングリリースにつき更新されて行くので、現時点のバージョンを表示しておきます:

2021-06-29 現在:

$ cat /etc/os-release
NAME="Arch Linux"
PRETTY_NAME="Arch Linux"
ID=arch
BUILD_ID=rolling
ANSI_COLOR="38;2;23;147;209"
HOME_URL="https://www.archlinux.org/"
DOCUMENTATION_URL="https://wiki.archlinux.org/"
SUPPORT_URL="https://bbs.archlinux.org/"
BUG_REPORT_URL="https://bugs.archlinux.org/"
LOGO=archlinux

$ uname -r 
5.12.12-arch1-1

→Arch Linux には、Manjaro Linux にある「/etc/lsb-release」は提供されていません。

-

ちなみに、下記のファイルはあります:

$ cat /etc/arch-release
$ 

→空です。 個人で構築していくデスクトップ環境等は異なるので、それらの覚書に使って良いかも。

-

-


Xubuntu について:

-

  • Xubuntu は、Ubuntu の公式フレーバーです。

  • Xubuntu 20.04.2 LTS は Ubuntu 20.04 がベースの、軽量なXfce デスクトップ環境です。

2021-06-29 現在:

$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=20.04
DISTRIB_CODENAME=focal
DISTRIB_DESCRIPTION="Ubuntu 20.04.2 LTS"

$ uname -r
5.8.0-59-generic

-

-


VirtualBox について:

-

-

  • 仮想マシンを使うことで、ハードウェアで問題となりそうなPC でも、最新のLinux ディストリビューションをインストールできる可能性が高くなります。

  • 余計なソフトが一緒に動くので、その分、負荷が大きいことと、メモリとストレージを使います。 システムに余裕がないと厳しく、特にメモリは、ホストOSとゲストOSとで分割して使われるので、メモリ設定の影響が大きいです。

→今回使った「ASUS Chromebox CN60」は、メモリ8GB、M.2 SSD 240GB に増設しています。

-

-


--- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --

-

Arch Linux について:

-

Arch Linux Wiki よりの抜粋:

-

1). 特徴:

  • Arch Linux は、シンプルで無駄の無いシステムを目指しています。

→そのため、インストーラだけでなく、GUI 操作のデスクトップ環境も公式には提供されていません。 その代わり「素早くアクセスして編集できるように配置された、能率的な構成ファイル群」とのこと。

  • Arch Linux は、「ローリングリリース」と呼ばれるリリース方式を採用。

→明確な「バージョン番号」や「リリース・スケジュール」を持ちません。

→定期的にソフトウェアアップデートを行うことで、システムを常に最新の状態に保つことができます。

→インストール用のイメージファイルは基本的にシステムパッケージ群の最新スナップショットになります。

  • Arch Linux の公式リポジトリは「x86-64」バイナリパッケージをベースとして最適化されています。

  • すべてのパッケージは、Arch Linux のために開発された「Pacman」パッケージマネージャを使用して管理されています。

  • ソースコードのビルドおよびバイナリパッケージの作成を自動化するArch Build System(ABS)が提供されています。

  • AUR がサポートされていますが、安定動作のため、推奨されていません。yay が公式リポジトリに登録されていないことからもわかります。Manjaro とは考え方に違いがあります。

→Arch Linux が最初にあり、それとは違う(便利ならどんどん使うという)考えで生まれたのがManjaro ということ。

-

2). インストールについて:

Arch Linux のインストール作業はCUI 操作(コマンドを入力)で行います。

パーティションの作成、ファイルシステムの作成・マウントなどを行い、「pacstrap」という小さなシェルスクリプトを実行して基本システムをインストールします。なので、インストールするパッケージの組み合わせも個人で異なります。

root でログインできるまでが基本のインストール作業になります。

-

その後のシステムの設定やデスクトップ環境などのソフトウェアの追加は、個人が必要に応じて、手動で行ないます。

→スキルがあれば、無駄のない自分の使用目的にあったシステムを構築できます。

逆に初めての人には敷居が高くなりますが、他のディストリビューションよりもドキュメント類は整っているので、じっくり取り組めば、何とかインストール可能です。

-

3). 公式リポジトリ

-

(1). core

→基本システムをセットアップするために必要なすべてのパッケージを収容。

-

(2). extra

→基本システムでは必要とされないパッケージを収容。

デスクトップ環境とそのプログラムが該当。

-

(3). community

→コミュニティによりビルドされたパッケージを収容。

十分な数の投票を受けて「信頼できるユーザ」(trusted user) により採用されたものが含まれます。つまり、AUR パッケージから昇格すると、ここに登録されます。

-

(4). multilib

→64-bit (x86-64) ユーザのためのリポジトリです。32-bit アプリケーションを64-bit 環境で容易に実行できるように提供されています。リポジトリの設定ファイルは、デフォルトでコメント化されているので、64-bit 環境で使うときはコメントの解除が必要です。

-

4). 非公式なリポジトリ

-

(1). aur

一般ユーザによって作られた「PKGBUILD」スクリプトを収容するためのArch User Repository(AUR)という補完的なリポジトリが提供されています。AURに置かれ、ユーザから十分な投票を受けると「community」リポジトリに昇格(登録)できます。ライセンスの関係を避けるため意図的にaur に置かれる場合もあります。

-

5). PKGBUILD スクリプトについて:

Arch Build System (ABS) の機能で使われる「PKGBUILD」スクリプトは、依存パッケージのリスト(依存の解決に必要なパッケージのインストール)と、ソースをArch Linuxアーキテクチャx86-64)に適合させるための構成処理(つまり、ビルドと、パッケージ化と、インストールの手順)を開発者または登録者が記述するようにルール化されています。

これによりユーザは、ソースコードのビルドを簡略化することができ、さらにソフトウェアを「Pacman」のパッケージとしてインストール(パッケージ管理)できます。

-

一般ユーザによって作られたPKGBUILD スクリプトを収容するためのAUR リポジトリがあることで、多くのAUR パッケージが配布されています。

→一般ユーザでも簡単にソースからビルドできます。依存パッケージが自動でインストールされるのは大きいです。

  • アプリの改ざんに備え、パッケージ署名検証が追加され運用されています。

  • 再配布は認められていないが利用は自由なソフトウェアを収容(Google EarthRealPlayer、など)

  • 公式パッケージの様々なバリエーションを収容(選択の幅が広がります)

  • 公式パッケージのベータバージョン(開発版)なども収容

→ビルド作業やパッケージ化の作業を統一された形式で簡略化できるので、アプリを開発しやすくなります。

→公開することで、バグ出しや、評価、機能の追加、改修、改善、がしやすくなり、開発速度が上がります。

  • AURに置かれ、ユーザから十分な投票を受けることで「community」リポジトリに登録されます。

→開発者のモチベーションを上げることが出来ます。一般ユーザは信頼性があり、安定したアプリを使えます。

-

6). 「AUR ヘルパー」

AUR パッケージの管理を補助する「AUR ヘルパー」と呼ばれる(何種類かの)アプリがあります。このアプリ自体もAUR パッケージです。Manjaro Linux では公式リポジトリに「yay」が登録されており、pacman ですぐにインストールできるので、これを使うことになります。Arch Linux ではAUR リポジトリにある中から、好みのアプリをダウンロードしてインストールすることになります。

-

同じシステムがベースですが、Manjaro Linux では「yay」により、簡単に(支障が出ないか確認せずに)「非公式」のAUR パッケージをどんどん入れてしまいがちです。一緒に依存パッケージも入り、どんどん複雑に、肥大化するので、影響は大きいです。

-

7). 今回は以下を踏まえての、作業です

  • Manjaro Linux の最新のインストーラが、自分のPC (Haswell) だと「インストール中」にならないので、実機にインストールできません。

  • VirtualBox でなら、インストーラが正常に動作します。

  • インストーラや、デスクトップ環境をはじめから持たないArch Linux なら、実機の古いPC にインストールできるかもしれません。

-

-


--- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - ---

-

カーネル「5.8」にて問題が出やすいデスクトップやアプリ について:

-

  • 今どきのPC なら問題ありません。

  • Intel プロセッサ内臓のGPU で使われる、古いグラフィックドライバー(i915 等)がうまく動かないようです。BIOS 立ち上げの頃のプロセッサなので、カーネル側ではサポート外につき改善は期待できません。

  • 画面真っ暗でカーソルのみ表示されたまま、デスクトップ画面やアプリが表示されなかったり、ウィンドウ枠だけ表示されたりします。

-

Xfce」で、GPU関連の問題を回避できました

  • Xfce」は、GPU(ハードウェアアクセラレーション)の使用を前提としていないデスクトップ環境につき、 古いPC で起こるGPU関連の問題を回避できるようです。

-

  • ということで、ホストOS には「Xubuntu 20.04.2 LTS 」をインストールしました。

-

-

------------------------------------------------------------------

カーネルの問題を回避できそうなVritualbox で、今回試しました

-

Vritualbox を使うと、ハードウェアの代わりに仮想マシン(仮想のパソコン)が使われます。

古いPC であっても、最新のLinux ディストリビューションが使えるかもしれません。 負荷は大きくなりますが、軽量なディストリビューションを選べば試してみる価値はありそう。

Vritualbox のサイトでの最新のバージョンは6.1.22 でした。

-

-


--- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - ----

-

ホストOS 側の確認:

ホストOS : Xubuntu 20.04.2 LTS

$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=20.04
DISTRIB_CODENAME=focal
DISTRIB_DESCRIPTION="Ubuntu 20.04.2 LTS"

$ uname -r
5.8.0-50-generic

-

システム更新で最新にしました:

$ sudo apt update
$ sudo apt upgrade

-

再起動

-

-


--- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - -----

-

ホストOS 「Xubuntu 20.04.2 LTS」に「VirtualBox」をインストール:

-

前回の作業 を参照:

-


1). 「VirtualBox」の起動を確認:

メニュー→システム→「VirtualBox

→「Oracle VM VirtualBox マネージャー」が開きました。

→前回の作業で、仮想マシンの「Xubuntu21-04」が作成されています。

-

VirtualBox バージョン 6.1.16_Ubuntu r140961 (Qt5.12.8)

VirtualBox は起動できます。

-


2). 「VirtualBox Extension Package」が正しくインスールされているか確認

VirtualBox を起動します。

「ファイル」→「環境設定」→「機能拡張」タブ

→右側の一覧に、

「Orcle VM VirtualBox Extension Pack」に「チェックマーク」が付いているか確認:

→「!」マークだと正しく機能していない可能性があります。

-

VNC」も使うなら、「VNC」にもチェックがついているかを確認:

-

VirtualBox Extension Package」が有効になっているかの確認:

再起動してから確認

$ vboxmanage list extpacks

Extension Packs: 2
Pack no. 0:   Oracle VM VirtualBox Extension Pack
Version:      6.1.16
Revision:     140961
Edition:      
Description:  Oracle Cloud Infrastructure integration, USB 2.0 and USB 3.0 Host Controller, Host Webcam, VirtualBox RDP, PXE ROM, Disk Encryption, NVMe.
VRDE Module:  VBoxVRDP
Usable:       true 
Why unusable: 

Pack no. 1:   VNC
Version:      6.1.16
Revision:     140961
Edition:      
Description:  VNC plugin module
VRDE Module:  VBoxVNC
Usable:       true 
Why unusable: 

→2つのパッケージが有効です。

-


3). 「VirtualBox Guest Additions.iso」のインストール

  • ゲストOS を起動して、VirtualBox のメニューでマウント指示すると、ダウンロードされていない場合は、ダウンロードしてくれますが、事前にホストOS 側にダウンロードできます。ゲストOS 側にマウントして使います。
使えるバージョンの確認:
$ apt search virtualbox-guest-additions-iso
:
virtualbox-guest-additions-iso/focal-updates,focal-updates,now 6.1.16-1~ubuntu1.20.04.1 all [インストール済み]
  guest additions iso image for VirtualBox

→iso イメージは共通ですが、ゲストOS のパッケージの方がバージョンが高いので、どう使われるのかわからず迷ったので、ゲストOS に挿入するときに自動でダウンロードしてもらうことにしました。なので、今回はインストールしませんでした。(追記: ホストOS 側のVirtualBox のバージョンと同じものが、ホストOS のVirtualBox のフォルダにダウンロードされました)

ゲストOS(ごと)に、このiso をマウント(挿入すると自動でマウントされます)して、インストール(ビルドの実行)することで機能が有効になります。(挿入して、自動でダウンロードした場合は、作業完了後にアンマウントすると削除されました。ディスクを無駄にしません)

OS の機能はそれぞれ違い、ゲストOS によってはやり方が違ったり、サポート対象でなく(例えば、Haiku OS)、インストールできないOS もあります。(サポート対象が限られているのは、Oracle の好意で提供されているものだからです。)

-


4). virtualbox に関連するパッケージがインストールされたかの確認:

$ apt list virtualbox
:
virtualbox/focal-updates,now 6.1.16-dfsg-6~ubuntu1.20.04.1 amd64 [インストール済み]

-

$ apt list virtualbox-ext-pack
:
virtualbox-ext-pack/focal-updates,focal-updates,now 6.1.16-1~ubuntu1.20.04.1 all [インストール済み]

-

-


--- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - ----- -

-

「ゲストOS」のISO イメージをダウンロード:

-

1). ダウンロード:

-

2021-07-02 作業時に使ったiso イメージ:

-

archlinux-2021.05.01-x86_64.iso 2021-05-01 14:22 755M

-

2). チェックサムの参照:

sha1sums.txt

-

3). チェックサムの確認:

$ cd ~/ダウンロード/

$ sha1sum archlinux-2021.05.01-x86_64.iso
09c1ce7dfc548f18291ec7b080b57301a476e63b  archlinux-2021.05.01-x86_64.iso

-

-


--- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - ----- --

-

仮想マシン」の作成:

-

1). システム→「VirtualBox」→「VirtualBox」を起動

VirtualBox マネージャの画面:

→すでに別の仮想マシンを作成して、ゲストOS をインストールしています。

-

2). 右上の「新規」ボタンをクリック

-

3). 名前とオペレーティングシステム:

-

名前:Arch-Linux   ←(好きな英字の名前、フォルダ名になります)
タイプ:Linux
バージョン:「Arch Linux(64bit) 」になっていることを確認

→「次へ」

-

4). メモリサイズ:

3031 MB   ←(大きく取りすぎると、 ホストOS が不調になります)

→「次へ」

-

5). ハードディスク:

「仮想ハードディスクを作成する」にチェック ←(つまり、ファイルが使われます)

→「作成」

-

6). ハードディスクのファイルタイプ:

「VDI(VirtualBox Disk Image)」にチェック ←(つまり、VirtualBox 形式)

→「次へ」

-

7). 物理ハードディスクにあるストレージ:

「可変サイズ」にチェック

→「次へ」

-

8). ファイルの場所とサイズ:

仮想ハードディスクとなるファイルが格納される、フォルダの指定:

今回は「/home/ubn/VirtualBox VMs/Arch-Linux.vdi」

→すでに入っている指定のまま、にしました。

-

可変サイズにした場合の、ファイルサイズの上限値:

8.00 GB →「30.00 GB」に変更(10 GB だとシステム更新だけですぐ一杯 になりました)

→「作成」

-

9). 仮想マシンの「Arch-Linux」が作成されました:

-

  • これが今から使う、仮想マシン(仮想のパソコン)の性能になります。(画像はバージョンアップ後の画像なので仮想マシン名を変更しています)

実際のハードウェアによっての制限はありますが、汎用のドライバーが使われることと、下記のように設定値を後から変更できるのがすごいところ。

-

10). 「ディスプレイ」の設定を変更:

「ディスプレイ」をクリック→「スクリーン」タブ

- ビデオメモリー: 16MB →「128MB」に変更
- グラフィックコントローラー: VMSVGA →「VBoxSVGA」に変更

→「VBoxSVGA」に変更しないと、デスクトップが「真っ暗のまま」起動できないことがありました。 実はライブ立ち上げで、右上にメッセージらしきものが表示されていましたが、警告とは受け取っていませんでした。

-

11). 「システム」の設定を変更:

「システム」をクリック→「マザーボード」タブ

- 「EFI を有効化」にチェック

-

「システム」をクリック→「プロセッサー」タブ

- プロセッサー数 : 1 CPU →「2 CPU」に変更

→使われているプロセッサが持つ、物理的な数と合わせると、速度の向上が期待できます。 使われているプロセッサにより数は違うので注意。

-

→「OK」

-

-


--- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - ----- ---

-

仮想マシンに、他のシステムのライブCD をセット:

-

今回は、「Manjaro OpenBox 20.2.1」のライブCD イメージ(.iso) を使いました:

→「Gparted」や「Disks」、「KDE Partition Manager」などが入っていれば、どのライブCD イメージ(.iso) でも良いと思います。

-

  • コマンドでのディスクの初期化は面倒なので、他のライブCD で立ち上げて、「Gparted」アプリでハードディスクの分割を行いました。

-

  • UEFI 立ち上げのPC をテストすることを想定してのディスクの分割を行いました。スワップは使用せず。

-

1). インストールしたい仮想マシンを選択して、「設定」(歯車)ボタンをクリック

-

2). CD/DVD ドライブを指定します:

「ストレージ」タブ→「ストレージデバイス」の下にある「コントローラー:IDE

→その下の「空」をクリックして選択

-

3). ISO イメージファイルを指定します:

その右の「属性」

光学ドライブ: 「IDE セカンダリマスター」の右にある水色のアイコンをクリック

→「ディスクファイルを選択」

-

「仮想光学ディスクファイルを選択してください」画面

→「~/ダウンロード/manjaro-openbox-20.2.1-210130-linux59.iso」を選んで「開く」

→「空」だったのが、「manjaro-openbox-20.2.1-210130-linux59.iso」に変わりました。

-

→「OK」

-

4). 「起動」(緑色の右矢印)ボタン

起動ディスクを指定します。事前に入っているのはマウントしたことのあるドライブなので、ライブCD イメージに変更します。

→「起動」ボタンをクリック

仮想マシンが起動

-

5). ライブCD イメージでブートすると、すぐに、「Welcome to Manjaro」画面が表示されます。

- Keytable = jp
- lang = 日本語 → ja_JP

としてから、 Boot: を選んで、Enter キー

-

6). デスクトップ画面が表示

「Manjaro へようこそ!」画面が表示されます:

→ウィンドウの右上の「x」で閉じます。

-

7). デスクトップの空きで右クリック →Terminal →「端末」を起動

  • アプリによっては、 日本語文字が豆腐になり、英語だけが表示される歯抜けの表示になるので、その回避策です。

-

8). 仮の日本語フォント(さざなみフォント)をインストール:

▷ sudo pacman -Sy ttf-sazanami

→「S」は大文字です。 2度ほど Enter を入力。

→「-Sy」は一部の同期とパッケージのインストールを一度に指定するオプションです。壊れることのない、ライブCD での立ち上げで工数を減らすために使っていますが、ローリングリリースの本番でひんぱんに使うとpacman のデータベースの一部が壊れます。いつもは「-Syu」で全ての同期がされるようにするか、「-S」でインストールの指定のみを行います。

日本語が反映されたか確認:

▷ date
2021年  5月  3日 月曜日 14:47:46 UTC

-

→右上の「x」で「端末」を閉じます。

-

9). デスクトップの空きで右クリック→「Disk Tools」→「Gparted」

パスワード: manjaro

-

(1). 右上で「/dev/sda (30.00 GiB)」を選択

「未割り当て 30.00 GiB」表示

-

(2). デバイスパーティションテーブルの作成→「gpt」選択

→「適用」

-

(3). 「未割り当て 30.00 GiB」を選んで右クリック→New
新しいサイズ: 30719 →「512」に変更    MiB
基本パーティション
ファイルシステム: 「fat32」

→「追加」

-

(4). 「未割り当て」を選んで右クリック→New
新しいサイズ: 残り全て「30207」    MiB
基本パーティション
ファイルシステム: 「ext4」

→「追加」

-

(5). 「新規パーティション (fat32)」を選んで右クリック→フォーマット→「fat32

-

(6). 「新規パーティション (ext4)」を選んで右クリック→フォーマット→「ext4

-

(7). 右上の「チェック」(適用)をクリック

→「適用」

フォーマットが開始

→「閉じる」

-

(8). 「/dev/sda1」を選んで右クリック→「フラグを編集」

「msftdata」のチェックを外し、「boot」と「esp」にチェック

→「適用」

→フラグの操作ができないアプリの場合は「EFI System Partition」を選びます。

-

(9). 「/dev/sda1」を選んで右クリック→「新しいUUID」

→「適用」

-

(10). 「/dev/sda2」を選んで右クリック→「新しいUUID」

→「適用」

-

(11). 右上の「チェック」(適用)をクリック

もし保留の処理が残っていたら、

→「適用」

-

10). デスクトップの空きで右クリック→「Exit openbox」→「Shutdown」

-

11). 「VirtualBox」ウィンドウが閉じたら(仮想マシンの電源が落ちたら)、ライブCD を取り外し

Oracle VM VirtulBox マネージャー」画面にて、

ストレージにある、 [光学ドライブ] manjaro-openbox-20.2.1-210130-linux59.iso をクリック

→「仮想ドライブからディスクを除去」をクリック

→ [光学ドライブ] 空 に変わりました。

-

-


--- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - ----- ----

-

「Arch Linux」の最小システムをインストール

-

  • 最小のシステムにして、ログイン画面が表示されるところまでのインストールを行いました。

-

1). 仮想マシンに、「Arch Linux」のライブCD をセット

Oracle VM VirtulBox マネージャー」画面にて、

ストレージにある、 [光学ドライブ] 空 をクリック

→「ディスクファイルを選択…」をクリック

-

→「~/ダウンロード/archlinux-2021.05.01-x86_64.iso」を選んで「開く」

→[光学ドライブ] が「空」だったのが、「archlinux-2021.05.01-x86_64.iso」に変わりました。

-

→「OK」

-

2). 「起動」(緑色の右矢印)ボタン

起動ディスクを指定します。事前に入っているのはマウントしたことのあるドライブなので、ライブCD イメージに変更します。

→「起動」ボタンをクリック

仮想マシンが起動

-

3). ブートローダーのメニュー画面が表示されます

→「Arch Linux」が選ばれています。

-

4). そのままにしておくと、ログイン画面になりました

自動で、root でログインされました。パスワードは不要です。

-

プロンプトは「$」でなく管理者権限の「#」です。なので常に「sudo」を付けているのと同じです。

-

問題: コンソールで勝手に改行されて表示が送られ見えなくなったり、cat を使うとキーを受けつかなくなります

「Virtual マネージャ」画面のビュー画面だと、改行を繰り返していることがわかります。

参考:

端末の使用

→これによると余計なコードが送られている可能性が高いみたい。

-

ライブCD イメージで立ち上げても、インストール後の立ち上げでも発生します。 不思議と「script」の記録を取り始めると軽減します。

cat、less、more、を使うと固まるので、極力使わないように避けました。GUI の端末アプリだと発生しません。

-


5). 日本語キーボードレイアウトに変更:

# loadkeys jp106

→ここでの変更はインストールのときだけ有効です。再起動したら再度設定が必要です。 「@@」を入れてみて確認。


6). 作業記録

script コマンドで、裏でシェルに入力したコマンドや出力結果などの作業を記録し、script コマンドの終了時にファイルに保存できます。引数を指定しない場合、カレントディレクトリの「typescript」ファイルが作業記録の保存先になります。

-

(1). 作業記録の開始
# script

Script started, file is typescript

→作業開始と、ファイル名の表示がありました。

作業記録があると、あとからインストールで失敗した原因を調べたり、作業手順を見直すのに役立つみたい。

-

(2). 作業記録を止めるには、exit コマンドを実行
# exit

chroot しているときにexit するとchroot から抜けるだけです。さらにexit を入れれば、作業記録が停止します。

-

(3). 保存した記録ファイルは、あとでドライブにコピーが必要です:

インストール完了時の再起動で失われてしまうので、インストール先のドライブにコピーします。

-

(4). 参考: 保存した記録ファイルを後で確認:

→typescript ファイルをless で確認:

$ less typescript
"typescript" may be a binary file.  See it anyway? 

→テキストファイルではなく、バイナリみたい。

念の為、Xubuntu でこのコマンドを試してみました:

記録:

ubn@ubn-box:~$ script
スクリプトを開始しました。ファイルは typescript です
ubn@ubn-box:~$ date
2021年  6月 21日 月曜日 01:32:35 JST
ubn@ubn-box:~$ exit
exit
スクリプトを終了しました。ファイルは typescript です

Linux 共通のコマンドなのか、日本語化されていました。 デフォルトのファイル名がまぎらわしいのが難点。

確認:

ubn@ubn-box:~$ ls
 Git               ダウンロード   ビデオ
'VirtualBox VMs'   テンプレート   ピクチャ
 snap              デスクトップ   ミュージック
 typescript        ドキュメント   公開

ubn@ubn-box:~$ cat typescript
Script started on 2021-06-21 01:32:32+09:00 [TERM="xterm-256color" TTY="/dev/pts/0" COLUMNS="55" LINES="29"]
ubn@ubn-box:~$ date
2021年  6月 21日 月曜日 01:32:35 JST
ubn@ubn-box:~$ exit
exit

Script done on 2021-06-21 01:32:38+09:00 [COMMAND_EXIT_CODE="0"]

→日本語に翻訳される前の原本が保存されています。 テキストファイルのようですが、端末の表示そのものです。プロンプトの色指定まで再現されています。

-

テキストエディタで確認:

$ featherpad typescript
Script started on 2021-06-21 01:32:32+09:00 [TERM="xterm-256color" TTY="/dev/pts/0" COLUMNS="55" LINES="29"]
]0;ubn@ubn-box: ~[01;32mubn@ubn-box[00m:[01;34m~[00m$ date
2021年  6月 21日 月曜日 01:32:35 JST
]0;ubn@ubn-box: ~[01;32mubn@ubn-box[00m:[01;34m~[00m$ exit
exit

Script done on 2021-06-21 01:32:38+09:00 [COMMAND_EXIT_CODE="0"]

→ESC シーケンスの色指定まで登録されています。

  • 表示をそのまま再現するなら、cat で確認するのがベターみたい。

-

参考: script コマンドのヘルプ表示:
$ script --version
script from util-linux 2.34

-

$ script --help

使い方:
 script [オプション] [ファイル]

端末操作と表示の写しを作成します。

オプション:
 -a, --append                  append the output
 -c, --command <command>       run command rather than interactive shell
 -e, --return                  return exit code of the child process
 -f, --flush                   run flush after each write
     --force                   use output file even when it is a link
 -o, --output-limit <size>     terminate if output files exceed size
 -q, --quiet                   be quiet
 -t[<file>], --timing[=<file>] output timing data to stderr or to FILE
 -h, --help                    display this help
 -V, --version                 display version

詳しくは script(1) をお読みください。

→日本語の翻訳が中途半端。

-


7). インターネットに接続していることを確認:

# ping -c 4 archlinux.jp

PING archlinux.jp (160.16.119.98) 56(84) bytes of data.
64 bytes from tk2-235-27344.vs.sakura.ne.jp (160.16.119.98): icmp_seq=1 ttl=50 time=7.73 ms
64 bytes from tk2-235-27344.vs.sakura.ne.jp (160.16.119.98): icmp_seq=2 ttl=50 time=5.4
:

→ネットワーク障害の調査でよく使われるコマンドです。 送信しっ放しはネットワーク使用者の迷惑になるので、4回だけping を送信して相手からの応答を待ちます。 かかった時間が表示されれば OK。

-


8). 接続されているドライブを確認:

# lsblk

NAME  MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
loop0   7:0    0 446.8M  1 loop /run/archiso/sfs/airootfs
sr0    11:0    1   556M  0 rom  /run/archiso/bootmnt
sda   254:0    0    30G  0 disk

→sda ドライブがArch Linuxインストールの対象です。loop は無視。sr0 はCD ドライブです。

-


9). ブートモードを確認:

ブートモードはパソコンによって違います。ブートモードによって、ディスクの分割のやり方が変わるので、 UEFI で立ち上がっているかを確認:

# efivar -l

8be4df61-93ca-11d2-aa0d-00e098032b8c-BootOrder
8be4df61-93ca-11d2-aa0d-00e098032b8c-Boot0003
8be4df61-93ca-11d2-aa0d-00e098032b8c-Boot0002
: 

→「efivar」はUEFI についての変数を設定・確認するためのコマンドで、-l オプションで変数一覧を表示します。 つまり、変数名のリストが表示されれば、ブートモードは「UEFI」です。

-


10). パーティションの確認

本来は、ドライブのパーティションをgdisk で設定して行きますが、 今回は事前に「パーティションの作成」と「パーティションの初期化」を済ませたので、確認のみに使います。

fdisk : MBR のパーティション設定ツール
gdisk : GPT のパーティション設定ツール

-

sdaドライブに対するgdisk を次のコマンドで開始:
  • インストール先のドライブ(今回は /dev/sda )を指定します。
# gdisk /dev/sda

Command (? for help): 

-

「?」で、コマンド一覧を表示:
Command (? for help): ?

b   back up GPT data to a file
c   change a partition's name
d   delete a partition
i   show detailed information on a partition
l   list known partition types
n   add a new partition
o   create a new empty GUID partition table (GPT)
p   print the partition table
q   quit without saving changes
r   recovery and transformation options (experts only)
s   sort partitions
t   change a partition's type code
v   verify disk
w   write table to disk and exit
x   extra functionality (experts only)
?   print this menu

-

「p」で、現在のパーティションの状態を表示:
Command (? for help): p

Disk /dev/sda: 104857600 sectors, 50.0 GiB
Sector size (logical/physical): 512/512 bytes
Disk identifier (GUID): 8EC9B916-FFB9-46A8-81DB-C845CE21CAEA
Partition table holds up to 128 entries
Main partition table begins at sector 2 and ends at sector 33
First usable sector is 34, last usable sector is 104857566
Partitions will be aligned on 2048-sector boundaries
Total free space is 103811004 sectors (49.5 GiB)

-

「q」で終了

-


11). デバイスパーティションを表示:

# lsblk

NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
loop0    7:0    0 446.8M  1 loop /run/archiso/sfs/airootfs
sr0     11:0    1   556M  0 rom  /run/archiso/bootmnt
sda    254:0    0    30G  0 disk
├─sda1 254:1    0   512M  0 part
└─sda2 254:2    0  29.5G  0 part

-


12). ルートファイルシステムをマウント:

# mount /dev/sda2 /mnt

マウントするディレクトリーは、/mntにします。 /mntは、インストールメディアからブートしたArch Linuxによりすでに作成されたディレクトリーです。 マウント完了後の/mntの下は空になります。

-


13). /mnt/boot を作成:

# mkdir /mnt/boot

-


14). EFI システムパーティションを/mnt/boot にマウント:

# mount /dev/sda1 /mnt/boot

→マウントするディレクトリーは、/mnt/boot です。

-


15). マウントされたか確認:

# mount | grep /mnt

/dev/sda2 on /mnt type ext4 (rw,realtime)
/dev/sda1 on /mnt/boot type vfat (rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro)

→mountコマンドを引数なしで実行すると、現在マウントされているファイルシステムパーティションなど)が一覧表示されます。

  • sda2 が/mnt、sda1 が/mnt/boot にマウントされていることを確認

-


16). ミラーリストの設定:

-

(1). ミラーリスト設定ファイル/etc/pacman.d/mirrorlist を編集。日本のサーバーを一番上に移動

Arch Linuxのインストール時には、ファイルの編集に、vim、nano などのテキストエディタが使えます。

# nano /etc/pacman.d/mirrorlist

↓ 下記の2行を先頭に追加:

Server = https://ftp.jaist.ac.jp/pub/Linux/ArchLinux/$repo/os/$arch
Server = http://ftp.tsukuba.wide.ad.jp/Linux/archlinux/$repo/os/$arch

-

(1). 強制的に pacman の全てのパッケージリストを同期:
# pacman -Syy

-

(2). システム更新:
# pacman -Syu

-

(3). ちなみに、上記 2つを一つにまとめられます:
# pacman -Syyu

-


17). pacstrap コマンドにてパッケージのインストールを実行:

  • pacstrap コマンドは、Arch Linux のインストール時に使われるパッケージ管理ツールです。

  • パッケージグループに含まれるパッケージ:

Package Groups Overview

-

(1). ベース:
# pacstrap /mnt base linux linux-firmware intel-ucode

==> Creating install root at /mnt
==> Installing packages to /mnt
:: Synchronizing package databases...
  • intel-ucode : Intel Haswell と Broadwell プロセッサを使っている場合は、システムを安定させるためにマイクロコードのアップデートが行われるようにします。

-

(2). pacman コマンド:
# pacstrap /mnt base-devel glibc lib32-glibc
  • base-devel : AUR パッケージやABS を扱うのに必要

-

(3). その他ツール:
# pacstrap /mnt  netctl dhcpcd dosfstools nano

-

- netctl : 有線ネットワークの設定に必要

- dhcpcd : DHCP ネットワークの名前解決に必要

- dosfstools : ファイルシステム

- nano : 設定ファイルの編集にエディタが必要

-


18). fstabの設定

pacstrapは、実行時に/mnt/etc/fstabを次の内容で作成します。

$ cat /mnt/etc/fstab

# Static information about the filesystems.
# See fstab(5) for details.

# <file system> <dir> <type> <options> <dump> <pass>

/mnt/etc/fstab は後でarch-chroot するときに/etc/fstab となります。 ただし、このままでは何も設定されておらず、Arch Linux は正常にブートできません。

-


19). genfstabの実行

Arch Linuxのインストール時はgenfstab コマンドで、/mnt 以下にマウントされたファイルシステムを反映し、fstab ファイルを作成できます。

# genfstab -U /mnt >>/mnt/etc/fstab

-


20). 実行後の/mnt/etc/fstab の例:

$ cat /mnt/etc/fstab

# Static information about the filesystems.
# See fstab(5) for details.

# <file system> <dir> <type> <options> <dump> <pass>
# /dev/sda2
UUID=c00d997e-3b71-4e59-89fc-aa47d478cd33   /           ext4        rw,relatime,data=ordered    0 1

# /dev/sda1
UUID=2A0A-CBEA          /boot       vfat        rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro   0 2

→genfstab の-U オプションは、パーティションを/dev/sda1 のようなデバイス名ではなく、UUID=2A0A-CBEA のようなUUID で指定することを意味します。

/dev/sda1 などのデバイス名だと、新しい周辺機器の接続などにより、別のパーティションやデバイスに代わってしまい、ブートできないトラブルが発生することがあります。UUID でパーティションを指定することでそのようなトラブルを防げます。

-


21). chroot の実行:

# arch-chroot /mnt

arch-chroot を実行してchroot し、/(ルートディレクトリー)を/mnt にします。

chroot により、/mnt、すなわちドライブにインストールされた設定が用いられるようになります。

一方で、今まで使っていたインストールメディアのプログラムやデータにはアクセスできなくなります。 例えば、ここまで使ってきたpacstrapやgenfstab、arch-chrootはドライブにはインストールされていないため、使えなくなります。

-


22). ブートローダーの設定:

Linux をブートするためには、ブートローダーの設定が必要です。 最近は、ブートモードがUEFI の場合にはsystemd に含まれるsystemd-boot も多く用いられています。

ここでは、systemd-boot を用いてブートローダーを設定します。

-

(1). systemd-bootのインストール

bootctl は、systemd-boot を用いたブートローダー管理に用いるコマンドです。 bootctl install でsystemd-boot のブートローダーをEFI システムパーティションにインストールします。

# bootctl install

Created "/boot/EFI".
Created "/boot/EFI/systemd".
Created "/boot/EFI/BOOT".
Created "/boot/loader".
Created "/boot/loader/entries".
Copied "/usr/lib/systemd/boot/efi/systemd-bootx64.efi" to "/boot/EFI/systemd/systemd-bootx64.efi".
Copied "/usr/lib/systemd/boot/efi/systemd-bootx64.efi" to "/boot/EFI/BOOT/BOOTX64.EFI".
Created EFI boot entry "Linux Boot Manager".

-

(2). ローダーの設定

systemd-boot を用いる場合、/boot/loader/loader.conf ファイルでローダーを設定します。

ローダーでは、ブート時に表示されるブートメニュー画面について設定します。

/boot/loader/loader.conf の編集:

# exit
# nano /mnt/boot/loader/loader.conf

default arch
timeout 3
editor  no

nano コマンドが使えるように、chroot から抜けています。

→デフォルトで選択されるローダーエントリーを「arch」にしたので、 ブート時に、対応するローダーエントリーファイル「arch.conf」が「/boot/loader/entries」ディレクトリに必要になります。

timeout は、ブートメニュー画面が表示される秒数を指定します。timeout=0 とすると、Space キーを押さないとブートメニュー画面が表示されなくなります。

editor は、ブートメニュー画面でカーネルパラメーターの編集ができるかどうかを指定します。 セキュリティのため、editor=no が強く推奨されています。

-

(3). ローダーエントリの追加

ローダーの設定に対応するローダーエントリーファイル「/boot/loader/entries/arch.conf」を作成します。

title でOS(Linuxディストリビューション)などの名前、linuxlinux ファイル、initrd で起動時に用いられるRAM ディスクファイルを指定し、さらにoptions でルートファイルシステム/dev/sda2 を指定します。linuxファイル、RAMディスクファイル、ルートファイルシステムの設定は、Linuxをブートするために必須です。

linux ファイルとRAM ディスクは、pacstrap の実行のなかでlinux パッケージがインストールされるときに、/boot ディレクトリに作成されます。また、ローダーエントリーファイルでは /boot は / と記述します。

  1. 実在するlinux ファイルのパスを、sed で/boot から/ に置換し、ローダーエントリーファイルに入力:
# arch-chroot /mnt
[root@archiso /]# ls /boot/vmlinuz-linux | sed s~/boot~~ >/boot/loader/entries/arch.conf
  1. 実在するRAMディスクファイルのパスを、sedで/bootから/に置換し、ローダーエントリーファイルに追加:
[root@archiso /]# ls /boot/initramfs-linux.img | sed s~/boot~~ >>/boot/loader/entries/arch.conf

optionsでのルートファイルシステム/dev/sda2の指定では、/etc/fstabと同様の理由でUUIDを用います。/dev/sda2のUUIDをローダーエントリーファイルに入力します。

blkidは、ドライブなどのデバイス情報をさまざまな形式で出力します。-o exportは行ごとに「<設定項目>=<設定値>」の出力形式を指定するオプションです。blkidコマンドではほかの情報も出力されるので、パイプとgrepで絞り込みます。UUIDは、行の先頭が「UUID」ではじまることをあらわす正規表現です。

[root@archiso /]# blkid -o export /dev/sda2 | grep ^UUID >>/boot/loader/entries/arch.conf

これらの操作で「/boot/loader/entries/arch.conf」に使う値が入力されます。

UUIDは、/etc/fstabのルートファイルシステムに指定したのと同じ値です。

-

(4). 「/boot/loader/entries/arch.conf」の修正:

実際に使える設定ファイルの形式に修正します。 title の行を追加するとともに、入力されている内容がlinux、initrd、options の設定値になるように編集し、保存します。 options でのルートファイルシステムの指定では、パーティションを読み書き可能な状態にすることを表すrw を追加します。 インテルプロセッサ固有のアップデートのintel-ucode も追記しました。

[root@archiso /]# exit
# nano /mnt/boot/loader/entries/arch.conf

→もしかしたら、nano はインストールしたので、exit しなくても使えるようになっているかも。

/vmlinuz-linux
/initramfs-linux.img
UUID=c00d997e-3b71-4e59-89fc-aa47d478cd33

↓ 修正

title   Arch Linux
linux   /vmlinuz-linux
initrd  /intel-ucode.img
initrd  /initramfs-linux.img
options root=UUID=c00d997e-3b71-4e59-89fc-aa47d478cd33 rw

→ほとんどの行の修正が必要です。

-

(5). bootctl list コマンドでローダーとローダーエントリーの設定が正しく反映されているかを確認:

ただし、linux やinitrd のファイルやoptions のUUID が実在するかはチェックされません。

# arch-chroot /mnt

[root@archiso /]# bootctl list

Available boot entries:
        title: Arch Linux (default)
        linux: /vmlinuz-linux
       initrd: /initramfs-linux.img
      options: root=UUID=c00d997e-3b71-4e59-89fc-aa47d478cd33 rw
:

ブートローダーメニューの一番上のメニューのみ抜粋しています。本当はメニューに複数の項目があります。

-


23). タイムゾーンの設定

シンボリックリンクを作成

[root@archiso /]# ln -sf /usr/share/zoneinfo/Asia/Tokyo /etc/localtime
[root@archiso /]# ls -l /etc/localtime
lrwxrwxrwx 1 root root 30 May  6 14:56 /etc/locltime ->  /usr/share/zoneinfo/Asia/Tokyo

-


24). ロケールの設定

-

(1). 英語、および日本語の2つをコメントアウト:
[root@archiso /]# exit
# nano /etc/locale.gen

↓ 下記の行を最後に追記:

###
# Locales enabled by User
en_US.UTF-8 UTF-8
ja_JP.UTF-8 UTF-8

-

(2). ロケールの作成:
# arch-chroot /mnt

[root@archiso /]# locale-gen
Generating locales...
  en_US.UTF-8... done
  ja_JP.UTF-8... done
Generatrion complete.

-

(3). 環境変数LANG も設定:
[root@archiso /]# echo LANG=ja_JP.UTF-8 >> /etc/locale.conf

-

▷ cat /etc/locale.conf
LANG=ja_JP.UTF-8
LC_ADDRESS=ja_JP.UTF-8
LC_IDENTIFICATION=ja_JP.UTF-8
LC_MEASUREMENT=ja_JP.UTF-8
LC_MONETARY=ja_JP.UTF-8
LC_NAME=ja_JP.UTF-8
LC_NUMERIC=ja_JP.UTF-8
LC_PAPER=ja_JP.UTF-8
LC_TELEPHONE=ja_JP.UTF-8
LC_TIME=ja_JP.UTF-8

→[LANG=ja_JP.UTF-8] ga areba OK

-


25). コンソールキーマップとフォントの設定

[root@archiso /]# echo KEYMAP=jp106 >> /etc/vconsole.conf
[root@archiso /]# echo FONT= >> /etc/vconsole.conf
[root@archiso /]# echo FONT_MAP= >> /etc/vconsole.conf

-

▷ cat /etc/vconsole.conf
KEYMAP=jp106
FONT=
FONT_MAP=

-


26). ホスト名を /etc/hostname に記述:

[root@archiso /]# echo ubn-box >> /etc/hostname

→例として、ホスト名(コンピュータ名)を「ubn-box」にしています。

-

▷ cat /etc/hostname
ubn-box

-


27). 同じホスト名を /etc/hosts にも記述:

[root@archiso /]# exit
# nano /etc/hosts

↓ 下記を記述

# Host addresses
127.0.0.1  localhost
127.0.1.1  ubn-box
::1        localhost ip6-localhost ip6-loopback
ff02::1    ip6-allnodes
ff02::2    ip6-allrouters

→例として、ホスト名(コンピュータ名)を「ubn-box」にしています。

-


28). DHCP自動起動設定

# systemctl enable dhcpcd
Created symlink /etc/systemd/system/multi-user.target.wants/dhcpcd.service → /usr/lib/systemd/system/dhcpcd.service.

リポジトリのURL の名前解決ができないので、pacman コマンドが使えません(同期がとれません)。

-


29). root ユーザーのパスワード設定

[root@archiso /]# passwd

New password:
Retype new Password:

passwd: Password updated successfully

→同じパスワードを2回入力して、設定します。再起動後はこのパスワードを使ってroot ユーザーとしてログインします。

-


30). ブートローダーの設定が完了したら、exit コマンドでchroot を終了:

[root@archiso /]# exit

-


31). 作業記録の終了

script コマンドで作業を記録していた場合は、もういちどexit コマンドを実行して終了します。

# exit

Script done, file is typescript

-


32). 作業記録ファイルのドライブへのコピー

作業を記録していた場合は、記録していたファイルをドライブにコピーします。ここでは、ドライブの/rootディレクトリーにarch_linux_install.logというファイル名で保存されるようにしています。

# cp typescript /mnt/root/arch_linux_install.log

→コピーしないと、コンピューターを再起動したときに作業記録はなくなります。 複数回のライブCD イメージでのインストール作業をしたときは、ファイル名に番号を付けておくと上書きされません。

  • インストール作業中は、cat やmore 、less をできるだけ使わないようにした方が良いみたいです。固まりました。

-


33). コンピューターをシャットダウン

# shutdown -h now

-


34). 「VirtualBox」ウィンドウが閉じたら(仮想マシンの電源が落ちたら)、ライブCD を取り外し

Oracle VM VirtulBox マネージャー」画面にて、

ストレージにある、 [光学ドライブ] archlinux-2021.05.01-x86_64.iso をクリック

→「仮想ドライブからディスクを除去」をクリック

→ [光学ドライブ] 空 に変わりました。

-


35). 「起動」ボタンをクリック

インストールに成功していれば、Arch Linux のログイン画面が表示されます。

-

-


--- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - ----- -----

-

システムコンソールに、ログイン画面が表示

-

→インストール完了後、最初のコマンド画面を「システムコンソール」と言い、 「Arch Linux」のログイン画面となります。(ここでは「tty1」です)

-

  • デスクトップ環境をインストールしたときは、Ctrl+Alt+F1 〜F7 で表示される「tty1 〜tty7」の画面と同じです。 ただしtty7 はデスクトップ画面が起動。

-

1). 問題: マウスは使えないし、スクロールバーがないので表示をさかのぼれません

-

2). 問題: 「システムコンソール」が安定していません

→端末で勝手に改行が入力され、キーを付け付けなくなります。特にcat (less、more 等)を使うと固まります。 ライブUSB メモリで立ち上げたときも同じ現象が発生していました。

-

3). 問題: システムコンソールで日本語が文字化け

→システムコンソールはマルチバイト(つまり日本語)に未対応のようです。

-

(1). メッセージを見たいときは英語表示で回避:
# LANG=C pacman -Syu
:: Synchronizing package databases...
 core is up to date
 extra is up to date
 community is up to date
 multiliv is up to date
:: Starting full system upgrade...
 there is nothing to do

-

(2). 文字化け回避の「fbterm」のインストールについて

こちらを参照:

-

-


--- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - ----- ----- -

-

1. インストール後の確認

-

1). ホスト名が設定されているかの確認:

Arch Linux 5.12.1-arch1-1 (tty1)

ubn-box login:

→プロンプトが「archlinux login:」の場合は、まだホスト名(コンピュータ名)が設定されていません。

-

2). 「ルートのパスワード」と「日本語キーボードの設定」の確認:

ubn-box  login: root
Password:
Last login: Thu May  6 14:09:43 on tty1
[root@ubn-box ~]#

→ユーザはまだ作成していないので、root でログインします。パスワードは設定済みです。

ログインできたら、試しに「@@」を入力してみます。

-

3). 「ロケールの設定」の確認:

# locale

LANG=ja_JP.UTF-8
LC_CTYPE="ja_JP.UTF-8"
LC_NUMERIC=ja_JP.UTF-8
LC_TIME=ja_JP.UTF-8
LC_COLLATE="ja_JP.UTF-8"
LC_MONETARY=ja_JP.UTF-8
LC_MESSAGES="ja_JP.UTF-8"
LC_PAPER=ja_JP.UTF-8
LC_NAME=ja_JP.UTF-8
LC_ADDRESS=ja_JP.UTF-8
LC_TELEPHONE=ja_JP.UTF-8
LC_MEASUREMENT=ja_JP.UTF-8
LC_IDENTIFICATION=ja_JP.UTF-8
LC_ALL=

-

4). 「タイムゾーンの設定」の確認:

#date
2021■   5■     7■    ■   ■   ■   00:44:55 JST

→「JST」になっています。タイムゾーンの設定はOK。

日本語フォントが文字化けしています。

-

5). インターネットに接続していることを確認:

# ping -c 4 archlinux.jp

PING archlinux.jp (160.16.119.98) 56(84) bytes of data.
64 bytes from tk2-235-27344.vs.sakura.ne.jp (160.16.119.98): icmp_seq=1 ttl=50 time=7.73 ms
64 bytes from tk2-235-27344.vs.sakura.ne.jp (160.16.119.98): icmp_seq=2 ttl=50 time=5.4
:

→ネットワーク障害の調査でよく使われるコマンドです。 送信しっ放しは、他のネットワーク使用者の迷惑になるので、4回だけping を送信して相手からの応答を待ちます。 かかった時間が表示されれば OK。

-

問題: システムの同期でエラーするので、エラー情報を確認:

→スクロールバーがないので表示をさかのぼれません。確認できるようにログを取ってみました。 確認はcat を使うとフリーズするので、確認できるようにログを取って、 エディタで確認しました。

# LANG-C pacman -Syy >test.log 2>&1

# nano test.log
Could not resolve host: ftp.jaist....

→和訳: ホストを解決できませんでした: URL の名前

「dhcpcd」をインストールする必要があります。

-

問題: ネットワークにつながらないので、pacman が使えず、インストールできません

ライブCD で、マウント後、pacstrap コマンドを使ってのインストールが必要です。

ついでに、chroot して、自動起動の設定も行います:

# systemctl enable dhcpcd
Created symlink /etc/systemd/system/multi-user.target.wants/dhcpcd.service → /usr/lib/systemd/system/dhcpcd.service.

→インストール手順に追加しました。

-

-


--- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - ----- ----- --

-

2. インストール後の設定

-

1). 日本語フォントのインストール

検索:

# pacman -Ss noto-fonts-cjk
extra/noto-fonts-chk 20201206-2
      Google Noto CJK fonts

-

インストール:

# pacman -S noto-fonts-cjk

-

2). ユーザの作成

-

# useradd -m -g users -G wheel -s /bin/bash ubn

# passwd ubn

# reboot

-

再起動されたら、root でログイン

-

3). sudo のインストール:

-

# pacman -S sudo

-

ユーザでsudoを使えるように設定:

# visudo

↓ 下記を追加

ubn ALL=(ALL) ALL

→visudo の使い方は「vi」と同じ。

:w  保存

:q  終了

-

# reboot

-

再起動されたら、ユーザでログイン

-

-


--- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - ----- ----- ---

-

3. ミラーサーバの見直し

-

Manjaro Linux で使うコマンドはないので使えません。 同じような機能のアプリをインストールします。

-

1). 「reflector」のインストール:

# pacman -S reflector

-

2). 「reflector」で、日本のミラーをダウンロード速度でソートして、/etc/pacman.d/mirrorlist ファイルを上書き:

# reflector --country 'Japan' --protocol http --protocol https --sort rate --save /etc/pacman.d/mirrorlist

→4つのミラーの3つだけが登録されました。ひとつはタイムアウトみたい。

-

3). 参考: 別のパターン

最近同期が行われた HTTP または HTTPS ミラー200個を選択して、ダウンロード速度でソートし、/etc/pacman.d/mirrorlist ファイルを上書き:

# reflector --latest 200 --protocol http --protocol https --sort rate --save /etc/pacman.d/mirrorlist

→応答速度が速いのなら海外でもいいけど、難しいところ。

-

4). Mirrorlist の修正、または確認:

# nano /etc/pacman.d/mirrorlist
  • 登録されているミラーが多いようなら、先頭行の5つほどを残して、以降は削除。

Ctrl+O で保存

Ctrl+X で終了

-

5). リポジトリの強制的な同期:

# pacman -Syy
:
:: パッケージデータベースの同期中...
 core                  166.4 KiB  1849 KiB/s 00:00 [######################] 100%
 extra                1964.7 KiB   646 KiB/s 00:03 [######################] 100%
 community               6.6 MiB   884 KiB/s 00:08 [######################] 100%
 multilib              178.9 KiB  2.91 MiB/s 00:00 [######################] 100%

→ミラーリストを修正したときに必要です。

-

6). システム更新:

# pacman -Syu

→ローリングリリースを保つためには、全体の同期を保つために、 ミラーリストを修正したら、必ずペアで実施。

-

7). ちなみに、上記2つを合わせて、下記でもOK

# pacman -Syyu

-

8). 警告: ローリングリリースで本番のシステムでは、一部のパッケージの同期を行うインストールは禁止。

# pacman -Sy パッケージ名 

→一部の矛盾から、pacman のデータベースを壊すことがあり、pacman が使えなくなります。

安全に管理できるように、下記のように使うのがオススメ:

# pacman -Syu パッケージ名 

または、

# pacman -S パッケージ名 

-

-


--- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - ----- ----- ----

-

4. ArchLinux の基本的な設定を見直し

-

参考:

Arch Linux Basic Configuration

→主にXorg について記述していますが、システムの基本的な構成を行うのにも役立ちます。

Xorg でのキーボード設定

-

Xorg は XKB (X KeyBoard extension) を使ってキーボードレイアウトを管理しています。 また、xmodmap を使って内部のキーマップテーブルに直接アクセスすることができます。 systemd の localectl を使うことで Xorg サーバーと仮想端末の両方のキーボードレイアウトを定義することもできます。

-

システム全体のロケール設定は「/etc/locale.conf」ファイルに保存され、systemd デーモンにより起動の初期段階で読み込まれます。

「/etc/locale.conf」に設定したロケール設定は、すべてのサービスやユーザーに継承されます。

-


1). キーボードレイアウト:

-

(1). 利用可能なキーマップの一覧表示
$ localectl list-keymaps
:
jp106

q

-

(2). システムキーマップの現在の設定を表示:
$ localectl status
   System Locale: LANG=ja_JP.UTF-8
       VC Keymap: jp106
      X11 Layout: jp
       X11 Model: pc105
     X11 Options: terminate:ctrl_alt_bksp

-

参考: Manjaro :

▷ localectl status
   System Locale: LANG=ja_JP.UTF-8
       VC Keymap: jp106
      X11 Layout: jp

参考: Xubuntu :

$ localectl status
   System Locale: LANG=ja_JP.UTF-8
       VC Keymap: n/a
      X11 Layout: jp
       X11 Model: pc105

-

(3). デフォルトのシステムキーマップの設定または変更
# localectl set-keymap jp106

-


2). Xorg のキーボードの設定:

Arch はデフォルトの設定ファイルを「/usr/share/X11/xorg.conf.d」に配置しており、追加の設定はほとんど必要ありません。

(1). キーボードの設定

例:

$ cd /etc/X11/
$ sudo mkdir xorg.conf.d

$ sudo nano /etc/X11/xorg.conf.d/00-keyboard.conf

# Read and parsed by systemd-localed.
Section "InputClass"
        Identifier "system-keyboard"
        MatchIsKeyboard "on"
        Option "XkbLayout" "jp"
        Option "XkbOptions" "terminate:ctrl_alt_bksp"
EndSection

→これで、キーボードがシステムに構成されました。

-

(2). ログアウト→ログイン

-

(3). キーボード設定(XKB) の表示
$ setxkbmap -print -verbose 10
Setting verbose level to 10
locale is C
Trying to load rules file ./rules/evdev...
Trying to load rules file /usr/share/X11/xkb/rules/evdev...
Success.
Applied rules from evdev:
rules:      evdev
model:      pc105
layout:     jp
options:    terminate:ctrl_alt_bksp
Trying to build keymap using the following components:
keycodes:   evdev+aliases(qwerty)
types:      complete
compat:     complete+japan
symbols:    pc+jp+inet(evdev)+terminate(ctrl_alt_bksp)
geometry:   pc(pc105)
xkb_keymap {
    xkb_keycodes  { include "evdev+aliases(qwerty)" };
    xkb_types     { include "complete"  };
    xkb_compat    { include "complete+japan"    };
    xkb_symbols   { include "pc+jp+inet(evdev)+terminate(ctrl_alt_bksp)"    };
    xkb_geometry  { include "pc(pc105)" };
};

-


3). 個人用のフォルダを生成(デスクトップ、ダウンロード、音楽 …):

-

(1). 「xdg-user-dirs」ツールをインストール:
$ sudo pacman -S xdg-user-dirs

-

(2). フォルダーを生成:
$ xdg-user-dirs-update
$ ls

-


4). リポジトリの追加

-

(1). Multilib

Arch Linux 64ビット(x86_64)をインストールした場合は、 Multilib リポジトリを有効にして、32ビット(i686)アプリケーションを実行できるようにすることをお勧めします。 これを有効にするには、下記の行頭の「#」を削除します。

-

(2).「/etc/pacman.conf」ファイルを修正:
$ sudo nano /etc/pacman.conf

↓ コメントを解除して有効化

[multilib]
Include = /etc/pacman.d/mirrorlist

-

(3). リポジトリを更新
$ sudo pacman -Syy
$ sudo pacman -Syu

-


5). yay のインストール

-

(1). git のインストール:
$ sudo pacman -S git

-

(2). yay をclone:
$ cd
$ mkdir Git
$ cd ~/Git/

$ git clone https://aur.archlinux.org/yay.git
$ cd yay
$ ls -a
.    ..    .SRCINFO    .git    .gitignore    PKGBUILD

-

(3). インストール:
$ makepkg -si

-

(4). インストールできたことの確認:
$ which yay
/usr/bin/yay

$ yay --version
yay v10.2.2 - libalpm v12.0.2

-

(5). yay でシステム更新:
$ yay
[sudo] USERNAME のパスワード:
:: パッケージデータベースの同期中...
 core は最新です
 extra は最新です
 community は最新です
 multilib は最新です
:: システム全体の更新を開始...
 何も行うことがありません
:: データベースからアップデートを検索...
:: AUR からアップデートを検索...
 何もすることがありません

-

(6). pacman や yay でカラー表示されるように設定:

yay はpacman の設定ファイル /etc/pacman.conf にある「Color」オプションを有効にすると、パッケージの検索で色分けされるようになり、見やすくなります。

-

「Color」オプションを有効にします:

$ sudo xed /etc/pacman.conf

下記の行を修正:

#Color

↓ 1行を追記:

#Color
Color

-

確認:

$ yay -Ss yay

-

→メッセージが色分けされて、見やすくなりました。

-


6). Pulseaudio のインストール

ほとんどのGnu/Linux ディストリビューションにプリインストールされている一般的なパッケージです。 ALSA よりも簡単なオーディオコントロールをシステムに組み込むことができます。

-

(1). pulseaudio のインストール:
$ sudo pacman -S pulseaudio pulseaudio-alsa pavucontrol paprefs libcanberra-pulse pasystray pamixer

-

$ pacman -Ss pulseaudio | grep インストール済み
:
extra/libcanberra-pulse 0.30+2+gc0620e4-3 [インストール済み]
extra/paprefs 1.1-2 [インストール済み]
extra/pavucontrol 1:4.0-2 [インストール済み]
extra/pulseaudio 14.2-3 [インストール済み]
extra/pulseaudio-alsa 1:1.2.2-2 [インストール済み]
community/pamixer 1.4-5 [インストール済み]
community/pasystray 0.7.1-2 [インストール済み]

-

(2). 参考: ボリュームキーのサポート

必要に応じて音量キーを追加します。ツールXbindkeys Pamixer をインストールします。

-

Xbindkeys のインストール:

$ sudo pacman -S xbindkeys

-

(3). 参考: 設定ファイルを作成:
$ nano ~/.xbindkeysrc

↓ 追記

# turn up the volume
"pamixer --increase 3"XF86AudioRaiseVolume
# lower volume
"pamixer --decrease 3"XF86AudioLVolume

-

(4). 参考: スタートアッププログラムのリスト(.xinitrc)にXbindkeys を追加
$ nano .xinitrc

↓ ファイルの最後に次を追加

xbindkeys

-

(5). 参考: 「~/.xinitrc」を書き換え:
$ xed ~/.xinitrc

[[ -f ~/.Xresources ]] && xrdb -merge -I$HOME ~/.Xresources
exec openbox-session

-

Manjaro より借用して書き換え:

#!/bin/sh
#
# ~/.xinitrc
#
# Executed by startx (run your window manager from here)

userresources=$HOME/.Xresources
usermodmap=$HOME/.Xmodmap
sysresources=/etc/X11/xinit/.Xresources
sysmodmap=/etc/X11/xinit/.Xmodmap

# merge in defaults and keymaps

if [ -f $sysresources ]; then
    xrdb -merge $sysresources
fi

if [ -f $sysmodmap ]; then
    xmodmap $sysmodmap
fi

if [ -f "$userresources" ]; then
    xrdb -merge "$userresources"
fi

if [ -f "$usermodmap" ]; then
    xmodmap "$usermodmap"
fi

# start some nice programs

if [ -d /etc/X11/xinit/xinitrc.d ] ; then
    for f in /etc/X11/xinit/xinitrc.d/?*.sh ; do
        [ -x "$f" ] && . "$f"
    done
    unset f
fi

if [ -f ~/.xprofile ]; then
    . ~/.xprofile
fi

# Keyring daemon
# /usr/bin/gnome-keyring-daemon --start --components=pkcs11 &
# polkit daemon
# /usr/bin/lxpolkit &

kbdrate -d 400 -r 50
xset r rate 400 50
xset s 3600 3600

get_session(){
    local dbus_args=(--sh-syntax --exit-with-session)
    case $1 in
        awesome) dbus_args+=(awesome) ;;
        bspwm) dbus_args+=(bspwm-session) ;;
        budgie) dbus_args+=(budgie-desktop) ;;
        cinnamon) dbus_args+=(cinnamon-session) ;;
        deepin) dbus_args+=(startdde) ;;
        enlightenment) dbus_args+=(enlightenment_start) ;;
        fluxbox) dbus_args+=(startfluxbox) ;;
        gnome) dbus_args+=(gnome-session) ;;
        i3|i3wm) dbus_args+=(i3 --shmlog-size 0) ;;
        jwm) dbus_args+=(jwm) ;;
        kde) dbus_args+=(startkde) ;;
        lxde) dbus_args+=(startlxde) ;;
        lxqt) dbus_args+=(lxqt-session) ;;
        mate) dbus_args+=(mate-session) ;;
        xfce) dbus_args+=(xfce4-session) ;;
        openbox) dbus_args+=(openbox-session) ;;
        compiz) dbus_args+=(compix-session) ;;
        *) dbus_args+=($DEFAULT_SESSION) ;;
    esac

    echo "dbus-launch ${dbus_args[*]}"
}

exec $(get_session)

-

$ sudo pacman -S gnome-keyring
$ yay -Ss pkcs11

-


7). 参考: 通知のサポート

-

7a). 参考: Notify-osd

-

(1). 公式リポジトリからNotify-osd をインストール:
$ sudo pacman -S notify-osd
:
パッケージ (3) libwnck3-3.36.0-1  libxres-1.2.1-1
               notify-osd-0.9.35+16.04.20160415-3

-

▷ yay -Ss notify | grep インストール済み
extra/libnotify 0.7.9-1 (50.1 KiB 282.5 KiB) (インストール済み)

-

(2). カスタマイズができる変更されたバージョンがAURにあります:
$ yogurt -S notify-osd-customizable notifyconf

-

(3). 通知をテスト
$ notify-send "Hello World"

システムにはすでにNotify-osd がインストールされています。

-

7b). 参考: Xfce4-notifyd

もう1つの非常に実用的で推奨される通知機能は「Xfce4-notifyd」です。 他のグラフィック環境とも互換性があります。

-

(1). xfce4-notifyd をインストール:
$ sudo pacman -S xfce4-notifyd

-

(2). 設定の実行:
$ xfce4-notifyd-config

-


8). 推奨されるフォントのインストール

-

基本的なフォントをシステムにインストール:
$ sudo pacman -S ttf-liberation ttf-bitstream-vera ttf-dejavu ttf-droid ttf-freefont

-

▷ yay -Ss ttf | grep インストール済み
aur/ttf-font-icons 1.1-3 (+28 0.52) (インストール済み: 1.1-5)
community/ttf-shadow-fonts 1.0-1 (1.2 MiB 5.3 MiB) (インストール済み)
community/ttf-polybar-icons 1.0-2 (230.8 KiB 487.2 KiB) (インストール済み)
community/ttf-liberation 2.1.3-1 (1.5 MiB 4.1 MiB) (インストール済み)
community/ttf-icomoon-icons 1.0-2 (82.3 KiB 172.5 KiB) (インストール済み)
community/ttf-font-icons 1.1-5 (97.3 KiB 169.8 KiB) (インストール済み)
community/ttf-font-awesome 5.15.3-1 (193.6 KiB 363.3 KiB) (インストール済み)
extra/ttf-dejavu 2.37+18+g9b5d1b2f-3 (2.6 MiB 10.0 MiB) (インストール済み)

-

これで、ArchLinux の基本的なセットアップが完了

-

-


--- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - ----- ----- -----

-

Xorg のインストールと設定

-

参考:

Installation of graphical environment and video driver in Arch Linux

  • Xorg の設定が済めば、任意のデスクトップ環境をインストールできるようになります。

-


1. Xorg のインストール

-

$ sudo pacman -S xorg-server xorg-xinit

-

▷ yay -Ss xorg | grep インストール済み
community/xf86-video-qxl-debian 0.1.5+git20200331-1 (167.9 KiB 432.7 KiB) [xorg-drivers] (インストール済み)
extra/xorgproto 2021.3-1 (241.7 KiB 1.4 MiB) (インストール済み)
extra/xorg-xwininfo 1.1.5-2 (23.8 KiB 52.2 KiB) [xorg-apps xorg] (インストール済み)
extra/xorg-xset 1.2.4-2 (19.4 KiB 39.8 KiB) [xorg-apps xorg] (インストール済み)
extra/xorg-xrdb 1.2.0-2 (19.9 KiB 40.6 KiB) [xorg-apps xorg] (インストール済み)
extra/xorg-xrandr 1.5.1-2 (36.8 KiB 69.4 KiB) [xorg-apps xorg] (インストール済み)
extra/xorg-xprop 1.2.5-1 (26.3 KiB 55.9 KiB) [xorg-apps xorg] (インストール済み)
extra/xorg-xmodmap 1.0.10-2 (22.5 KiB 49.1 KiB) [xorg-apps xorg] (インストール済み)
extra/xorg-xkill 1.0.5-2 (9.5 KiB 16.6 KiB) [xorg-apps xorg] (インストール済み)
extra/xorg-xkbcomp 1.4.5-1 (91.5 KiB 221.9 KiB) [xorg-apps xorg] (インストール済み)
extra/xorg-xinput 1.6.3-2 (28.1 KiB 63.8 KiB) [xorg-apps xorg] (インストール済み)
extra/xorg-xinit 1.4.1-3 (17.3 KiB 35.4 KiB) (インストール済み)
extra/xorg-xhost 1.0.8-2 (11.7 KiB 23.6 KiB) [xorg-apps xorg] (インストール済み)
extra/xorg-xdpyinfo 1.3.2-4 (16.0 KiB 33.0 KiB) [xorg-apps xorg] (インストール済み)
extra/xorg-xbacklight 1.2.3-2 (8.9 KiB 16.1 KiB) [xorg-apps xorg] (インストール済み)
extra/xorg-xauth 1.1-2 (25.5 KiB 55.9 KiB) [xorg-apps xorg] (インストール済み)
extra/xorg-setxkbmap 1.3.2-2 (13.9 KiB 29.1 KiB) [xorg-apps xorg] (インストール済み)
extra/xorg-server-xephyr 1.20.11-1 (914.4 KiB 2.2 MiB) [xorg] (インストール済み)
extra/xorg-server-common 1.20.11-1 (28.0 KiB 127.2 KiB) [xorg] (インストール済み)
extra/xorg-server 1.20.11-1 (1.4 MiB 3.7 MiB) [xorg] (インストール済み)
extra/xorg-mkfontscale 1.2.1-2 (24.3 KiB 51.6 KiB) [xorg-apps xorg] (インストール済み)
extra/xorg-fonts-type1 7.7-6 (1.3 MiB 2.7 MiB) (インストール済み)
extra/xorg-fonts-encodings 1.0.5-2 (567.0 KiB 625.4 KiB) [xorg-fonts xorg] (インストール済み)
extra/xorg-fonts-alias-75dpi 1.0.4-1 (2.9 KiB 3.4 KiB) (インストール済み)
extra/xorg-fonts-alias-100dpi 1.0.4-1 (2.9 KiB 3.5 KiB) (インストール済み)
extra/xorg-fonts-75dpi 1.0.3-7 (10.3 MiB 10.6 MiB) [xorg] (インストール済み)
extra/xorg-fonts-100dpi 1.0.3-7 (11.9 MiB 12.2 MiB) [xorg] (インストール済み)
extra/xf86-video-voodoo 1.2.5-11 (14.8 KiB 30.6 KiB) [xorg-drivers] (インストール済み)
extra/xf86-video-vmware 13.3.0-2 (78.9 KiB 192.9 KiB) [xorg-drivers] (インストール済み)
extra/xf86-video-vesa 2.5.0-1 (15.8 KiB 33.2 KiB) [xorg-drivers xorg] (インストール済み)
extra/xf86-video-openchrome 0.6.0-4 (141.0 KiB 482.6 KiB) [xorg-drivers] (インストール済み)
extra/xf86-video-nouveau 1.0.17-1 (92.5 KiB 222.8 KiB) [xorg-drivers] (インストール済み)
extra/xf86-video-intel 1:2.99.917+916+g31486f40-1 (721.2 KiB 2.2 MiB) [xorg-drivers] (インストール済み)
extra/xf86-video-fbdev 0.5.0-2 (13.3 KiB 29.3 KiB) [xorg-drivers] (インストール済み)
extra/xf86-video-dummy 0.3.8-4 (9.2 KiB 22.8 KiB) [xorg-drivers] (インストール済み)
extra/xf86-video-ati 1:19.1.0-2 (162.5 KiB 516.1 KiB) [xorg-drivers] (インストール済み)
extra/xf86-video-amdgpu 19.1.0-2 (71.3 KiB 165.7 KiB) [xorg-drivers] (インストール済み)
extra/xf86-input-void 1.4.1-5 (7.1 KiB 17.7 KiB) [xorg-drivers] (インストール済み)
extra/xf86-input-vmmouse 13.1.0-5 (14.2 KiB 40.5 KiB) [xorg-drivers] (インストール済み)
extra/xf86-input-synaptics 1.9.1-2 (57.6 KiB 137.5 KiB) [xorg-drivers] (インストール済み)
extra/xf86-input-libinput 1.0.1-1 (37.4 KiB 90.8 KiB) [xorg-drivers] (インストール済み)
extra/xf86-input-evdev 2.10.6-2 (34.4 KiB 75.1 KiB) [xorg-drivers] (インストール済み)

-

端末とマウスのサポートをインストール:

$ sudo pacman -S xterm gpm lxterminal termite

→Manjaro : lxterminal, Arch Linux : termite

-

▷ yay -Ss term | grep インストール済み
community/termite-terminfo 15-3 (4.7 KiB 2.4 KiB) (インストール済み)
community/termite 15-3 (222.6 KiB 612.2 KiB) (インストール済み)
community/terminus-font 4.49.1-2 (1.1 MiB 2.2 MiB) (インストール済み)
community/sakura 3.8.2-1 (62.4 KiB 195.2 KiB) (インストール済み)
community/python-ptyprocess 0.7.0-1 (22.1 KiB 63.9 KiB) (インストール済み)
community/python-npyscreen 4.10.5-5 (167.0 KiB 995.1 KiB) (インストール済み)
community/micro 2.0.8-4 (3.9 MiB 13.3 MiB) (インストール済み)
community/lxterminal 0.4.0-1 (103.5 KiB 395.1 KiB) [lxde lxde-gtk3] (インストール済み)
extra/xterm 367-1 (433.9 KiB 1.1 MiB) (インストール済み)
extra/vte3 0.64.1-1 (363.1 KiB 1.8 MiB) (インストール済み)
extra/python-appdirs 1.4.4-3 (15.0 KiB 76.3 KiB) (インストール済み)
extra/perl-file-mimeinfo 0.30-1 (41.4 KiB 82.1 KiB) (インストール済み)
extra/perl-encode-locale 1.05-7 (11.0 KiB 16.2 KiB) (インストール済み)
extra/luit 20201003-1 (30.9 KiB 70.1 KiB) (インストール済み)
extra/libutempter 1.2.1-1 (9.0 KiB 30.7 KiB) (インストール済み)
extra/libunwind 1.5.0-1 (111.1 KiB 265.9 KiB) (インストール済み)
core/perl 5.32.1-1 (15.1 MiB 57.6 MiB) (インストール済み)
core/less 1:581.2-1 (114.2 KiB 252.0 KiB) (インストール済み)
core/gpm 1.20.7.r38.ge82d1a6-3 (140.5 KiB 422.9 KiB) (インストール済み)

-


3. ビデオドライバをインストール

-

Intel の場合:

$ sudo pacman -S xf86-video-intel

-

使うべきビデオドライバがわからない場合:

-

オープンソースのビデオドライバーのリストを表示:
$ sudo pacman -H.H xf86-video

→一覧から、ビデオカードに適したドライバを見つけてください。

-

見つからない場合は、コントローラーvesa が最も一般的です:
$ sudo pacman -S xf86-video-vesa

→こちらのドライバーは、3D サポートやハードウェアアクセラレーションは提供されていません。

-


4. グラフィカル環境のテスト

-

X11のデフォルト環境をインストール:

$ sudo pacman -S xorg-twm xorg-xclock xterm

-

X11 環境を実行:

$ startx

うまく行けば、グラフィカル環境(twm)が表示されます:

twm)環境から抜けるには:

$ sudo pkill X

-


5. X11 環境のテストができたら、インストールするデスクトップ環境を選びます:

-

参考:

-

-

-


--- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - ----- ----- ----- -

-

Xterm、UXTerm にて、日本語フォントが文字化け

-

  • デスクトップ環境をインストールした後の設定です。

-

Xterm、UXTerm 日本語フォントの指定:

$ cat ~/.Xresources
cat: /home/ubn/.Xresources: そのようなファイルやディレクトリはありません

現在ロードされている resources を確認するには:

$ xrdb -query -all
$

-

参考:

X resources

インストール の確認:

$ pacman -Ss xorg-xrdb
extra/xorg-xrdb 1.2.0-2 (xorg-apps xorg) [インストール済み]
    X server resource database utility

-

カスタムした .xinitrc を使っている場合、Xresources のマージの行を追加:

~/.xinitrc の修正:

$ xed ~/.xinitrc

マージ:

[[ -f ~/.Xresources ]] && xrdb -merge -I$HOME ~/.Xresources
$ cat ~/.xinitrc
[[ -f ~/.Xresources ]] && xrdb -merge -I$HOME ~/.Xresources
exec openbox-session

-

インストールした X11 アプリのデフォルト設定を確認:
$ ls /usr/share/X11/app-defaults/
GXditview        KOI8RXTerm        UXTerm        XClock        XTerm
GXditview-color  KOI8RXTerm-color  UXTerm-color  XClock-color  XTerm-color

$ cat /usr/share/X11/app-defaults/XTerm
! $XTermId: XTerm.ad,v 1.106 2021/02/03 01:02:03 tom Exp $
! -----------------------------------------------------------------------------
! this file is part of xterm
!
:

-

Manjaro OpenBox より拝借:
▷ xed ~/.Xresources

! ------------------------------------------------------------------------------
! theme colors
! ------------------------------------------------------------------------------
Xcursor.size: 10

! ------------------------------------------------------------------------------
! theme colors
! ------------------------------------------------------------------------------
! special
*.foreground: #c0c5ce
*.background: #2b303b
*.cursorColor: #c0c5ce

*.color0: #2b303b
*.color1: #bf616a
*.color2: #a3be8c
*.color3: #ebcb8b
*.color4: #8fa1b3
*.color5: #b48ead
*.color6: #96b5b4
*.color7: #65737e

*.color8: #65737e
*.color9: #bf616a
*.color10: #a3be8c
*.color11: #ebcb8b
*.color12: #8fa1b3
*.color13: #b48ead
*.color14: #96b5b4
*.color15: #F6F6F6

! ------------------------------------------------------------------------------
! xterm
! ------------------------------------------------------------------------------
xterm*font: Source Code Pro Regular
xterm*faceName: Source Code Pro Regular:size=10:antialias=true
xterm*loginShell: true
xterm*vt100*geometry: 90x34
xterm*saveLines: 2000
xterm*charClass: 33:48,35:48,37:48,43:48,45-47:48,64:48,95:48,126:48
xterm*termName: xterm-256color
xterm*eightBitInput: false

! ------------------------------------------------------------------------------
! URxvt
! -----------------------------------------------------------------------------
URxvt*saveline: 15000
URxvt*termName: rxvt-256color
URxvt*iso14755: false
URxvt*depth: 32
URxvt*background: [90]#2b303b
URxvt*scrollBar: false
URxvt*scrollBar_right: false
URxvt*internalBorder: 0
URxvt*externalBorder: 0
URxvt*letterSpace: -1
URxvt.font: xft:Source Code Pro Regular:size=10
URxvt.perl-ext-common: default,clipboard,url-select,keyboard-select
URxvt.copyCommand: xclip -i -selection clipboard
URxvt.pasteCommand: xclip -o -selection clipboard
URxvt.keysym.m-c: perl:clipboard:copy
URxvt.keysym.m-v: perl:clipboard:paste
URxvt.urlLauncher: exo-open
URxvt.underlineURLs: true
URxvt.urlButton: 1
URxvt.geometry: 90x30
URxvt.tabbed.tabbar-fg: 4
URxvt.tabbed.tabbar-bg: 16
URxvt.tabbed.tab-fg: 15
URxvt.tabbed.tab-bg: 4
URxvt*buffered: false

! ------------------------------------------------------------------------------
! UXTerm
! ------------------------------------------------------------------------------
UXTerm*termName: xterm-256color
UXTerm*cursorColor: white
UXTerm*VT100.geometry: 90x30
UXTerm*font: Source Code Pro Regular
UXTerm*faceSize: 10
UXTerm*dynamicColors: true
UXTerm*utf8: 2
UXTerm*eightBitInput: true
UXTerm*saveLines: 10000
UXTerm*scrollKey: true
UXTerm*scrollTtyOutput: false
UXTerm*scrollBar: false
UXTerm*rightScrollBar: false
UXTerm*jumpScroll: true
UXTerm*multiScroll: true
UXTerm*toolBar: false

→DejaVu Sans Mono Book→Monospace Regular または Source Code Pro Regular

参考: リソースファイルをロードして現在の設定を置き換えるには:

$ xrdb ~/.Xresources

現在ロードされている resources を確認するには:

$ xrdb -query -all
*.background:   #2b303b
*.color0:   #2b303b
*.color1:   #bf616a
*.color10:  #a3be8c
*.color11:  #ebcb8b
*.color12:  #8fa1b3
*.color13:  #b48ead
*.color14:  #96b5b4
*.color15:  #F6F6F6
*.color2:   #a3be8c
*.color3:   #ebcb8b
*.color4:   #8fa1b3
*.color5:   #b48ead
*.color6:   #96b5b4
*.color7:   #65737e
*.color8:   #65737e
*.color9:   #bf616a
*.cursorColor:  #c0c5ce
*.foreground:   #c0c5ce
URxvt*background:   [90]#2b303b
URxvt*buffered: false
URxvt*depth:    32
URxvt*externalBorder:   0
URxvt*internalBorder:   0
URxvt*iso14755: false
URxvt*letterSpace:  -1
URxvt*saveline: 15000
URxvt*scrollBar:    false
URxvt*scrollBar_right:  false
URxvt*termName: rxvt-256color
URxvt.copyCommand:  xclip -i -selection clipboard
URxvt.font: xft:Source Code Pro Regular:size=10
URxvt.geometry: 90x30
URxvt.keysym.m-c:   perl:clipboard:copy
URxvt.keysym.m-v:   perl:clipboard:paste
URxvt.pasteCommand: xclip -o -selection clipboard
URxvt.perl-ext-common:  default,clipboard,url-select,keyboard-select
URxvt.tabbed.tab-bg:    4
URxvt.tabbed.tab-fg:    15
URxvt.tabbed.tabbar-bg: 16
URxvt.tabbed.tabbar-fg: 4
URxvt.underlineURLs:    true
URxvt.urlButton:    1
URxvt.urlLauncher:  exo-open
UXTerm*VT100.geometry:  90x30
UXTerm*cursorColor: white
UXTerm*dynamicColors:   true
UXTerm*eightBitInput:   true
UXTerm*faceSize:    10
UXTerm*font:    Source Code Pro Regular
UXTerm*jumpScroll:  true
UXTerm*multiScroll: true
UXTerm*rightScrollBar:  false
UXTerm*saveLines:   10000
UXTerm*scrollBar:   false
UXTerm*scrollKey:   true
UXTerm*scrollTtyOutput: false
UXTerm*termName:    xterm-256color
UXTerm*toolBar: false
UXTerm*utf8:    2
Xcursor.size:   10
xterm*charClass:    33:48,35:48,37:48,43:48,45-47:48,64:48,95:48,126:48
xterm*eightBitInput:    false
xterm*faceName: Source Code Pro Regular:size=10:antialias=true
xterm*font: Source Code Pro Regular
xterm*loginShell:   true
xterm*saveLines:    2000
xterm*termName: xterm-256color
xterm*vt100*geometry:   90x34

-

-

次回の「Openboxのインストール」に続く

-

-


--- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - ----- ----- ----- --

-

参考: 仮想マシンの名前を変更:

-

  • 「ゲストOS」が更新されバージョンが変わったので、それに合わせて名前を変更しました。

-

ホストOS にて、

-

1).「VirtualBox」を起動して、変更したい「仮想マシン」を選択

仮想マシンは「電源オフ」の状態です。

-

2). 「設定」をクリック

-

3). 名前: 「Manjaro-OpenBox-20-2」→「Manjaro OpenBox 21.0」に変更

→「OK」

-

4). 仮想マシンのフォルダー名が変更されたか確認:

$ cd ~/'VirtualBox VMs'/

$ ls -1
Manjaro-LXDE20-0
Manjaro-OpenBox-21-0
Xubuntu21-04

$ ls -1 Manjaro-OpenBox-21-0/
Logs
Manjaro-OpenBox-20-2.vdi       ←(ディスク名は変更されてません)
Manjaro-OpenBox-21-0-1.16-linux.vbox
Manjaro-OpenBox-21-0.nvram
Manjaro-OpenBox-21-0.vbox
Manjaro-OpenBox-21-0.vbox-prev

→フォルダ名は変更されますが、起動ディスクの名前はそのままです。

-

5). 「VirtualBox」を閉じます。

-

6). 「VirtualBox」を起動して、変更したい「仮想マシン」を選択

-

7). ファイル→「仮想メディアマネージャ」→「ハードディスク」タブ

「名前」タブで、「Manjaro-OpenBox-20-2.vdi」を選択

上のファイル名のところに、「Manjaro-OpenBox-20-2.vdi」が表示されているので、

「Manjaro-OpenBox-21-0.vdi」に変更してから、右下の「保存」をクリック

→新規に作成されて、入れ替わりに元のファイルは削除されます。 (これを利用するとハードディスクの場所を変更できます)

→「適用」

→「閉じる」

-

8). 「VirtualBox」を起動して、変更したい「仮想マシン」を選択

「ストレージ」のファイル名が「Manjaro-OpenBox-21-0.vdi」で (通常, 30.26 GiB) と認識されていれば OK

-

9). 「起動」をクリック

ちゃんと立ち上がれば OK

-

$ ls -1 ~/'VirtualBox VMs'/Manjaro-OpenBox-21-0/
Logs
Manjaro-OpenBox-21-0-1.16-linux.vbox
Manjaro-OpenBox-21-0.nvram
Manjaro-OpenBox-21-0.vbox
Manjaro-OpenBox-21-0.vbox-prev
Manjaro-OpenBox-21-0.vdi    ←(ディスク名が変更されました)

-

-


--- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - ----- ----- ----- ---

-

参考: 「virtualbox-guest-dkms」がリポジトリから削除されました

-

yay 操作の復習になりました。

-

画面の解像度を上げるためにインストールしていた aur リポジトリの「virtualbox-guest-dkms」がリポジトリから削除されました。出入りの激しい(開発版とも言える)AUR パッケージではよくあることです。 システム更新すると、代わりにcommunity リポジトリの「virtualbox-guest-utils」をインストールするか聞いてきました。

virtualbox-guest-utils」は似たような機能ですが、前のバージョンでは使えない機能(クリップボードの共有が使えず、解像度の調整が中途半端)がありました。現在は改善されているかな。今回使っていた「virtualbox-guest-dkms」でも同じだったので置き換わってもいいかも。

virtualbox-guest-dkms」がAUR パッケージだったことと、置換がうまく行かず、少し手間取りました。そのときの備忘録です。aur とcommunity で同じ機能なら、community を選んでおくと、こういう(リポジトリから消える)ことも少ないかもしれません。

-


2021-05-12 17:01:19

-

1). システム更新を実施:

$ yay
[sudo] ubn のパスワード:
:: パッケージデータベースの同期中...
 core                  130.0 KiB  1215 KiB/s 00:00 [########################] 100%
 extra                1558.2 KiB  1211 KiB/s 00:01 [########################] 100%
 community               5.5 MiB  1369 KiB/s 00:04 [########################] 100%
 multilib は最新です
:: システム全体の更新を開始...
:: virtualbox-guest-dkms を community/virtualbox-guest-utils に置き換えますか? [Y/n] 
:

→どうなっているのか確認するため、途中で中断。

-

2). 現状を確認:

$ pacman -Ss virtualbox-guest-dkms
$ 

→公式リポジトリにはないみたい。(実はAUR パッケージだったので、yay を使うべきでした)

$ pacman -Ss virtualbox-guest-utils
community/virtualbox-guest-utils 6.1.22-2
    VirtualBox Guest userspace utilities
community/virtualbox-guest-utils-nox 6.1.22-2
    VirtualBox Guest userspace utilities without X support

→置換先は公式リポジトリに2つあります。「virtualbox-guest-utils-nox」だとX は未サポート。

-

3). システム更新で置換を指示:

両方をY にすると中断されたので、片方だけY にしました。

$ sudo pacman -Syu
:
:: virtualbox-guest-dkms を community/virtualbox-guest-utils に置き換えますか? [Y/n] Y
:: virtualbox-guest-dkms を community/virtualbox-guest-utils-nox に置き換えますか? [Y/n] n
:
パッケージ (5) btrfs-progs-5.12-1  virtualbox-guest-dkms-6.1.22-1 [削除]
               virtualbox-guest-utils-6.1.22-2  xf86-video-vmware-13.3.0-2
               xorg-xrandr-1.5.1-2
:
:: インストールを行いますか? [Y/n] 

エラー: 処理を完了できませんでした (衝突しているファイル)
virtualbox-guest-utils: /etc/xdg/autostart/vboxclient.desktop がファイルシステムに存在しています
virtualbox-guest-utils: /usr/bin/VBoxClient がファイルシステムに存在しています
virtualbox-guest-utils: /usr/bin/VBoxClient-all がファイルシステムに存在しています
virtualbox-guest-utils: /usr/bin/VBoxControl がファイルシステムに存在しています
virtualbox-guest-utils: /usr/bin/VBoxDRMClient がファイルシステムに存在しています
virtualbox-guest-utils: /usr/bin/VBoxService がファイルシステムに存在しています
エラーが発生したため、パッケージは更新されませんでした。

→これらはたぶん、iso イメージをマウントしてのビルドでインストールされたパッケージです。 「virtualbox-guest-utils」と重なっています。

  • virtualbox-guest」のインストールは、2つのうちのどちらかを実施するので、そうなるのかな。

-

4). インストールされている外部(AUR) パッケージの表示:

$ pacman -Qm
virtualbox-guest-dkms 6.1.22-1
yay 10.2.2-1

-

5). 「virtualbox-guest-dkms」の確認:

$ yay -Ss virtualbox-guest-dkms
aur/virtualbox-guest-dkms-svn 88654-2 (+1 0.00) 
    VirtualBox Guest kernel modules sources
aur/virtualbox-guest-dkms-vmsvga 6.1.16-1 (+1 0.00) 
    VirtualBox Guest kernel modules sources (VMSVGA resize and multi-head fix)

→「virtualbox-guest-dkms」は表示されません。 リモートリポジトリしか表示しないのかな、インストールされていてローカルにあるときは「インストール済み、ローカル」とか表示されると思ったのですが…。

-

6). 孤立した依存パッケージを表示:

$ yay -Qdt
:
go 2:1.16.4-1
intltool 0.51.0-6
libwnck3 40.0-1
libxvmc 1.0.12-3
python-asn1crypto 1.4.0-3
python-cached-property 1.5.2-3
python-cryptography 3.4.7-1
python-pyasn1-modules 0.2.8-4
python-yaml 5.4.1.1-2
tpm2-tools 5.0-1

→今回とは関係なさそう。 「go」があるのでyay のビルドのときに必要だったパッケージです。つまり、ビルドのときは必要で、実行時は必要でない依存パッケージです。

-

7). 孤立した依存パッケージを削除:

$ yay -Yc
:
依存関係を確認しています...

パッケージ (16) go-2:1.16.4-1  intltool-0.51.0-6  libwnck3-40.0-1
                libxres-1.2.1-1  libxvmc-1.0.12-3  perl-xml-parser-2.46-2
                python-asn1crypto-1.4.0-3  python-cached-property-1.5.2-3
                python-cffi-1.14.5-1  python-cryptography-3.4.7-1
                python-ply-3.11-7  python-pyasn1-0.4.8-4
                python-pyasn1-modules-0.2.8-4  python-pycparser-2.20-3
                python-yaml-5.4.1.1-2  tpm2-tools-5.0-1

-

8). 孤立した依存パッケージを表示:

$ yay -Qdt
$ 

→すべて消えました。

-

9). 置換しないでシステム更新:

$ yay
:
:: virtualbox-guest-dkms を community/virtualbox-guest-utils に置き換えますか? [Y/n] n
:: virtualbox-guest-dkms を community/virtualbox-guest-utils-nox に置き換えますか? [Y/n] n
 :
何も行うことがありません
:: データベースからアップデートを検索...
:: AUR からアップデートを検索...
 -> 存在しない AUR パッケージ:  virtualbox-guest-dkms
 何もすることがありません

→置換しないで更新すると、初めて「AUR パッケージ: virtualbox-guest-dkms が存在しない」ことが表示されました。 最初に言って欲しい…。

-

10). パッケージの詳細を確認:

$ yay -Si virtualbox-guest-dkms
:: AUR を検索...
 -> 存在しない AUR パッケージ:  virtualbox-guest-dkms

→検索できません。リモートリポジトリからは消えています。

-

11). インストールされている外部(AUR) パッケージの表示

$ pacman -Qm
virtualbox-guest-dkms 6.1.22-1
yay 10.2.2-1

→ローカルのリポジトリにはあります。

-

12). インストールされている外部(AUR) パッケージのファイルの一覧:

$ yay -Ql virtualbox-guest-dkms
:
virtualbox-guest-dkms /usr/
virtualbox-guest-dkms /usr/lib/
virtualbox-guest-dkms /usr/lib/modules-load.d/
virtualbox-guest-dkms /usr/lib/modules-load.d/virtualbox-guest-dkms.conf
virtualbox-guest-dkms /usr/share/
virtualbox-guest-dkms /usr/share/licenses/
virtualbox-guest-dkms /usr/share/licenses/virtualbox-guest-dkms/
virtualbox-guest-dkms /usr/share/licenses/virtualbox-guest-dkms/LICENSE
virtualbox-guest-dkms /usr/src/
virtualbox-guest-dkms /usr/src/vboxsf-6.1.22_OSE/
virtualbox-guest-dkms /usr/src/vboxsf-6.1.22_OSE/Makefile
virtualbox-guest-dkms /usr/src/vboxsf-6.1.22_OSE/dkms.conf
virtualbox-guest-dkms /usr/src/vboxsf-6.1.22_OSE/vboxsf/
virtualbox-guest-dkms /usr/src/vboxsf-6.1.22_OSE/vboxsf/Makefile
virtualbox-guest-dkms /usr/src/vboxsf-6.1.22_OSE/vboxsf/README.md
virtualbox-guest-dkms /usr/src/vboxsf-6.1.22_OSE/vboxsf/dir.c
virtualbox-guest-dkms /usr/src/vboxsf-6.1.22_OSE/vboxsf/file.c
virtualbox-guest-dkms /usr/src/vboxsf-6.1.22_OSE/vboxsf/shfl_hostintf.h
virtualbox-guest-dkms /usr/src/vboxsf-6.1.22_OSE/vboxsf/super.c
virtualbox-guest-dkms /usr/src/vboxsf-6.1.22_OSE/vboxsf/utils.c
virtualbox-guest-dkms /usr/src/vboxsf-6.1.22_OSE/vboxsf/vboxsf_wrappers.c
virtualbox-guest-dkms /usr/src/vboxsf-6.1.22_OSE/vboxsf/vfsmod.h

→ツリー状に表示されます。

-

13). ファイルの存在を確認:

$ ls /usr/src/vboxsf-6.1.22_OSE/

→このフォルダはありませんでした。その他は存在。

これで行くと「/usr/src/vboxsf-6.1.22_OSE/」フォルダにあるファイルは「virtualbox-guest-dkms」関連のビルド時に必要なソースファイルみたい。実際はこのフォルダは存在しませんが表示があるので関連付けだけが残っています。iso イメージへのリンクかもしれません。

-

14). ファイルの所属するパッケージを表示:

$ yay -Qo VBoxClient
:
エラー: /usr/bin/VBoxClient を保有しているパッケージはありません

→バイナリファイルの所属を確認したら関連付けはなし。iso イメージでのビルドで作成されたバイナリかも。

-

-

15). GUI 操作できる「pamac」パッケージマネージャをインストール:

  • 公式リポジトリだけでなくAUR パッケージの管理(外部として表示)が可能で、孤立したパッケージの確認が楽です。

-

(1). 検索:
$ yay -Ss pamac
:
aur/pamac-aur-git 10.1.1.r2.g80df576-1 (+20 0.02) 
    A Gtk3 frontend for libalpm - git version
aur/pamac-aur 10.1.1-1 (+329 10.08) 
    A Gtk3 frontend, Package Manager based on libalpm with AUR and Appstream support

→AUR パッケージです。人気投票の多い「pamac-aur」にすることにしました。

-

(2). ちなみに「yay」の人気投票だと:
$ yay -Ss yay
:
aur/yay-git 10.2.2.r0.g4993e4d-1 (+26 1.41) 
    Yet another yogurt. Pacman wrapper and AUR helper written in go. (development version)
aur/yay-bin 10.2.2-1 (+166 7.00) 
    Yet another yogurt. Pacman wrapper and AUR helper written in go. Pre-compiled.
aur/yay 10.2.2-1 (+1463 51.90) (インストール済み)
    Yet another yogurt. Pacman wrapper and AUR helper written in go.

→1400 を超えてます。Manjaro Linux だと公式リポジトリ(community) に昇格していますが、Arch Linux はきびしいみたい。

-

(3). 「pamac-aur」のインストール:
$ yay -S pamac-aur
:
:: 3 個のパッケージが pamac-aur を提供しています:
:: リポジトリ AUR
    1) pamac-aur 2) pamac-all 3) pamac-classic 
数字を入力してください (デフォルト=1):    ←(Enter)
:
パッケージ (44) appstream-glib-0.7.18-1  archlinux-appstream-data-20210423-1
                asciidoc-9.1.0-1  docbook-xml-4.5-9  docbook-xsl-1.79.2-7
                gcab-1.4-1  gd-2.3.2-2  ghostscript-9.54.0-2  glib2-docs-2.68.1-1
                gobject-introspection-1.68.0-1  graphviz-2.47.1-1
                gsfonts-20200910-2  gtk-doc-1.33.2-1  gts-0.7.6.121130-2
                ijs-0.35-3  itstool-1:2.0.6-2  jbig2dec-0.19-1  libavif-0.9.0-2
                libde265-1.0.8-1  libhandy-1.2.2-1  libheif-1.12.0-1
                libidn-1.36-1  libpaper-1.1.28-1  libstemmer-0+713-2
                libxslt-1.1.34-5  libyuv-r2212+dfaf7534-2  meson-0.58.0-2
                netpbm-10.73.33-1  ninja-1.10.2-1  python-anytree-2.8.0-3
                python-appdirs-1.4.4-3  python-beaker-1.11.0-6
                python-lxml-4.6.3-1  python-mako-1.1.4-1  python-markdown-3.3.4-1
                python-markupsafe-1.1.1-7  python-ordered-set-4.0.2-3
                python-packaging-20.9-1  python-pygments-2.9.0-1
                python-pyparsing-2.4.7-3  python-setuptools-1:56.1.0-1
                python-six-1.16.0-1  run-parts-4.11.2-1  vala-0.52.3-1
:
pamac-aur の提案パッケージ
    polkit-gnome: needed for authentification in Cinnamon, Gnome
    lxsession: needed for authentification in Xfce, LXDE etc.

→インストールできました。「lxsession」は後で入れてもいいかも。

-

(4). すぐに「pamac」を起動したいときは、「PCManFM」ファイルマネージャ

→左側の「アプリケーション」タブ

→「ソフトウェアの追加と削除」をダブルクリック

-

(5). 「tint2conf」にて、「tint2」パネルに「pamac」アプリをランチャーとして登録

→「ソフトウェアの追加と削除」(pamac-manager) アプリを左に移動して、有効化

→パネルに「黄色い四角に黒の下矢印」アイコンが登録

-

16). pamac を起動して、関連しているファイルを表示:

上段の「インストール済み」→左の「外部」タブ→「virtualbox-guest-dkms」を選択

virtualbox-guest-dkms」にて、「ファイル」タブ

/usr/lib/modules-load.d/virtualbox-guest-dkms.conf
/usr/share/licenses/virtualbox-guest-dkms/LICENSE
/usr/src/vboxsf-6.1.22_OSE/Makefile
/usr/src/vboxsf-6.1.22_OSE/dkms.conf
/usr/src/vboxsf-6.1.22_OSE/vboxsf/Makefile
/usr/src/vboxsf-6.1.22_OSE/vboxsf/README.md
/usr/src/vboxsf-6.1.22_OSE/vboxsf/dir.c
/usr/src/vboxsf-6.1.22_OSE/vboxsf/file.c
/usr/src/vboxsf-6.1.22_OSE/vboxsf/shfl_hostintf.h
/usr/src/vboxsf-6.1.22_OSE/vboxsf/super.c
/usr/src/vboxsf-6.1.22_OSE/vboxsf/utils.c
/usr/src/vboxsf-6.1.22_OSE/vboxsf/vboxsf_wrappers.c
/usr/src/vboxsf-6.1.22_OSE/vboxsf/vfsmod.h

→「-Ql」とほぼ同じ。リストをコピーできるので便利。使えないアプリが多い。

-

17). pamac で「virtualbox-guest-dkms」の削除 →「認証に失敗」で削除できず

-

18). 邪魔している「virtualbox-guest-dkms」関連のファイルを手動で削除:

$ cd /usr/bin/
$ sudo rm VBoxClient
$ sudo rm VBoxClient-all
$ sudo rm VBoxControl
$ sudo rm VBoxDRMClient
$ sudo rm VBoxService

$ cd /usr/lib/modules-load.d/
$ ls
virtualbox-guest-dkms.conf
$ sudo rm virtualbox-guest-dkms.conf

$ cd /usr/share/licenses/virtualbox-guest-dkms/
$ ls
LICENSE
$ sudo rm LICENSE

$ cd ..
$ ls
$ sudo rm -r virtualbox-guest-dkms

-

19). システム更新:

$ yay
:
:: システム全体の更新を開始...
:: virtualbox-guest-dkms を community/virtualbox-guest-utils に置き換えますか? [Y/n] Y
:: virtualbox-guest-dkms を community/virtualbox-guest-utils-nox に置き換えますか? [Y/n] n
:
パッケージ (4) virtualbox-guest-dkms-6.1.22-1 [削除]
               virtualbox-guest-utils-6.1.22-2  xf86-video-vmware-13.3.0-2
               xorg-xrandr-1.5.1-2
:
:: インストールを行いますか? [Y/n] 
:
virtualbox-guest-utils: /etc/xdg/autostart/vboxclient.desktop がファイルシステムに存在しています
エラーが発生したため、パッケージは更新されませんでした。

→残骸(vboxclient.desktop) がありました。

-

20). 念の為、削除する前に内容を表示して記録:

$ cat /etc/xdg/autostart/vboxclient.desktop

[Desktop Entry]
Type=Application
Encoding=UTF-8
Version=1.0
Name=vboxclient
Name[C]=vboxclient
Comment[C]=VirtualBox User Session Services
Comment=VirtualBox User Session Services
Comment[it]=Servizi di sessione utente di VirtualBox
Comment[pl]=Usługi sesji użytkownika VirtualBox
Exec=/usr/bin/VBoxClient-all
X-GNOME-Autostart-enabled=true
X-KDE-autostart-after=panel

-

21). 邪魔している(vboxclient.desktop) を削除:

$ sudo rm /etc/xdg/autostart/vboxclient.desktop

-

22). システム更新:

$ yay
:
:: システム全体の更新を開始...
:: virtualbox-guest-dkms を community/virtualbox-guest-utils に置き換えますか? [Y/n] Y
:: virtualbox-guest-dkms を community/virtualbox-guest-utils-nox に置き換えますか? [Y/n] n
:
パッケージ (4) virtualbox-guest-dkms-6.1.22-1 [削除]
               virtualbox-guest-utils-6.1.22-2  xf86-video-vmware-13.3.0-2
               xorg-xrandr-1.5.1-2
:
警告: usr/lib/modules-load.d/virtualbox-guest-dkms.conf のファイル情報を取得できませんでした
警告: usr/share/licenses/virtualbox-guest-dkms/ のファイル情報を取得できませんでした
警告: usr/share/licenses/virtualbox-guest-dkms/LICENSE のファイル情報を取得できませんでした
警告: usr/src/vboxsf-6.1.22_OSE/ のファイル情報を取得できませんでした
警告: usr/src/vboxsf-6.1.22_OSE/Makefile のファイル情報を取得できませんでした
警告: usr/src/vboxsf-6.1.22_OSE/dkms.conf のファイル情報を取得できませんでした
警告: usr/src/vboxsf-6.1.22_OSE/vboxsf/ のファイル情報を取得できませんでした
警告: usr/src/vboxsf-6.1.22_OSE/vboxsf/Makefile のファイル情報を取得できませんでした
警告: usr/src/vboxsf-6.1.22_OSE/vboxsf/README.md のファイル情報を取得できませんでした
警告: usr/src/vboxsf-6.1.22_OSE/vboxsf/dir.c のファイル情報を取得できませんでした
警告: usr/src/vboxsf-6.1.22_OSE/vboxsf/file.c のファイル情報を取得できませんでした
警告: usr/src/vboxsf-6.1.22_OSE/vboxsf/shfl_hostintf.h のファイル情報を取得できませんでした
警告: usr/src/vboxsf-6.1.22_OSE/vboxsf/super.c のファイル情報を取得できませんでした
警告: usr/src/vboxsf-6.1.22_OSE/vboxsf/utils.c のファイル情報を取得できませんでした
警告: usr/src/vboxsf-6.1.22_OSE/vboxsf/vboxsf_wrappers.c のファイル情報を取得できませんでした
警告: usr/src/vboxsf-6.1.22_OSE/vboxsf/vfsmod.h のファイル情報を取得できませんでした
:: トランザクション前のフックを実行...
(1/1) Remove DKMS modules
/usr/lib/dkms/alpm-hook: 行 51: /usr/src/vboxsf-6.1.22_OSE/dkms.conf: そのようなファイルやディレクトリはありません
==> Unable to remove module vboxsf/6.1.22_OSE for kernel 5.12.2-arch1-1: Not found in dkms status output.

:: パッケージの変更を処理しています...
(1/1) 削除 virtualbox-guest-dkms                   [######################] 100%
(1/3) インストール xorg-xrandr                     [######################] 100%
(2/3) インストール xf86-video-vmware               [######################] 100%
(3/3) インストール virtualbox-guest-utils          [######################] 100%
:
:: データベースからアップデートを検索...
:: AUR からアップデートを検索...
 何もすることがありません

→事前にファイルを削除したことで、正常にシステム更新できました。

-

23). システム更新:

$ yay
:
:: パッケージデータベースの同期中...
 core                  130.0 KiB  1049 KiB/s 00:00 [########################] 100%
 extra                1558.6 KiB  1739 KiB/s 00:01 [########################] 100%
 community               5.5 MiB   431 KiB/s 00:13 [########################] 100%
 multilib は最新です
:: システム全体の更新を開始...
 何も行うことがありません
:: データベースからアップデートを検索...
:: AUR からアップデートを検索...
 何もすることがありません

→システム更新もなし。残骸もなし。

-

24). ちなみに、pacman でシステム更新を行うと:
$ sudo pacman -Syu
:
:: パッケージデータベースの同期中...
 core は最新です
 extra は最新です
 community は最新です
 multilib は最新です
:: システム全体の更新を開始...
 何も行うことがありません

→AUR 関連のパッケージの検索や更新はなしです。

-

25). 最終的なゲストOS 側の確認:
$ date
2021年  5月 14日 金曜日 01:57:12 JST

$ uname -r
5.12.2-arch1-1

$ yay -Ss kernel | grep インストール済み
:
extra/dkms 2.8.4-1 (54.5 KiB 176.6 KiB) (インストール済み)
core/linux-headers 5.12.2.arch1-1 (23.3 MiB 129.5 MiB) (インストール済み)
core/linux 5.12.2.arch1-1 (95.0 MiB 99.8 MiB) (インストール済み)

$ yay -Ss virtualbox | grep インストール済み
community/virtualbox-guest-utils 6.1.22-2 (1.3 MiB 9.1 MiB) (インストール済み)
core/linux 5.12.2.arch1-1 (95.0 MiB 99.8 MiB) (インストール済み)

→「virtualbox-guest-dkms」の代わりに「virtualbox-guest-utils」がインストールされました。

-

-


--- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - ----- ----- ----- ----

-

参考: 「pamac」はGUI 操作だけではもったいない。コマンド操作も使えます

-

  • GUI 操作でパッケージ管理のできる「pamac」は、CUI でも操作できます。 パッケージグループの確認とかに便利です。

-

1). ヘルプ表示:

$ pamac --help
利用可能なアクション:
  pamac --version     
  pamac --help, -h     [アクション]
  pamac search         [オプション] <パッケージ>
  pamac list           [オプション] <パッケージ>
  pamac info           [オプション] <パッケージ>
  pamac install        [オプション] <パッケージ>
  pamac reinstall      [オプション] <パッケージ>
  pamac remove         [オプション] [パッケージ]
  pamac checkupdates   [オプション]
  pamac update,upgrade [オプション]
  pamac clone          [オプション] <パッケージ>
  pamac build          [オプション] [パッケージ]
  pamac clean          [オプション]

-

2). バージョン表示:

$ pamac --version
Pamac  10.1.1-1

-

3). インストールしているパッケージの表示:

$ pamac list
acl                            2.3.1-1                     core       333.2 kB
adobe-source-code-pro-fonts    2.038ro+1.058it+1.018var-1  extra      1.9 MB
:
zstd                           1.4.9-1                     core       2.9 MB

-

4). パッケージがインストールされているかの確認(バージョンとサイズも表示):

$ pamac list | grep yay
yay                            10.2.2-1                               8.2 MB

-

5). インストールしているパッケージの詳細情報:

$ pamac info yay
名前         : yay
バージョン      : 10.2.2-1
説明         : Yet another yogurt. Pacman wrapper and AUR helper written in go.
URL        : https://github.com/Jguer/yay
ライセンス      : GPL3
インストールサイズ  : 8.2 MB
以下に依存      : pacman>5 git
オプション      : sudo [インストール済み]
パッケージ作成者   : Unknown Packager
ビルド日       : 2021年05月12日
インストール日    : 2021年05月12日
インストール理由   : 明示的にインストール

-

6). yay で表示すると:

$ yay -Si yay
:: AUR を検索...
リポジトリ           : aur
名前              : yay
キーワード           : arm  AUR  go  helper  pacman  wrapper  x86
バージョン           : 10.2.2-1
説明              : Yet another yogurt. Pacman wrapper and AUR helper written in go.
URL             : https://github.com/Jguer/yay
AUR URL         : https://aur.archlinux.org/packages/yay
グループ            : なし
ライセンス           : GPL3
提供              : なし
依存するパッケージ       : pacman>5  git
ビルド時の依存パッケージ    : go
チェック時の依存パッケージ   : なし
任意の依存パッケージ      : sudo
衝突するパッケージ       : なし
メンテナ            : jguer
投票              : 1462
人気度             : 51.810310
最初の投稿           : Thu 06 Oct 2016 02:20:04 AM JST
最終更新            : Mon 10 May 2021 04:11:17 PM JST
古いバージョン         : No

-

7). パッケージグループ名の一覧表示:

$ pamac list -g
alsa
archlinux-tools
arduino
base-devel
:
x-apps
xfce4
xfce4-goodies
xorg
xorg-apps
xorg-drivers
xorg-fonts

-

8). パッケージグループ「lxde」に含まれるパッケージを表示:

$ pamac list -g lxde
gpicview                       0.2.5-6    community  444.0 kB
lxappearance        [インストール済み] 0.6.3-4    community  404.8 kB
lxappearance-obconf            0.2.3-3    community  247.0 kB
lxde-common                    0.99.2-3   community  925.1 kB
lxde-icon-theme                0.5.1-5    community  4.6 MB
lxdm                           0.5.3-7    community  360.7 kB
lxhotkey                       0.1.1-1    community  237.3 kB
lxinput                        0.3.5-3    community  212.0 kB
lxlauncher                     0.2.5-4    community  158.1 kB
lxmusic                        0.4.7-5    community  486.9 kB
lxpanel                        0.10.1-1   community  3.4 MB
lxrandr                        0.3.2-2    community  237.4 kB
lxsession                      1:0.5.5-1  community  1.5 MB
lxtask                         0.1.10-1   community  264.0 kB
lxterminal          [インストール済み] 0.4.0-1    community  404.6 kB
openbox             [インストール済み] 3.6.1-7    community  1.3 MB
pcmanfm             [インストール済み] 1.3.2-1    community  1.4 MB

-

9). パッケージグループ「xorg-driver」に含まれるパッケージを表示:

$ pamac list -g xorg-drivers
xf86-input-evdev                 2.10.6-2                    extra      76.9 kB
xf86-input-libinput   [インストール済み] 1.0.1-1                     extra      93.0 kB
xf86-input-synaptics             1.9.1-2                     extra      140.8 kB
xf86-input-vmmouse               13.1.0-5                    extra      41.4 kB
xf86-input-void                  1.4.1-5                     extra      18.1 kB
xf86-video-amdgpu                19.1.0-2                    extra      169.7 kB
xf86-video-ati                   1:19.1.0-2                  extra      528.5 kB
xf86-video-dummy                 0.3.8-4                     extra      23.3 kB
xf86-video-fbdev                 0.5.0-2                     extra      30.0 kB
xf86-video-intel                 1:2.99.917+916+g31486f40-1  extra      2.3 MB
xf86-video-nouveau               1.0.17-1                    extra      228.2 kB
xf86-video-openchrome            0.6.0-4                     extra      494.2 kB
xf86-video-qxl                   0.1.5.r16.g52c421c-1        community  390.9 kB
xf86-video-vesa       [インストール済み] 2.5.0-1                     extra      33.9 kB
xf86-video-vmware     [インストール済み] 13.3.0-2                    extra      197.5 kB
xf86-video-voodoo                1.2.5-11                    extra      31.3 kB

→プロセッサはHaswell なので「xf86-video-intel 」を入れるべきですがわざと入れてません。

-

-


--- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - ----- ----- ----- -----

-

追記: システム更新にて「yay」が使えなくなり、再インストール:

-

2021-06-17:

システム更新があり、

:: AUR からアップデートを検索... -> メンテナが存在しない AUR パッケージ: python2-gobject2

これに依存している、yay や pamac-aur などのaur パッケージが動かないだけでなく、更新できなくなりました。

依存が循環しており、yay では解決できないので、下記の手順で実行:

-

  1. 公式リポジトリのみシステム更新を終わらせました
$ sudo pacman -Syu
  1. 動かなくなった pamac-aur とyay を削除
$ yay -R pamac-aur 
$ yay -R yay
  1. yay をgit からインストール:
$ cd ~/Git/
$ sudo rm -r yay
$ ls
$
$ git clone https://aur.archlinux.org/yay.git
$ cd yay
$ makepkg -si
:
パッケージ (1) yay-10.2.3-1
  1. メンテナが切れた python2-gobject2 の依存を下記の順で削除
$ yay -R obkey
$ yay -R pygtk
$ yay -R python2-gobject2
  1. pamac-aur のインストール
$ yay -S pamac-aur
:
パッケージ (1) pamac-aur-10.1.3-1
  1. aur の更新を実行
$ yay
:
:: AUR からアップデートを検索...
 何もすることがありません

→やっと元に戻りました。

-

AUR を管理するyay が公式リポジトリにない「Arch Linux」では、AUR パッケージの管理は面倒です

-

-


まとめ

ASUS Chromebox CN60 ではインテル プロセッサの「Haswell」が使われています。 古いことで、Linux カーネルで内臓のディスプレイドライバーがサポートされていません。

自分のPC ではカーネルが「5.8」だとアプリで問題が出ることがありましたが、「Manjaro 20.2.1」では「OS のインストーラ」が使えなくなりました。

インストーラの設定を終え、「今すぐインストール」をクリックしますが、インストール中になりません。

これだとさすがにManjaro の使用に不安が出ました。その対策ができるように、ベースとなった「Arch Linux」を学んでおくことにしました。CUI ベースでインストーラもないので、この状況を打破できるかもしれません。

-

まずは、ホストOS として「Xubuntu 20.04.2 LTS」を使い、VirtualBox に「Arch Linux」をインストール。GUI の環境がなくても、VirtualBox ならホストOS で検索して試行錯誤できます。(貼り付けは不可)

-

ポイントは、インストール中にネットワークのDHCP を有効化しておくことでした。これをやっておかないと、インストール後の再起動にて、ネットワークの名前解決が出来ず、ミラーの更新や、システム更新すら何もできません。

また、「Arch Linux」のライブUSB メモリでのコンソール(端末)は予想に反して、安定していません。なぜか、cat やless 、more などのコマンドは極力使わないようにしないとすぐにハングします(改行が入りっぱなしでキーを受け付けなくなります)。cat での確認作業はやらずに、さっさと設定を終わらせるのがコツでした。

コンソールの設定が必要なのか、PC 固有の問題なのかもしれません。この問題もデスクトップ環境で端末アプリが使えるようになるまでの辛抱です。

-

次回は、デスクトップ環境の構築か、「fbterm」のインストールの予定です。

-

-


-

-

-

    目次

-

「投稿の先頭 へ」

-

-


-

「この目次 の先頭へ」

「本編の目次 に戻る」

-