Linux あれこれ

Linux 関連(一部 Windows11 )の備忘録です。

Arch: Manjaro で「pacman」と「yay」のコマンド操作〈H53〉

登録日: 2020-05-06 更新日: 2021-06-19

公開されたばかりの「Manjaro Linux Xfce 20.0」をUSB メモリにインストール しました。

Manjaro はデスクトップ環境ですが、やはり、Arch Linux のパッケージ管理のコマンド(pacman とか yay)を覚えておくと便利です。備忘録につき勘違いがあるかもしれません。注意。

-

「目次」

-


参考:

1. Manjaro 公式サイト

2. pacman パッケージ管理マネージャ、およびコマンド(ArchWiki pacman

3. 知っておくべき、基本的なLinux コマンド(ArchWiki Core Utilities

-


1. yay について

Arch Linux には、公式リポジトリのひとつである「community リポジトリ」に登録する前の、未承認の状態のアプリを登録できるAURというしくみ、というかリポジトリがあります。そこに登録されているアプリをインストールするためのツールが「AUR ヘルパー 」です。

AUR ヘルパーは、開発者がアプリのソースと一緒に登録することになっている「PKGBUILD 」というスクリプトに従い、依存関係の解決やビルド、およびインストールを自動で行ってくれる便利なツールです。

AUR ヘルパーのひとつで有力候補の「yay」をインストールしました。

-


「yay」のインストール:

$ sudo pacman -S yay

→Manjaro では公式リポジトリに登録されているのでpacman でインストールできます。Arch Linux ではAUR への登録になるので、pacman でインストールできません。下記の操作が必要です。

-

リポジトリに登録されていないときの「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 を付けずに、一般ユーザで実行できます。

-


2. 実際の操作

-

AUR を含まない全てのパッケージをアップデート

$ sudo pacman -Syu

(--sync --refresh --sysupgrade)

-


AUR を含んだ全てのパッケージをアップデート

$ yay

→パラメータの省略時は「yay -Syu」と同じになります。使いやすくする工夫。

または、

$ yay -Syu

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

→4つの公式リポジトリ以外に、AUR のリポジトリも更新の確認がされています。

-


AUR のパッケージのみを更新:

$ yay -Syua

:: Searching AUR for updates...
 there is nothing to do

(--sync --refresh --sysupgrade --aur )

-a (--aur) でAURリポジトリを指示しています。

pacman ではAUR は扱えないので、-a オプションはpacman には存在しません。

-


パッケージリストのみを更新:

$ yay -Sy

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

(--sync --refresh)

→パッケージリストのみを更新して、システム更新はされません。最新ならリストの更新もありません。

-


パッケージリストのみを強制的に更新:

$ 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%

(--sync --refresh 強制 )

→パッケージリストを強制的に上書きします。yy とすると強制になります。

-


パッケージの検索、および、確認:

インストール前:

$ yay -Ss ttf-kochi

aur/ttf-kochi-substitute 20030809-5 (+59 0.00%) 
    High quality Japanese TrueType fonts

(--sync --search)

→フォントは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

(--sync --info)

→気にすべきは、URL(git やダウンロードできる場所)、Depends On(使用時の依存)、Make Deps(ビルド時の依存)、Out-of-date(メンテ終了となっていないか)

-


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

yay でのパッケージのインストール時の応答のしかたは、オンライン検索で見つかりませんでした。なので、試行錯誤。

大きな気づきは、3つ。

1. クリーンビルドしますか?
==> Packages to cleanBuild?
==> [N]one [A]ll [Ab]ort [I]nstalled [No]tInstalled or (1 2 3, 1-3, ^4)

インストールを中断させて、再インストールすると表示されたので、ビルド前に中間ファイル等をクリーンにしてから、ビルドしますか?だろうと思います。

それにしても、 [N]one 以外の回答例が意味不明。パッケージごとにクリーンにできるのか、単に入力ルーチンが共通なだけなのか。

2. 差分を表示しますか?
==> Diffs to show?
==> [N]one [A]ll [Ab]ort [I]nstalled [No]tInstalled or (1 2 3, 1-3, ^4)

結果を見ると、たぶん、PKGBUILD を「git diff」コマンドで表示しますか? です。

パッケージに応じた番号(複数指定可能)を入れると、その番号に応じたPKGBUILD の内容が表示(差分表示)されます。 →差分といっても、そのほとんどがすべての内容の表示なので、ファイル内をのぞいているのと同じです。どのような処理が実行されるのか予想できます。

閲覧時の操作のしかたは「less」です。「h」としてヘルプを見るとless のヘルプが表示されます。

-


LESS コマンド
「h」     less コマンドのヘルプが表示
「q」     less コマンドのヘルプの終了

「Home」、「g」キーで 先頭
「End」、「G」キーで お尻
「↓」、「e」、「Enter」キーで 1行進む
「↑」、「y」キーで 1行戻る
「スペース」、「f」キーで 次のページ
「b」キーで 前のページ

---

「q」で差分表示を抜けます。

→PKGBUILD の編集もできそうですが、使い方は不明です。 less だと「v」でvi が起動するみたいですが、こちらは不明です。その割に、yay にはエディタを指定するパラメータがあります。

参考:

git diff については下記がわかりやすいです:

git diff よく使う便利オプションまとめ

-

3. 途中でパスワードの入力があります。
==> 作成完了: ttf-kochi-substitute 20030809-5 (2020年03月02日 01時42分12秒)
==> Cleaning up...

[sudo] USER_NAME のパスワード:
sudo: パスワードの読み込みがタイムしました

→インストールに時間がかかりそうなので放っておいたら、タイムアウトで終わっていました。操作注意。

-


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

クリーンビルドは、たぶん「1」または「A」とすればクリアされるのかな?

差分表示は、「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

:
==> ttf-kochi-substitute-20030809-5 already made -- skipping build
[sudo] USER_NAME のパスワード:

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

(--sync)

→インストールが完了しました。

-


pacman で、パッケージの検索

公式リポジトリのみ検索します。

$ pacman -Ss ttf-kochi

$ pacman -Ss ttf-sazanami
community/ttf-sazanami 20040629-10
    Japanese fonts

→ttf-kochi はAUR にあるので表示されません。

-


yay で、パッケージの検索

公式リポジトリとAURの両方から検索します。

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

$ yay -Ss ttf-kochi
aur/ttf-kochi-substitute 20030809-5 (+58 0.00%) 
    High quality Japanese TrueType fonts

$ yay -Ss ttf-sazanami
aur/ttf-sazanami-hanazono 20110504-1 (+2 0.00%) 
    Full CJK and Latin-1 TTF font combining Sazanami-Mincho and Hanazono glyphs
community/ttf-sazanami 20040629-10 (6.3 MiB 17.4 MiB) 
    Japanese fonts

→ttf-kochi のフォントをインストールした途端、ブラウザのひらがなが汚くなりました。

-


パッケージを削除

$ yay -R foo

(--remove)

-


依存するパッケージを同時に削除

$ yay -Rs foo

(--remove --recursive)

-

$ yay -Rs ttf-kochi-substitute
:
パッケージ (1) ttf-kochi-substitute-20030809-5

:: 以上のパッケージを削除しますか? [Y/n] Y

→アンインストールすると、汚かったブラウザのひらがながきれいになりました。

-


yay で、PKGBUILD を編集するオプションを表示したいとき

$ yay --editmenu --save

--editmenu は:

PKGBUILD の編集をするかどうかのダイアログを表示させる指示。

--save は:

その設定を保存するコマンド。 これを入れると、毎回 --editmenu オプションを追加する必要がなくなるみたい。 逆に、--save を入れなければ、今回だけは編集したいときに使えます。

-


yay で、diffメニューが好きでないとき:

$ yay --nodiffmenu --save

-


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

$ pacman -Qn | less

(--query --native)

もしくは、

$ yay  -Qn | less

a52dec 0.7.4-10
aalib 1.4rc5-13
:
zsh 5.8-1
zstd 1.4.4-1
zvbi 0.2.35-3
(END)

→n は「--native」の省略形です。パッケージの表示が多すぎるので「less」に渡しました。 「q」で終了

-


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

この方が速いかも。

$ pacman -Qn | grep geany

→AUR のgeany-git の方を入れたので表示なし。

-


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

$ pacman -Qm

(--query --foreign)

もしくは、

$ yay -Qm

geany-git 1.36.0.r47.gea649d802-1
geany-themes-git 1.22.102.gb77a43c-1

→m は「--foreign」の省略形です。ダウンロードしてビルドされたパッケージ。つまり、AUR の場合が多いです。

中には、yay -Ss では表示されない、つまり現在のリポジトリに存在しない(リポジトリから削除された)パッケージも表示されることがあります。そのときは、「ソフトウェアの追加と削除」(pamac-manager) で検索すれば、インストールしたものが表示できるので、元の手がかり(URL) がわかります。

-


3. yay の設定ファイル

yay の設定変更は「~/.config/yay/config.json」というファイルに格納されるみたい。

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

→ファイルは見当たりません。何か設定を変更しないと作成されないのかな。

-


4. Ubuntu とコマンドを比較してみると、わかりやすい:

Pacman 比較表 より抜粋:

(対象のパッケージ名: foo)

Manjaro(yay) Manjaro(pacman) Ubuntu(apt) 操作
yay -Ss foo pacman -Ss foo apt search foo パッケージを検索
yay -S foo sudo pacman -S foo sudo apt instal fool パッケージをインストール
yay -Rs foo sudo pacman -Rs foo sudo apt remove foo パッケージを削除
yay -Sy sudo pacman -Sy sudo apt update インストールソースの情報を更新
yay sudo pacman -Syu sudo apt update && sudo apt upgrade パッケージを更新
yay sudo pacman -Syu sudo apt update && sudo apt dist-upgrade より複雑なパッケージの更新
yay -Qdtq sudo pacman -Qdtq sudo apt autoremove 必要なくなった依存パッケージを削除
yay -Rs - sudo pacman -Rs - - リポジトリに存在しないパッケージを削除
yay -Sw foo sudo pacman -Sw foo apt install --download-only foo パッケージのダウンロードのみ実行
yay -Si foo pacman -Si foo apt-cache show foo リモートのパッケージの情報を表示
yay -Qi foo pacman -Qi foo dpkg -s foo ローカルのパッケージの情報を表示
yay -Ql foo pacman -Ql foo dpkg -L foo ローカルのパッケージのファイルを表示
yay -Fl foo pacman -Fl foo apt-file list foo リモートのパッケージのファイルを表示
yay -Qo foo-file pacman -Qo foo-file dpkg -S foo-file ファイルがどのパッケージに含まれているか表示
yay -Fo foo-file pacman -Fo foo-file apt-file search foo-file 指定したファイルが含まれているパッケージを表示
yay -Q pacman -Q dpkg -l インストールされたローカルのパッケージとバージョンを表示
yay -Qm pacman -Qm インストールされた外部のパッケージ(AUR含)とバージョンを表示
yay -Qt pacman -Qt - 必要とされていないパッケージを表示
yay -U foo sudo pacman -U foo sudo apt install foo ローカルのパッケージファイルをインストール
sudo makepkg -s foo sudo makepkg -s foo debuild foo パッケージをビルド

pacman は公式リポジトリ(--repo)が対象で、yay はそれに加え非公式のAUR(--aur) も対象です。 yay のコマンドがすべて使えるかは未確認。

-


5. Git で紹介されている操作例

GitHub Jguer/yay より抜粋:

コマンド 説明
yay <検索語> パッケージを検索した一覧からインストール。
yay -Ps システムの統計を表示。
yay -Yc 依存関係から外れたパッケージを削除。
yay -G ABSまたはAURからPKGBUILDをダウンロード。Home に落ちます。
yay -Y --gendb gitパッケージに更新があっても更新されないとき、開発更新に使われる開発パッケージデータベースを生成。
yay -Syu --devel --timeupdate システム更新だけでなく、開発パッケージの更新を確認し、PKGBUILD 変更時間(バージョン番号ではなく)を使って更新。

-

パッケージを検索した一覧からインストール

$ yay geany

27 aur/editorconfig-geany-git r18.9dce3bb-3 (+0 0.00%) 
    EditorConfig plugin for Geany
:
3 aur/geany-themes 1.24-1 (+55 1.33%) 
    A collection of color schemes for Geany.
2 community/geany-plugins 1.36-5 (2.1 MiB 6.6 MiB) 
    Plugins for Geany
1 community/geany 1.36-1 (3.4 MiB 13.1 MiB) 
    Fast and lightweight IDE
==> Packages to install (eg: 1 2 3, 1-3 or ^4)
==> q
There is nothing to do

→検索で出てきたパッケージの一覧から番号を選んでインストールできます。 どれもインストールしないときは、わざと「q」で終わらせています。

数が多すぎるので、「-Ss」で絞り込んでやるのが良さそう。

$ yay geany-themes

2 aur/geany-themes-git 1.22.82.g480a7bd-1 (+25 0.00%) (Installed: 1.22.102.gb77a43c-1)
    A collection of color schemes for geany.
1 aur/geany-themes 1.24-1 (+55 1.28%) 
    A collection of color schemes for Geany.
==> Packages to install (eg: 1 2 3, 1-3 or ^4)
==> q
There is nothing to do

→数字の入れ方で、複数のインストールもできます。

-


システム統計を表示

$ yay -Ps

Yay version v9.4.6
===========================================
Total installed packages: 1192 ←インストールされたパッケージの合計
Total foreign installed packages: 2 ←詳細不明なインストールされたパッケージの合計
Explicitly installed packages: 325 ←明示的にインストールされたパッケージ
Total Size occupied by packages: 6.4 GiB ←パッケージの合計サイズ
===========================================
Ten biggest packages: ←サイズの大きな10個のパッケージ
linux-firmware: 516.3 MiB
libreoffice-still: 398.9 MiB
noto-fonts-cjk: 294.4 MiB
firefox: 187.8 MiB
thunderbird: 156.9 MiB
gcc-libs: 149.6 MiB
linux56: 144.5 MiB
gcc: 139.3 MiB
gimp: 110.7 MiB
lib32-gcc-libs: 106.0 MiB
===========================================
:: Querying AUR...

→インストールされたパッケージの統計とか、インストールされた容量の大きいファイルを大きい順に10個表示します。libreoffice、noto-fonts-cjk、gimp のサイズが大きいことがわかります。

-


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

apt でいう autoremove です。

$ yay -Yc
:
パッケージ (2) doxygen-1.8.17-1  python-docutils-0.16-1
:
:: 以上のパッケージを削除しますか? [Y/n] Y

(--yay --clean)

または、

$ yay -Qdt

(--query --deps --unrequired)

-


PKGBUILDをダウンロード

$ yay -G featherpad-git

:: Querying AUR...
:: Downloaded PKGBUILD (1/1): featherpad-git

(--getpkgbuild)

→ホーム(~/featherpad-git/)に落ちました。

入手した、2つのファイルの内容を確認してみました:

$ cat ~/featherpad-git/.SRCINFO

pkgbase = featherpad-git
    pkgdesc = Lightweight Qt5 plain text editor for Linux
    pkgver = 0.10.0.2.gac3e510
    pkgrel = 1
    url = https://github.com/tsujan/FeatherPad
    arch = i686
    arch = x86_64
    license = GPL3
    makedepends = git
    makedepends = qt5-tools
    depends = qt5-svg
    depends = qt5-x11extras
    depends = hunspell
    depends = desktop-file-utils
    depends = gtk-update-icon-cache
    optdepends = qt5-translations: localized keyboard shortcuts
    provides = featherpad
    conflicts = featherpad
    source = featherpad::git+https://github.com/tsujan/FeatherPad.git
    sha256sums = SKIP

pkgname = featherpad-git

→依存関係を見るならこちらの方が見やすいかも。

-

$ cat ~/featherpad-git/PKGBUILD

# Maintainer: Peter Mattern <pmattern at arcor dot de>

_pkgname=featherpad
pkgname=$_pkgname-git
pkgver=0.10.0.2.gac3e510  ←(現在はダミー化。実際のバージョンは0.12)
pkgrel=1
pkgdesc='Lightweight Qt5 plain text editor for Linux'
arch=('i686' 'x86_64')
url='https://github.com/tsujan/FeatherPad'
license=('GPL3')
depends=('qt5-svg' 'qt5-x11extras' 'hunspell' 'desktop-file-utils' 'gtk-update-icon-cache')
makedepends=('git' 'qt5-tools')
optdepends=('qt5-translations: localized keyboard shortcuts')
provides=("$_pkgname")
conflicts=("$_pkgname")
source=("$_pkgname::git+https://github.com/tsujan/FeatherPad.git")
sha256sums=("SKIP")

pkgver() {
  cd $_pkgname
  git describe --always | sed "s:^V::;s:-:.:g"
}

build() {
  rm -Rf build && mkdir build
  cd build
  qmake $srcdir/$_pkgname/ CONFIG+=debug
  make
}

package() {
  cd build
  make INSTALL_ROOT=$pkgdir install
}

-

コマンドで情報を確認:

$ yay -Si featherpad-git

:: Querying AUR...
Repository      : aur
Name            : featherpad-git
Keywords        : None
Version         : 0.10.0.2.gac3e510-1
Description     : Lightweight Qt5 plain text editor for Linux
URL             : https://github.com/tsujan/FeatherPad
AUR URL         : https://aur.archlinux.org/packages/featherpad-git
Groups          : None
Licenses        : GPL3
Provides        : featherpad
Depends On      : qt5-svg  qt5-x11extras  hunspell  desktop-file-utils  gtk-update-icon-cache
Make Deps       : git  qt5-tools
Check Deps      : None
Optional Deps   : qt5-translations
Conflicts With  : featherpad
Maintainer      : pmattern
Votes           : 7
Popularity      : 0.001273
First Submitted : Thu 06 Oct 2016 12:59:36 AM JST
Last Modified   : Mon 14 Oct 2019 09:49:34 AM JST
Out-of-date     : No

-


開発更新に使われる開発パッケージデータベースを生成

$ yay -Y --gendb

:: Querying AUR...
:: PKGBUILD up to date, Skipping (1/2): geany-themes-git
:: PKGBUILD up to date, Skipping (2/2): geany-git
:: Parsing SRCINFO (1/2): geany-git
:: Parsing SRCINFO (2/2): geany-themes-git
==> Found git repo: github.com/codebrainz/geany-themes.git
==> Found git repo: github.com/geany/geany.git
==> GenDB finished. No packages were installed

→すでにインストールしていたgeany-git の関連がチェックされました。

-


PKGBUILD 変更時間(バージョン番号ではなく)を使用してシステム更新:

$ yay -Syu --devel --timeupdate

[sudo] USER_NAME のパスワード:
:: パッケージデータベースの同期中...
 core                              171.5 KiB   402 KiB/s 00:00 [##################################] 100%
 extra                            2010.9 KiB   812 KiB/s 00:02 [##################################] 100%
 community                           5.9 MiB  2046 KiB/s 00:03 [##################################] 100%
 multilib                          193.0 KiB  1874 KiB/s 00:00 [##################################] 100%
:: システム全体の更新を開始...
:: libwbclient を extra/smbclient に置き換えますか? [Y/n] n ←自己判断はやばそうなので中止。
依存関係を解決しています...
衝突するパッケージがないか確認しています...

パッケージ (68) apparmor-2.13.4-4  audacious-4.0.3-1  audacious-plugins-4.0.3-1  bluez-5.54-2
                bluez-libs-5.54-2  ceph-libs-14.2.8-1  chromaprint-1.5.0-1  cryptsetup-2.3.2-1
                cups-2.3.3-1  fcitx-4.2.9.7-3  firefox-75.0-2  foomatic-db-3:20200428-1  gimp-2.10.18-6
                glew-2.2.0-2  glslang-8.13.3743-1  gnome-desktop-1:3.36.2-1
                gsettings-desktop-schemas-3.36.1-1  gst-plugins-bad-1.16.2-8
                gst-plugins-bad-libs-1.16.2-8  gtk-update-icon-cache-1:3.24.20-1  gtk3-1:3.24.20-1
                gufw-20.04.1-1.1  iana-etc-20200428-1  imagemagick-7.0.10.10-1  json-c-0.14-1
                ldb-1:2.1.1-1  lib32-glew-2.2.0-1  lib32-libva-mesa-driver-20.0.6-2
                lib32-mesa-20.0.6-2  lib32-mesa-vdpau-20.0.6-2  lib32-vulkan-intel-20.0.6-2
                lib32-vulkan-radeon-20.0.6-2  libcups-2.3.3-1  libmypaint-1.5.1-2
                libnm-1.22.11dev+36+g6abf71f05-1  libplacebo-1.29.1-3  libutil-linux-2.35.1-2.1
                libva-mesa-driver-20.0.6-2  licenses-20200427-1  lilv-0.24.8-1  linux56-5.6.8-1
                man-pages-5.06-2  mesa-20.0.6-2  mesa-demos-8.4.0-4  mesa-vdpau-20.0.6-2  ndctl-68-2
                neon-0.31.1-1  networkmanager-1.22.11dev+36+g6abf71f05-1  oath-toolkit-2.6.2-7
                pkgconf-1.6.3-4  polkit-0.116-5.1  s-nail-14.9.19-1  samba-4.12.1-1  serd-0.30.4-1
                shaderc-2020.0-1  smbclient-4.12.1-1  snapd-2.44.5-1  snappy-1.1.8-1  texinfo-6.7-3
                tzdata-2020a-1  util-linux-2.35.1-2.1  vlc-3.0.10-1  vulkan-icd-loader-1.2.137-1
                vulkan-intel-20.0.6-2  vulkan-radeon-20.0.6-2  xapps-1.8.1-1  xfce4-panel-4.14.4-1
                zbar-0.23.1-1

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

:: インストールを行いますか? [Y/n] n ←自己判断はやばそうなので中止。
Error installing repo packages

→削除を聞いてきました。循環依存(お互いに依存)があると、ごっそり変わってしまいそうなので、中止しました。

このあと、多量のシステム更新が来てしまい、 たまたま重なっただけなのか、このコマンドが引き金になったのか? わかりません。

最初に「yay -Syu」でシステム更新してから実行すべきでした。

これではまずいので、すぐに、再起動。

-

パッケージの削除は、システムに任せました:

メニュー→システム→ソフトウェアの追加と削除(pamac-manager) →縦三点→データベースをアップデートする →同期とシステム更新が走ります。

削除されるもの: Libwbclient
インストールするもの: ceph-libs、oath-toolkit、snappy
アップグレードするもの: 多数

→適用

確認:

$ yay -Ss libwbclient
aur/libwbclient-heimdal 4.12.2-1 (+2 1.91%) 
    Samba winbind client library (built for Samba with Heimdal)
aur/lib32-libwbclient 4.10.10-2 (+26 0.04%) 
    Samba winbind client library
extra/smbclient 4.12.1-1 (6.2 MiB 25.9 MiB) (Installed)
    Tools to access a server's filespace and printers via SMB

→smbclient がインストールされています。デフォルトの指定と同じみたい。

再トライのため、事前に更新しておきます:

$ yay

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

再トライ:

$ yay -Syu --devel --timeupdate

:: パッケージデータベースの同期中...
 core は最新です
 extra は最新です
 community は最新です
 multilib は最新です
:: システム全体の更新を開始...
 何も行うことがありません
:: Searching databases for updates...
:: Searching AUR for updates...
:: Checking development packages... ←(チェックが増えてます)
 there is nothing to do

→やはり、たまたま、システム更新と重なったのかな?

-


アップグレードの例外を追加:

アップグレード対象からパッケージを除外するには、/etc/pacman.conf にて、

IgnorePkg=[パッケージ名]

にパッケージ名を追加します。

$ cat /etc/pacman.conf
:
# Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup
#IgnorePkg   =
#IgnoreGroup =

ある特定のパッケージをアップデートさせないようにするには:

IgnorePkg=linux

参考:

[ArchWiki pacman] (https://wiki.archlinux.jp/index.php/Pacman#.E3.82.A2.E3.83.83.E3.83.97.E3.82.B0.E3.83.AC.E3.83.BC.E3.83.89.E3.81.95.E3.81.9B.E3.81.AA.E3.81.84.E3.82.B0.E3.83.AB.E3.83.BC.E3.83.97.E3.82.92.E8.A8.AD.E5.AE.9A)

-


まとめ

yay コマンドは、pacman コマンドとパラメータが同じせいか、インストールのしかたは出てきても、詳細な記事などは出てきません。

yay のインストールコマンドの中でのPKGBUILD の編集方法とか、どうやってネットで検索するのか、検索も難しいですね。(あとで気づいたのですが、「--editmenu」でフラグの解除が必要なのかも。余計なメッセージは要らないので試してません)

どちらにしても、ダウンロードして編集するのが確実です。そして「-U」でインストール。

-

-


目次

先頭

-


-