プロジェクト

全般

プロフィール

MSYS2のバージョンを固定する » 履歴 » バージョン 4

開発 次郎, 2025/05/10 12:22

1 3 開発 次郎
%{color:red}だめだ、うまくいかない。
2
パッケージをインストールする前にダウンロードして(保管して)、再利用しようとしても同じ名前でインストールすることができない。
3
例えば、msys2-develというパッケージ名でインストールはできるが、これでローカルインストール(-U)はできない。
4 4 開発 次郎
ひょっとしてインストール(-S)か?
5 3 開発 次郎
%
6
7 1 開発 次郎
h1. MSYS2のバージョンを固定する
8
9
MSYS2にインストールするパッケージは、Linuxと異なり過去のパッケージをインストールすることができない。
10
所望のバージョン、例えば安定版に固定する方法は自分で見つける必要がありそう。
11
ここでは、自分なりの方法を示す。
12
13
h2. MSYS2インストールして最初のフルセットを残しておく
14
15
MSYS2インストーラは、過去のものを残しておいてもあまり意味がない。
16
なぜなら、古いインストーラがあっても、それに対応したパッケージがMSYS2パッケージ・リポジトリからなくなっていることが多いからである。
17
18
MSYS2をインストールして安定版を作る前に、インストール直後の状態を保管しておく。
19
20
p((. ※ MSYS2インストーラは20250221msys64.7zというようなファイルを解凍しているようなので、公式リポジトリからこれがダウンロードできるならインストール直後の状態を保管しておく必要はないが、これがどこにあるのか、現時点(2025/5/10)で分かっていない。
21
22
h3. パッケージ・データベースの更新
23
24
<pre><code class="bash">
25
$ pacman -Sy
26
</code></pre>
27
28
h3. コア・ファイル(仮称)の更新
29
30
<pre><code class="bash">
31
$ pacman -Suw --cachedir [バックアップ先パス]
32
# おそらく次の3種がダウンロードされる。
33
# Packages (3) filesystem-2025.02.23-1  mintty-1~3.7.8-1  msys2-runtime-3.6.1-4
34
$ cd [バックアップ先パス]
35
$ pacman -U filesystem-2025.02.23-1-x86_64.pkg.tar.zst mintty-1~3.7.8-1-x86_64.pkg.tar.zst msys2-runtime-3.6.1-4-x86_64.pkg.tar.zst
36
</code></pre>
37
38
h2. パッケージをインストールする時はダウンロードしたパッケージを保管する
39
40 2 開発 次郎
%{color:red}この方法ではMSYS2ターミナル(mintty)が終了させられなくなる。msys2-runtimeの更新までやった後、ディレクトリをバックアップするのが良いかもしれない。%
41
42 1 開発 次郎
通常パッケージをインストールするときはインターネットからインストールするが、それでは手元にパッケージファイルが残らない。
43
MSYS2にインストールしたパッケージは、MSYS2を作り直すときに再度使いたいので、自分で補完しておく。
44
ゆえに、通常のインストール方法ではなく、次のようにインストールする。
45
46
<pre><code class="bash">
47
$ pacman -Sw --cachedir [バックアップ先パス] [パッケージ名]
48
$ pacman -U [パッケージのパス][パッケージ名]
49
</code></pre>