トップ «前の日記(2011-08-12) 最新 次の日記(2011-08-28)» 編集 RDF

雄也の?日坊主日記


2011-08-16

_ [Debian] Ubuntu NattyのunzipパッケージをDebian Squeezeで使う

混在万歳

DebianとUbuntuのパッケージ混在環境にするちょっと危険な紹介

動機

仕事で,日本語のファイル名を持ったファイルを含むZIPファイルをいただくことがある. 日本語のWindowsでZIPファイルを作成すると,cp932の文字エンコーディングでZIPファイルの1エントリが書かれる.そのため,ロカールがja_JP.UTF-8な自分のDebianだとunzipコマンドでの展開時に,いわゆる文字化けが発生する.

Ubuntuだとロカールを見て変換するパッチが当たっているため,ふつうに展開できる. ウェブを探すとDebianを使っている人の中には,以下のような解決策をされているようだ.

  1. 同様にパッチを当ててdebuildする.
  2. そもそもunzipパッケージを使わずに自前で展開するプログラムを書く.

しかしながら,

  1. ビルドするのがめんどくなった.
  2. 暗号化ZIPとかの対応考えると自前プログラムは厳しい.
  3. 他の手段ないだろうか.

というわけで,Ubuntuのパッケージをそのままインストールできるようにして使ってみた.

Ubuntuのパッケージをインストール可能にする

APTのpinning機能を使う

/etc/apt/preferences.d/pinningを作成して,apt-get upgrade時に意図せずUbuntuのパッケージが入ってしまわないようにする.

Package: *
Pin: release a=stable
Pin-Priority: 700

Package: *
Pin: release n=natty
Pin-Priority: 70
apt-lineの追加

以下のようにしてUbuntuのapt-lineを追加する.

% sudo wget https://www.ubuntulinux.jp/sources.list.d/natty.list \
    -O /etc/apt/sources.list.d/ubuntu-ja.list
Ubuntuのパッケージ公開鍵のインポート

改竄チェックのためのGPG公開鍵をインポートする.

% wget -q https://www.ubuntulinux.jp/ubuntu-ja-archive-keyring.gpg -O- \
  | sudo apt-key add -
% wget -q https://www.ubuntulinux.jp/ubuntu-jp-ppa-keyring.gpg -O- \
  | sudo apt-key add -

Ubuntuのunzipパッケージをインストール

準備ができたので,あとは以下のように-tをつけてインストールすればよい.

% sudo aptitude update
% sudo aptitude install -t natty unzip

もうずっとunzipパッケージについてはUbuntu製でいいやという場合は,/etc/apt/preferences.d/pinning_unzipなどとして以下のようなファイルを置くと,-tオプションなしでもUbuntu製のものをインストールするようになる.

Package: unzip
Pin: release n=natty
Pin-Priority: 800

まとめ

  • unzipパッケージみたいに,複雑な依存関係がないパッケージについては,Ubuntuと混在にしても管理可能と考えた.
  • GNOMEデスクトップ環境のような複雑な依存関係があるものや,dpkgやaptのようなパッケージシステムに関するものはやめた方がよいだろう.(というかUbuntuを使えばいいじゃないか)

参考

本日のツッコミ(全8件) [ツッコミを入れる]
_ Johne570 (2014-07-23 20:24)

Hey very cool blog!! Guy.. Beautiful.. Wonderful.. I will bookmark your website and take the feeds additionallyKI am satisfied to search out numerous useful information right here in the publish, we want develop more techniques on this regard, thank you for sharing kbefdadebbdc

_ Pharmg813 (2014-07-24 14:22)

Very nice site!

_ Pharma87 (2014-07-25 22:05)

Very nice site!

_ Pharmf598 (2014-07-27 04:19)

Very nice site!

_ Pharmf866 (2014-07-28 11:54)

Very nice site!

_ Pharma460 (2014-07-29 18:10)

Very nice site!

_ Pharme631 (2014-07-31 00:37)

Very nice site!

_ Pharmk439 (2014-08-01 07:05)

Very nice site!


2004|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|
2006|05|
2007|04|05|09|10|11|
2008|04|05|08|10|11|
2009|02|03|04|05|06|07|08|09|10|11|
2010|02|03|04|07|10|
2011|04|08|
2012|02|10|
2014|05|06|08|
2018|03|
楽天で探す
楽天市場
キーワードから探す
楽天トラベル