Arch Linux(2) Manjaro でのコマンド操作

## はじめに


前回、Manjaro Xfce 19.0.1 をインストールしました。

デスクトップ環境があるので、通常の運用は支障ありませんが、更に深く知るには、Arch Linux のコマンドを覚える必要があります。いろいろと調べてみました。

個人的な備忘録です。勘違いしているかもしれないので取扱注意。

---
#### まずは、使い方をman コマンドで確認

Ubuntu を使っていたころは、コマンドのヘルプを確認するくらいでしたが、[FreeBSD をさわって](https://qiita.com/FuRuYa7/items/bdfe0dae3f911cdd7515#freebsd-%E3%81%AE%E7%89%B9%E5%BE%B4) からは、man コマンドで確認することが増えました。

```
$ man 8 pacman
```
→英語です。


```
$ man 8 yay
```
→英語です。


---
#### 不便なので、man コマンドを日本語化

##### 日本語化するためのパッケージを確認:

```
$ yay -Ss man-pages-ja

aur/man-pages-ja-git 20170510.55e1091-1 (+1 0.00%) 
    Man pages for Japanese(git version)

aur/man-pages-ja 20200115-1 (+7 0.00%) 
    Man pages for Japanese
```
→AUR に2つのパッケージがあります。
（日本語化されるのは、通常のLinux コマンドが多いです。今回の知りたいコマンドの日本語化は未登録でした。なので、インストールするかはお任せします。）

ちなみに、**AUR** とは、公式リポジトリの中の、community リポジトリの候補のパッケージのこと。逆に言うとAUR が昇進する（信用が増す）とcommunity リポジトリに登録されます。誰でもアプリを作れるシステムなわけで、便利だけど何かしらのリスクがあるかもしれないレベル。いっぱい使ってもらって信用を得ないと公式リポジトリには登録されません。そして、未サポートなので使うのは自己責任。

こういう開かれたシステムがあると、ある程度スキルがあるなら、頑張りがいがあって、参加したくなりますよね。スキルないけど…。

##### 試しに、インストール:

```
$ yay -S man-pages-ja
```
→「/usr/share/man/**ja_JP.utf8**/」フォルダに日本語マニュアルが入りました。大文字小文字に注意。

または、

```
$ yay -S man-pages-ja-git
```
→「/usr/share/man/**ja_JP.UTF8**/」フォルダに日本語マニュアルが入りました。大文字小文字に注意。

使い方は同じ。更新日付は違うけど、違いがわかりません。落ちる場所が違うくらい。もしかしたら、日本語化されているコマンドが違うかも。

---
参考: git バージョンの方はダウンロードしてのビルドも可能。

AUR の[man-pages-ja-git]
(https://aur.archlinux.org/packages/man-pages-ja-git) にアクセス。右にある「Package Action」の「Download snapshot」をクリック→「ファイルを保存する」→ダウンロード。

展開して、AUR パッケージのビルドのやり方（cd して、makepkg -s）でインストール。そのパッケージをyay でインストールの確認とか、削除ができるので、これら（ビルド操作）を自動化するのがyay だと思えばいいみたい。ダウンロードするとビルド前のファイルが手に入る（いじれる）のが利点かな。


---
##### Linux のコマンドのマニュアルを表示:

```
$ man sudo
```
→日本語で表示。「スペース」で改ページ。「q」で終了。

```
$ LANG=C man sudo
```
→英語で表示したいときに使えます。

---
##### 目的のコマンドのマニュアルを表示:

```
$ man pacman
```
→英語のままです。

```
$ man yay
```
→英語のままです。

---
##### 置かれている場所を確認:

```
$ whereis sudo.8.gz
sudo.8: /usr/share/man/man8/sudo.8.gz

$ ls /usr/share/man/ja_JP.utf8/man8/sudo.8.gz
/usr/share/man/ja_JP.utf8/man8/sudo.8.gz
```
→日本語マニュアルが置かれています。

```
$ whereis pacman.8.gz
pacman.8: /usr/share/man/man8/pacman.8.gz

$ ls /usr/share/man/ja_JP.utf8/man8/pacman.8.gz
ls: '/usr/share/man/ja_JP.utf8/man8/pacman.8.gz' にアクセスできません: そのようなファイルやディレクトリはありません
```

```
$ whereis yay.8.gz
yay.8: /usr/share/man/man8/yay.8.gz

$ ls /usr/share/man/ja_JP.utf8/man8/yay.8.gz
ls: '/usr/share/man/ja_JP.utf8/man8/yay.8.gz' にアクセスできません: そのようなファイルやディレクトリはありません
```
→どちらも英語マニュアルはあるけど、日本語マニュアルは置かれていません。せっかくインストールしたけど未登録みたい。


---
#### ブラウザで、日本語マニュアルを確認

[Arch Linux の man ページ (日本語訳)]
(https://man.kusakata.com/) から抜粋:

[pacman (8)]
(https://man.kusakata.com/man/pacman.8.html)

yay (8) →未登録（サポート外なので登録されるかは不明）

一部ですが日本語化されています。ありがたいです。しかし、コマンドのパラメータは確認できますが、具体的な使用法（組み合わせて使う使い方）は、紹介記事等を検索するしかないみたい。

---
参考:

[Debian マニュアルページのセクション]
(https://manpages.debian.org/buster/manpages-ja/man-pages.7.ja.html) より一部抜粋:

ちなみに、数字はセクション番号です。
習慣的に以下のような定義が用いられています:

```
1. 実行プログラムまたはシェルコマンド

2. システムコール（カーネルが提供する関数）

3. ライブラリコール（プログラムライブラリーに含まれる関数）

4. スペシャルファイル (デバイス)
    /dev 以下にあるファイル。

5. ファイルのフォーマットと慣習
    /etc/passwd などの人が読めるファイルのフォーマット。

6. ゲーム

7. 概要、規則、その他
    様々な事柄の概要、慣習、プロトコル、文字集合の規格、その他雑多なこと。

8. システム管理コマンド（通常は root 用）

9. カーネルルーチン （非標準）
```

例えば、今回の実体は、man8/pacman.8.gz ファイルです。

コマンドでは、下記のように使われます。man フォルダは複数（man0〜9）あって同じコマンド名（トピック）の登録があるときは、内容が違うので、欲しい方の番号を指定するようです。

```
$ man pacman
```
もしくは、

```
$ man 8 pacman
```
→（man8/pacman.8.gz ファイルの参照）

これだとわかりづらいですが、例えば、chmod コマンドだと:

```
$ man 1 chmod
```
→chmod ユーザコマンドの表示を指示。（man1/chmod.1.gz ファイルの参照）

```
$ man 2 chmod
```
もしくは、以下のような書式でもOK です:

```
$ man chmod.2
```
→システムコールの表示を指示。（man2/chmod.2.gz ファイルの参照）

と使用目的で指示できます。


---
Linux システムのマニュアルページのセクション 2 のページのほとんどと、セクション 3, 4, 5, 7 の多くのページが、[Linux man-pages プロジェクト](https://www.kernel.org/doc/man-pages/) により提供されています。
また、日本語ページは、[JM Project](https://linuxjm.osdn.jp/) により公開されています。

ちなみに、man ページを書いたり、翻訳するときは、
[man ページを書く際の決まり事 ](https://manpages.debian.org/buster/manpages-ja/man-pages.7.ja.html) 、および、[man ページを整形するマクロ ]
(https://manpages.debian.org/buster/manpages-ja/man.7.ja.html) が参考になります。



---
### Arch Linux (Manjaro) のコマンドの紹介


#### パッケージリストを強制的に更新

```
$ sudo pacman -Syy

[sudo] USER_NAME のパスワード:
:: パッケージデータベースの同期中...
 core         169.2 KiB   122 KiB/s 00:01 [##############################################] 100%
 extra       1987.6 KiB   145 KiB/s 00:14 [##############################################] 100%
 community      5.8 MiB   116 KiB/s 00:51 [##############################################] 100%
 multilib     193.3 KiB  41.0 KiB/s 00:05 [##############################################] 100%
```


---
#### 全てのパッケージをアップデート

```
$ sudo pacman -Syu

[sudo] USER_NAME のパスワード:
:: パッケージデータベースの同期中...
 core は最新です
 extra        1987.6 KiB  92.2 KiB/s 00:22 [##############################################] 100%
 community       5.8 MiB  36.6 KiB/s 02:42 [##############################################] 100%
 multilib は最新です
:: システム全体の更新を開始...
依存関係を解決しています...
衝突するパッケージがないか確認しています...

パッケージ (1) libinput-1.15.2-1.1

合計ダウンロード容量:  0.24 MiB
合計インストール容量:  0.88 MiB
最終的なアップグレード容量:  0.00 MiB

:: インストールを行いますか？ [Y/n] Y
:: パッケージを取得します...
 libinput-1.15.2-1.1-x86_64  241.7 KiB   173 KiB/s 00:01 [##############################################] 100%
(1/1) キーリングのキーを確認                             [##############################################] 100%
(1/1) パッケージの整合性をチェック                        [##############################################] 100%
(1/1) パッケージファイルのロード                          [##############################################] 100%
(1/1) ファイルの衝突をチェック                           [##############################################] 100%
(1/1) 空き容量を確認                                   [##############################################] 100%
:: パッケージの変更を処理しています...
(1/1) 更新 libinput                                  [##############################################] 100%
:: トランザクション後のフックを実行...
(1/2) Reloading device manager configuration...
(2/2) Arming ConditionNeedsUpdate...
```
→たまたま、更新がひとつありました。


---
#### パッケージの検索:

例. パッケージ: yay

```
$ pacman -Ss yay

community/pacui 1.12-1
    Bash script providing advanced Pacman and Yay/Pikaur/Aurman/Pakku/Trizen/Pacaur functionality in a simple UI
community/pacui-git r943.6da718f-1
    Bash script providing advanced Pacman and Yay/Pikaur/Aurman/Pakku/Trizen/Pacaur functionality in a simple UI
community/ruby-yard 0.9.14-3
    YARD is a Ruby Documentation tool. The Y stands for "Yay!"
community/yay 9.4.4-1 [インストール済み]
    Yet another yogurt. Pacman wrapper and AUR helper written in go.
```


---
#### パッケージの詳細表示:

例. パッケージ: yay

```
$ pacman -Si yay

リポジトリ             : community
名前                   : yay
バージョン             : 9.4.6-1
説明                   : Yet another yogurt. Pacman wrapper and AUR helper written in go.
アーキテクチャ         : x86_64
URL                    : https://github.com/Jguer/yay
ライセンス             : GPL
グループ               : なし
提供                   : なし
依存パッケージ         : pacman>=5.2  sudo  git
提案パッケージ         : なし
衝突パッケージ         : なし
置換パッケージ         : なし
ダウンロード容量       : 2.17 MiB
インストール容量       : 6.26 MiB
パッケージ作成者       : Helmut Stult <helmut@manjaro.org>
ビルド日時             : 2020年03月01日 03時19分22秒
検証方法               : MD5 Sum  SHA-256 Sum  署名
```
もしくは、

```
$ yay -Si yay

リポジトリ             : community
名前                   : yay
バージョン             : 9.4.6-1
説明                   : Yet another yogurt. Pacman wrapper and AUR helper written in go.
アーキテクチャ         : x86_64
URL                    : https://github.com/Jguer/yay
ライセンス             : GPL
グループ               : なし
提供                   : なし
依存パッケージ         : pacman>=5.2  sudo  git
提案パッケージ         : なし
衝突パッケージ         : なし
置換パッケージ         : なし
ダウンロード容量       : 2.17 MiB
インストール容量       : 6.26 MiB
パッケージ作成者       : Helmut Stult <helmut@manjaro.org>
ビルド日時             : 2020年03月01日 03時19分22秒
検証方法               : MD5 Sum  SHA-256 Sum  署名
```
→同じように使えます。重要なのは「依存パッケージ」


---
#### パッケージのインストール:

例. パッケージ: yay

```
$ sudo pacman -S yay
```


---
#### パッケージの削除:

例. パッケージ: yay

```
$ sudo pacman -R yay
```


---
#### パッケージの削除（依存パッケージも同時に削除）:

例. パッケージ: yay

```
$ sudo pacman -Rs yay
```


---
#### 応用として、フォントのインストールについて


##### インストールされているフォントの確認:

```
$ pacman -Ss fonts | grep インストール済み

extra/adobe-source-code-pro-fonts 2.030ro+1.050it-5 [インストール済み]
extra/cantarell-fonts 1:0.201-1 [インストール済み]
extra/gsfonts 20180524-2 [インストール済み]
extra/noto-fonts 20190926-4 [インストール済み]
extra/noto-fonts-cjk 20190409-1 [インストール済み]
extra/ttf-bitstream-vera 1.10-12 [インストール済み]
extra/xorg-font-util 1.3.2-1 (xorg-fonts xorg) [インストール済み]
extra/xorg-fonts-alias 1.0.3-2 [インストール済み]
extra/xorg-fonts-encodings 1.0.5-1 (xorg-fonts xorg) [インストール済み]
extra/xorg-mkfontscale 1.2.1-2 (xorg-apps xorg) [インストール済み]
community/ttf-droid 20121017-7.2 [インストール済み]
community/ttf-indic-otf 0.2-9 [インストール済み]
community/ttf-liberation 2.1.0-1 [インストール済み]
```


---
##### 公式リポジトリにあるフォントのインストール:

- 参考: さざなみフォント 

```
$ sudo pacman -Sy ttf-sazanami
```
→18.1.0 で、インストーラの起動前に実行すると、日本語が豆腐文字になることを回避できました。公式リポジトリに登録され、コンパクトなのが利点。しかし、きれいなフォントではありません。


---
##### AUR にあるフォントのインストール

- 参考: ttf-kochi-substitute

```
$ sudo yaourt -S ttf-kochi-substitute
```
AUR のパッケージのインストールに、今まで使えていた上記の「yaourt」が使えなくなりました。公式リポジトリに登録がなく、インストールできません。別のコマンド「yay」が必要です。このコマンドは「yaourt」に近づけてあり、ほとんど同じ使い方ができるので移行しやすいです。

```
$ yay -Ss ttf-kochi
aur/ttf-kochi-substitute 20030809-5 (+59 0.00%) 
    High quality Japanese TrueType fonts
```
→このフォントは、公式リポジトリに登録がなく、AUR にあります。

```
$ yay -S ttf-kochi-substitute
```
→インストールしたら、ブラウザのひらがなが汚くなりました。きれいなフォントではありません。アンインストールしたら、元のきれいな文字（ひらがな）に戻りました。


---
### yay について

参考:

[yaourtの使い方 | Arch Linux, yaourt, AUR, オプション, パッケージ管理]
(https://www.archlinux.site/2014/12/yaourt-arch-linux-yaourt-aur.html) 

[Arch Linux : AURヘルパー「yay」を試す]
(https://slacknotebook.com/testing-out-arch-linux-aur-helper-yay/)

[yayの導入]
(https://qiita.com/yamad_linuxer/items/11f114a22f73e3aab502)

Arch Linux には、「community リポジトリ」に登録前の未承認のアプリをインストールできるツールがあります。

ユーザが作った「[PKGBUILD](https://wiki.archlinux.jp/index.php/PKGBUILD) 」スクリプトに従い、インストールを行うツールで「[AUR ヘルパー](https://wiki.archlinux.org/index.php/AUR_helpers) 」と呼ばれます。

今まで使われていた「yaourt」(ヨーグルト) は、公式リポジトリから消えたので、代わりに「yay」が使われそう。使うにはインストールが必要です。未サポートです。

Manjaro Xfce 19.0.1 では、「yay」は公式リポジトリに登録されていて、pacman でインストールできました。


---
#### 「yay」のインストール:

##### Manjaro Xfce 19.0.1 の場合:

```
$ sudo pacman -S yay
```

##### 上記以外ではじかれる場合:

作業用に、~/Git/ フォルダ作成

```
$ cd ~/Git/
$ sudo pacman -S base-devel git go
$ git clone https://aur.archlinux.org/yay.git
$ cd yay/
$ makepkg -si
```

- 「yay」は、sudo を付けずに、一般ユーザで実行します。


---
#### yay で、AUR を含んだ全てのパッケージを更新:

```
$ yay -Syu
```
または、

```
$ yay

[sudo] ubn のパスワード:
:: パッケージデータベースの同期中...
 core は最新です
 extra は最新です
 community は最新です
 multilib は最新です
:: システム全体の更新を開始...
 何も行うことがありません
:: Searching databases for updates...
:: Searching AUR for updates...
 there is nothing to do
```

---
#### yay で、AUR の全てのパッケージを更新:

```
$ yay -Syua

:: Searching AUR for updates...
 there is nothing to do
```
-a (--aur) でAURリポジトリを指示。-a オプションはpacman には用意されていません。


---
#### yay で、パッケージリストのみ更新:

```
$ yay -Sy

:: パッケージデータベースの同期中...
 core は最新です
 extra は最新です
 community は最新です
 multilib は最新です
```

---
#### yay で、パッケージリストを強制的に更新:

```
$ yay -Syy

:: パッケージデータベースの同期中...
 core          170.0 KiB   222 KiB/s 00:01 [##############################################] 100%
 extra        1991.7 KiB  1119 KiB/s 00:02 [##############################################] 100%
 community       5.8 MiB   979 KiB/s 00:06 [##############################################] 100%
 multilib      193.3 KiB   744 KiB/s 00:00 [##############################################] 100%
```

---
#### yay で、システム情報を表示:

```
$ yay -Ps

Yay version v9.4.4
===========================================
Total installed packages: 1186
Total foreign installed packages: 1
Explicitly installed packages: 318
Total Size occupied by packages: 6.4 GiB
===========================================
Ten biggest packages:
linux-firmware: 520.8 MiB
libreoffice-still: 398.9 MiB
noto-fonts-cjk: 294.4 MiB
firefox: 185.8 MiB
thunderbird: 156.7 MiB
gcc-libs: 149.6 MiB
linux54: 141.7 MiB
gcc: 139.3 MiB
gimp: 111.4 MiB
lib32-gcc-libs: 106.0 MiB
===========================================
:: Querying AUR...
```

→インストールされたパッケージの統計とか、インストールされた容量の大きいファイルを大きい順に10個表示します。


---
#### yay で、パッケージの検索、および、確認:

インストール前:

```
$ yay -Ss ttf-kochi

aur/ttf-kochi-substitute 20030809-5 (+59 0.00%) 
    High quality Japanese TrueType fonts
```
→AUR にあるフォントと確認できます。(Installed)と書かれていないので、まだインストールされていません。

---
#### 気になったパッケージの詳細を確認:

```
$ yay -Si ttf-kochi-substitute
:: Querying AUR...
Repository      : aur
Name            : ttf-kochi-substitute
Keywords        : None
Version         : 20030809-5
Description     : High quality Japanese TrueType fonts
URL             : http://sourceforge.jp/projects/efont/
AUR URL         : https://aur.archlinux.org/packages/ttf-kochi-substitute
Groups          : None
Licenses        : custom
Provides        : None
Depends On      : fontconfig  xorg-font-utils
Make Deps       : None
Check Deps      : None
Optional Deps   : None
Conflicts With  : None
Maintainer      : aksr
Votes           : 59
Popularity      : 0.000042
First Submitted : Sun 06 Aug 2006 02:12:28 AM JST
Last Modified   : Mon 06 Jul 2015 04:08:54 PM JST
Out-of-date     : No
```

---
#### yay で、パッケージのインストール:

起動のしかたはあるけど、応答のしかたは見つからないので試行錯誤しました。

途中で「差分の表示」？ らしきことを聞いてくるけど、何の質問かがわかりません。どうせメッセージがいっぱい表示されているのだから、省略せずに、もっとわかりやすい言葉で聞いてほしい。とりあえず「I」を入れました。

```
$ yay -S ttf-kochi-substitute

:: Checking for conflicts...
:: Checking for inner conflicts...
[Aur: 1]  ttf-kochi-substitute-20030809-5

:: Downloaded PKGBUILD (1/1): ttf-kochi-substitute
  1 ttf-kochi-substitute      (Build Files Exist)
→ビルドファイルが存在する

==> Diffs to show?
→「差分の表示」？ 質問がわかりません。
==> [N]one [A]ll [Ab]ort [I]nstalled [No]tInstalled or (1 2 3, 1-3, ^4)
==> I
:
==> 作成完了: ttf-kochi-substitute 20030809-5 (2020年03月02日 01時42分12秒)
==> Cleaning up...

[sudo] USER_NAME のパスワード:
sudo: パスワードの読み込みがタイムしました
```
→時間がかかりそうなので、コマンドを入れて放っていたら終わっていました。途中でパスワードの入力を聞いてくるみたい。

---
#### パッケージのインストール、やり直し:

2回めは「I」は受け付けてもらえないので「N」と応答しました。

```
$ yay -S ttf-kochi-substitute

:: Checking for conflicts...
:: Checking for inner conflicts...
[Aur: 1]  ttf-kochi-substitute-20030809-5

  1 ttf-kochi-substitute       (Build Files Exist)  
→ビルドファイルが存在する

==> Packages to cleanBuild?
==> [N]one [A]ll [Ab]ort [I]nstalled [No]tInstalled or (1 2 3, 1-3, ^4)
→質問がわからないので、当てずっぽう。
==> I

:: PKGBUILD up to date, Skipping (1/1): ttf-kochi-substitute
  1 ttf-kochi-substitute       (Build Files Exist)   
→ビルドファイルが存在する

==> Diffs to show?
→「差分の表示」？ 質問がわかりません。
==> [N]one [A]ll [Ab]ort [I]nstalled [No]tInstalled or (1 2 3, 1-3, ^4)
→はじかれたので、
==> N

:: Parsing SRCINFO (1/1): ttf-kochi-substitute
==> パッケージを作成: ttf-kochi-substitute 20030809-5 (2020年03月02日 02時40分09秒)
==> ソースを取得...
  -> kochi-substitute-20030809.tar.bz2 を見つけました
==> source で md5sums ファイルを検証...
    kochi-substitute-20030809.tar.bz2 ... 成功
==> source で sha1sums ファイルを検証...
    kochi-substitute-20030809.tar.bz2 ... 成功
==> source で sha256sums ファイルを検証...
    kochi-substitute-20030809.tar.bz2 ... 成功
==> パッケージを作成: ttf-kochi-substitute 20030809-5 (2020年03月02日 02時40分12秒)
==> ランタイムの依存関係を確認...
==> ビルドタイムの依存関係を確認...
==> ソースを取得...
  -> kochi-substitute-20030809.tar.bz2 を見つけました
==> source で md5sums ファイルを検証...
    kochi-substitute-20030809.tar.bz2 ... 成功
==> source で sha1sums ファイルを検証...
    kochi-substitute-20030809.tar.bz2 ... 成功
==> source で sha256sums ファイルを検証...
    kochi-substitute-20030809.tar.bz2 ... 成功
==> 既存の $srcdir/ ディレクトリを削除...
==> ソースを展開...
  -> kochi-substitute-20030809.tar.bz2 を bsdtar で展開
==> ソースの準備ができました。
==> パッケージを作成: ttf-kochi-substitute 20030809-5 (2020年03月02日 02時40分18秒)
==> ランタイムの依存関係を確認...
==> ビルドタイムの依存関係を確認...
==> 警告: 既存の $srcdir/ ツリーを使用
==> ソースの準備ができました。
==> ttf-kochi-substitute-20030809-5 already made -- skipping build
[sudo] USER_NAME のパスワード:

パッケージをロード...
依存関係を解決しています...
衝突するパッケージがないか確認しています...

パッケージ (1) ttf-kochi-substitute-20030809-5

合計インストール容量:  16.71 MiB

:: インストールを行いますか？ [Y/n] 
(1/1) キーリングのキーを確認                                                     [##############################################] 100%
(1/1) パッケージの整合性をチェック                                               [##############################################] 100%
(1/1) パッケージファイルのロード                                                 [##############################################] 100%
(1/1) ファイルの衝突をチェック                                                   [##############################################] 100%
(1/1) 空き容量を確認                                                             [##############################################] 100%
:: パッケージの変更を処理しています...
(1/1) インストール ttf-kochi-substitute                                          [##############################################] 100%
Updating font cache... done.
:: トランザクション後のフックを実行...
(1/4) Arming ConditionNeedsUpdate...
(2/4) Updating fontconfig cache...
(3/4) Updating 32-bit fontconfig cache...
(4/4) Updating X fontdir indices...
```
→インストールが終わりました。

---

調べてみたら、

- CleanBuild（クリーンビルド）:
→「新しい変数がエクスポートされてビルドプロセスが失敗しないことを意味しています。」とありましたが、意味不明。

- Diffs to show?:
→「Give the option to show diffs for build files」の略だとすると、「ビルドファイルの差分を表示するオプションを指定します」となるけど、これだと、応答例が変？。Y/N になりそうなんだけど。違うのかな。単に共通の入力ルーチンを使って手を抜いているだけだったりして。

それとも、上の行と、下の応答例は関係がなかったりして…。


---
#### yay で、パッケージの検索、および、確認。

公式リポジトリとAURの両方を検索してくれます。

インストールされているか確認:

```
$ yay -Ss ttf-kochi

aur/ttf-kochi-substitute 20030809-5 (+59 0.00%) (Installed)
    High quality Japanese TrueType fonts
```
→(Installed) と表示されました。
高品質と書かれていますが、このフォントをインストールした途端、ブラウザのひらがなが汚くなりました。


---
#### パッケージを削除

$ yay -R `<package>`


---
#### `<package>` のみが依存しているパッケージもまとめて削除

$ yay -Rs `<package>`


```
$ yay -Rs ttf-kochi-substitute

[sudo] ubn のパスワード:
依存関係を確認しています...

パッケージ (1) ttf-kochi-substitute-20030809-5

合計削除容量:  16.71 MiB

:: 以上のパッケージを削除しますか？ [Y/n] Y
:: パッケージの変更を処理しています...
(1/1) 削除 ttf-kochi-substitute                                                  [##############################################] 100%
Updating font cache... done.
:: トランザクション後のフックを実行...
(1/4) Arming ConditionNeedsUpdate...
(2/4) Updating fontconfig cache...
(3/4) Updating 32-bit fontconfig cache...
(4/4) Updating X fontdir indices...
```
→アンインストール後、汚かったブラウザのひらがながきれいになりました。


---
#### 依存関係から外れたパッケージを削除:

apt でいう autoremove です。

```
$ yay -Yc

[sudo] USER_NAME のパスワード:
依存関係を確認しています...

パッケージ (1) expect-5.45.4-1

合計削除容量:  0.40 MiB

:: 以上のパッケージを削除しますか？ [Y/n] Y
:: パッケージの変更を処理しています...
(1/1) 削除 expect                                  [######################] 100%
:: トランザクション後のフックを実行...
(1/1) Arming ConditionNeedsUpdate...
```
または、

```
$ yay -Qdt
```

---
##### 設定変更

yay の設定変更は「~/.config/yay/config.json」というファイルに格納されます。このファイルを編集すれば設定変更ができるみたい。置かれていないので自分で作るのかな。

```
$ ls -1a ~/.config/yay/
.
..
```

---
##### PKGBUILD を編集するオプションを表示 （未確認）

```
$ yay --editmenu --save
```
--editmenu
PKGBUILD の編集をするかどうかのダイアログがデフォルトでは表示されなくなったので、それを表示させる指示。

--save
その設定を保存するコマンド。
毎回 --editmenu オプションを追加する必要がなくなるみたい。

→現在、余計なメッセージは表示して欲しくないので未実行。なので、未確認。


---
#### 公式リポジトリ以外からインストールしたパッケージを検索

```
$ pacman -Qm

gksu-polkit 0.0.3-2
notepadqq-git 2.0.0.beta.r5.g5553c0be-1
xf86-input-keyboard 1.9.0-3
xf86-input-mouse 1.9.3-1
```

もしくは、

```
$ yay -Qm
```
→「--foreign」の省略形
ダウンロードしてビルドされたパッケージ。AUR の場合が多いです。

ちなみに、gksu-polkit、 xf86-input-keyboard、xf86-input-mouse は、yay -Ss では表示されません。現在のリポジトリに存在しません。ドライバーだったりするので、削除は危険です。

また、pamac-manager で検索すれば、インストールしたものが表示できるので、元の手がかり(URL) がわかります。


---
#### 逆に、公式リポジトリからインストールしたパッケージを検索

```
$ pacman -Qn | less

a52dec 0.7.4-10
aalib 1.4rc5-13
:
zsh-syntax-highlighting 0.6.0-1
zstd 1.4.4-1
zvbi 0.2.35-3
```
→「--native」の省略形
多すぎるのでless に渡しました。
（「スペース」キーで次のページ、「q」で終了）


---
#### 公式リポジトリからインストールした「geany」を検索

```
$ pacman -Qn | grep geany
                                                                        
geany 1.36-1
geany-plugins 1.36-3
```



---
### あとがき

yay はコマンドが新しいせいか、yay のインストールのしかたとか、簡単な使い方ぐらいしか検索では、ヒットしません。ほとんどが以前と同じコマンドでよいのですが、微妙に（聞いてくるメッセージなどが）違ったりします。

そのうちに、参考にできそうな投稿があるといいですね。



（[次の投稿に続く]
(https://qiita.com/FuRuYa7/items/dde02075f3ff69db974a)）


---

今までの**投稿一覧**は 「[ここ](https://qiita.com/FuRuYa7/items/f82312cd7670408dfa8b#%E6%8A%95%E7%A8%BF%E4%B8%80%E8%A6%A7) 」


-