Mazn.net

やってみて 調べてみて 苦労しなけりゃ 箱は動かじ

すでに同名のdebパッケージがインストールされているか確認する@Ubuntu 14.04

   

リポジトリにはまだ登録されていないパッケージを手動でdpkgを使ってアップデートする時の話。

 

個別にパッケージをダウンロードしたり、自分でパッケージを作成したりした場合、複数のdebパッケージが存在する場合があります。

例えば、aaa_1.1_amd64.deb というパッケージには、aaa-lib_1.1_amd64.deb とか、aaa-dev_1.1_amd64.deb とかが付属することがあります。この時、実際にインストールされているパッケージがaaa_1.0_amd64.debとaaa_1.0_amd64-lib.deb だった場合、アップデート時にaaa_1.1_amd64-dev.deb をインストールする必要は通常ありません。

パッケージが3つの場合、dpkg -l で個別にインストールされているかどうかを確認するのはそれ程手間ではありませんが、ファイルが多いと確認も一苦労です。

RedHat系のrpm では、-Fvh オプションでアップデートすれば、すでにインストール済みのパッケージのみアップデートすることができますが、dpkgだとできそうにありません。こんな時には、シェル一発で確認してみましょう。

例えば、上記を例に、カレントディレクトリに以下の三つのファイルがあるとします。

aaa_1.1_amd64.deb
aaa-lib_1.1_amd64.deb
aaa-dev_1.1_amd64.deb

この時、同名のパッケージがインストールされているかどうかを確認するには、こんな感じのコマンドを叩くだけです。

# for i in `ls *.deb`; do dpkg -l | grep "..  "`echo $i | cut -d "_" -f 1`" " ; done
ii  aaa                      1.0   amd64        aaa
ii  aaa-lib                  1.0   amd64        aaa libraries

これで、アップデートが必要なパッケージはわかりました。

 - IT技術, サーバ構築 , ,

336px

Message

メールアドレスが公開されることはありません。

  関連記事

no image
vncviewerで特定のポートに接続する@Linux

vncのサーバにvncviwerで接続する時に、 $ vncviewer サーバ …

no image
ネットワーク遅延のシミュレーション@CentOS 5

最近のLinux では、簡単にネットワーク遅延をシミュレーションできるようです。 …

no image
Javaアプリの日本語文字化け対策

Linux上のSunのJVMで、GUIアプリを動かすと文字化けしてしまいます。 …

no image
Cygwinでscreenコマンドが使えなくなる@Windows 10

Windows 10 上のCygwin (64bit版使用)で、screen コ …

no image
Windowsで円マーク”¥”をバックスラッシュ”\” で表示する

Windowsのフォントは、”¥”を”¥&# …

no image
Git 最低限の設定@CentOS 5

分散型バージョン管理システムgit をCentOS 5上で使ってみた。 まずCe …

uvtoolで簡単にクラウドイメージ取得・起動@Ubuntu 14.04 LTS

Ubuntuのサイトにいろいろとクラウド用のイメージがありますが、uvtoolと …

no image
DockerHubのイメージのタグ一覧をコマンドで取得する

docker コマンドでタグを指定せずにコンテナイメージをpullすると、lat …

no image
NICのデバイス名が変わった時の対処 @ RHEL6

RHEL6のKVMイメージをコピーして、同じ環境を作ろうとしたところ、eth? …

no image
proxy.pacのデバッグ@Firefox

プロキシ環境では、プロキシ設定を自動化するためにproxy.pacなるものがよく …