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
KVMのコンソールに接続する@RHEL6 on Fedora14 KVM

KVM上で仮想OSを動かしている場合、コンソールに接続するには、少し設定を変更す …

no image
screenコマンド@cygwin with ck

cygwinのターミナルck上でscreenを使用しようとすると、デタッチ後にア …

no image
Windows bashを使ってみた

Windows10 の Anniversary Updateで、Ubuntu が …

no image
dnsmasqでDNSサーバを立ててWindowsから参照させる

Linuxサーバ上にdnsmasqで DNSサーバ立てて、自宅内のサーバの名前解 …

no image
デフォルトサーバ証明書の更新 @ CentOS 4

インストール時に自動的にインストールされるApacheのSSLの証明書を更新する …

no image
akamaitechnologies.comってなに??

ふとWindowsでnetstatを叩くと、akamaitechnologies …

no image
異なるポート間でポートフォワーディング@NEC Aterm のルーター

NEC Aterm系のルーターは、ポートマッピングという機能があります。 通常の …

no image
シェルで2進数、8進数、10進数、16進数変換@bash

シェルスクリプトで2進数や16進数を扱う方法です。 まずは、bc コマンドを使っ …

no image
Windows7 – 非ページ プール割り当ての制限に達したため、サーバーはシステムの非ページ プールから割り当てることができませんでした

Windows7 でファイルの共有(ファイルサーバー)をしていると以下のエラーが …

no image
vimでBackSpaceが効かない@Cygwin

Cgywin上で、BackSpace が効かず、文字が消せない場合は、~/.vi …