[Ubuntu][git] git 2.13.0から1.9.1へのダウングレード
仕事の関係でgitのバージョンを最新の2.13.0から1.9.1へダウングレードする必要がでてきてハマったので、そのメモ。
環境はUbuntu 14.04.5です。
gitのバージョンを確認。
$ git --version git version 2.13.0
apt-getでgit 1.9.1に更新できないかやってみる。
$ sudo apt-get update ... $ sudo apt-get install git=1.9.1 パッケージリストを読み込んでいます... 完了 依存関係ツリーを作成しています 状態情報を読み取っています... 完了 E: 'git' のバージョン '1.9.1' が見つかりませんでした
aptではなさそうなので、下記より、git 1.9.1のイメージをダウンロード。
http://packages.ubuntu.com/ja/trusty/amd64/git/download
dpkgコマンドでインストールを試みる。
$ sudo dpkg -i git_1.9.1-1ubuntu0.3_amd64.deb dpkg: 警告: git を 1:2.13.0-0ppa1~ubuntu14.04.1 から 1:1.9.1-1ubuntu0.3 にダウングレードしています (データベースを読み込んでいます ... 現在 251482 個のファイルとディレクトリがインストールされています。) Preparing to unpack git_1.9.1-1ubuntu0.3_amd64.deb ... Unpacking git (1:1.9.1-1ubuntu0.3) over (1:2.13.0-0ppa1~ubuntu14.04.1) ... dpkg: 依存関係の問題により git の設定ができません: git は以下に依存 (depends) します: git-man (<< 1:1.9.1-.) ...しかし: システム上の git-man のバージョン は 1:2.13.0-0ppa1~ubuntu14.04.1 です。 dpkg: error processing package git (--install): 依存関係の問題 - 設定を見送ります 処理中にエラーが発生しました: git
git-manのバージョンがあっていないため、インストールが失敗。
一度、gitをアンインストールしてから、dpkgでインストールを試みてみる。
$ sudo apt-get autoremove git パッケージリストを読み込んでいます... 完了 依存関係ツリーを作成しています 状態情報を読み取っています... 完了 以下のパッケージは「削除」されます: git git-man liberror-perl アップグレード: 0 個、新規インストール: 0 個、削除: 3 個、保留: 116 個。 1 個のパッケージが完全にインストールまたは削除されていません。 この操作後に 22.5 MB のディスク容量が解放されます。 続行しますか? [Y/n] (データベースを読み込んでいます ... 現在 251368 個のファイルとディレクトリがインストールされています。) Removing git (1:1.9.1-1ubuntu0.3) ... Removing git-man (1:2.13.0-0ppa1~ubuntu14.04.1) ... Removing liberror-perl (0.17-1.1) ... Processing triggers for man-db (2.6.7.1-1ubuntu1) ... $ sudo dpkg -i git_1.9.1-1ubuntu0.3_amd64.deb 以前に未選択のパッケージ git を選択しています。 (データベースを読み込んでいます ... 現在 250610 個のファイルとディレクトリがインストールされています。) Preparing to unpack git_1.9.1-1ubuntu0.3_amd64.deb ... Unpacking git (1:1.9.1-1ubuntu0.3) ... dpkg: 依存関係の問題により git の設定ができません: git は以下に依存 (depends) します: liberror-perl ...しかし: パッケージ liberror-perl はまだインストールされていません。 git は以下に依存 (depends) します: git-man (>> 1:1.9.1) ...しかし: パッケージ git-man はまだインストールされていません。 git は以下に依存 (depends) します: git-man (<< 1:1.9.1-.) ...しかし: パッケージ git-man はまだインストールされていません。 dpkg: error processing package git (--install): 依存関係の問題 - 設定を見送ります 処理中にエラーが発生しました: git
autoremoveにより削除された依存関係が問題になって、インストール出来ないようだ。
それぞれを手動インストールしてみる。
$ sudo apt-get install liberror-perl パッケージリストを読み込んでいます... 完了 依存関係ツリーを作成しています 状態情報を読み取っています... 完了 以下の問題を解決するために 'apt-get -f install' を実行する必要があるかもしれません: 以下のパッケージには満たせない依存関係があります: git : 依存: git-man (> 1:1.9.1) しかし、インストールされようとしていません 依存: git-man (< 1:1.9.1-.) しかし、インストールされようとしていません E: 未解決の依存関係です。'apt-get -f install' を実行してみてください (または解法を明示してください)。
ん?なんでgitの依存関係が表示されてる?
試しにgitのバージョンを調べてみる。
$ git --version git version 1.9.1-openssl
なんでや/(^o^)\
もう一度gitをインストールしなおしてから原因を探る。
$ which git /usr/bin/git $ sudo apt-get -f install パッケージリストを読み込んでいます... 完了 依存関係ツリーを作成しています 状態情報を読み取っています... 完了 依存関係を解決しています ... 完了 以下の特別パッケージがインストールされます: git git-man liberror-perl 提案パッケージ: git-daemon-run git-daemon-sysvinit git-doc git-el git-email git-gui gitk gitweb git-arch git-cvs git-mediawiki git-svn 以下のパッケージが新たにインストールされます: git-man liberror-perl 以下のパッケージはアップグレードされます: git アップグレード: 1 個、新規インストール: 2 個、削除: 0 個、保留: 116 個。 1 個のパッケージが完全にインストールまたは削除されていません。 6,115 kB 中 0 B のアーカイブを取得する必要があります。 この操作後に追加で 10.4 MB のディスク容量が消費されます。 続行しますか? [Y/n] y 以前に未選択のパッケージ liberror-perl を選択しています。 (データベースを読み込んでいます ... 現在 251195 個のファイルとディレクトリがインストールされています。) Preparing to unpack .../liberror-perl_0.17-1.1_all.deb ... Unpacking liberror-perl (0.17-1.1) ... Preparing to unpack .../git_1%3a2.13.0-0ppa1~ubuntu14.04.1_amd64.deb ... Unpacking git (1:2.13.0-0ppa1~ubuntu14.04.1) over (1:1.9.1-1ubuntu0.3) ... 以前に未選択のパッケージ git-man を選択しています。 Preparing to unpack .../git-man_1%3a2.13.0-0ppa1~ubuntu14.04.1_all.deb ... Unpacking git-man (1:2.13.0-0ppa1~ubuntu14.04.1) ... Processing triggers for man-db (2.6.7.1-1ubuntu1) ... liberror-perl (0.17-1.1) を設定しています ... git-man (1:2.13.0-0ppa1~ubuntu14.04.1) を設定しています ... git (1:2.13.0-0ppa1~ubuntu14.04.1) を設定しています ... $ git --version git version 2.13.0 $ which git /usr/bin/git $ sudo apt-get autoremove git パッケージリストを読み込んでいます... 完了 依存関係ツリーを作成しています 状態情報を読み取っています... 完了 以下のパッケージは「削除」されます: git git-man liberror-perl アップグレード: 0 個、新規インストール: 0 個、削除: 3 個、保留: 116 個。 この操作後に 31.3 MB のディスク容量が解放されます。 続行しますか? [Y/n] y (データベースを読み込んでいます ... 現在 251479 個のファイルとディレクトリがインストールされています。) Removing git (1:2.13.0-0ppa1~ubuntu14.04.1) ... Removing git-man (1:2.13.0-0ppa1~ubuntu14.04.1) ... Removing liberror-perl (0.17-1.1) ... Processing triggers for man-db (2.6.7.1-1ubuntu1) ... $ which git $ git -bash: /usr/bin/git: No such file or directory $ sudo dpkg -i git_1.9.1-1ubuntu0.3_amd64.deb 以前に未選択のパッケージ git を選択しています。 (データベースを読み込んでいます ... 現在 250610 個のファイルとディレクトリがインストールされています。) Preparing to unpack git_1.9.1-1ubuntu0.3_amd64.deb ... Unpacking git (1:1.9.1-1ubuntu0.3) ... dpkg: 依存関係の問題により git の設定ができません: git は以下に依存 (depends) します: liberror-perl ...しかし: パッケージ liberror-perl はまだインストールされていません。 git は以下に依存 (depends) します: git-man (>> 1:1.9.1) ...しかし: パッケージ git-man はまだインストールされていません。 git は以下に依存 (depends) します: git-man (<< 1:1.9.1-.) ...しかし: パッケージ git-man はまだインストールされていません。 dpkg: error processing package git (--install): 依存関係の問題 - 設定を見送ります 処理中にエラーが発生しました: git $ which git /usr/bin/git $ git --version git version 1.9.1-openssl
git 2.13.0を削除した後にdpkgでgit 1.9.1をインストールすると、インストールが完了していないようにみえるけど、
実はインストールされていて、使えるようになっているようだ。
なんでdpkgでインストールしたところで使えるようになっているかはわからないまま。
ひとまずは問題解決。
ディスカッション
コメント一覧
まだ、コメントがありません