vine-users ML アーカイブ



[vine-users:078668] Re: apt-get instal lが出来ない

  • From: Seiichirou Babasaki <mindgear@xxxxxxxxxxxx>
  • Subject: [vine-users:078668] Re: apt-get instal lが出来ない
  • Date: Mon, 18 Aug 2008 16:11:29 +0900
馬場崎です。
投稿を読んでいて、まずは apt ツールの基本動作についての解説が必要と
思い、以下に書きます。
(関係ない話ですが、自分自身、ちょっと懐かしいなぁと感じています。
 linuxビギナーズというムック本を片手にVineLinux-2.6r1を
 インストールし、aptコマンドに感動した記憶がよみがえりますです。)

■ちょっとした事
VineLinux の apt は Debian 由来(だったはず)のパッケージ管理ツールです。
VineLinuxのパッケージはRPMで、Debianでは本来 deb パッケージですが、
VineLinuxの apt は RPMが扱えるようになっているという点が特徴です。
(VineLinuxの apt はそれぞれのメジャーバージョンのVine専用でもあります)
今では本家RedHat(fedora)でも yum という似たようなツールで RPMパッケージを
更新できますが、意味がわかれば使いこなしは工夫次第です。

■動作
aptツールは /usr/bin 以下にあります。
設定ファイルは /etc/apt/ 以下にまとめてあります。通常使用で編集する事があるのは
VineLinuxのリポジトリについてを記述してある
 /etc/apt/sources.list
……だけです。ここの意味は 「データベースファイルの場所」と「有効なグループ」です。

Ringサーバーでも KDDlabでも、実際にその URI を開けばファイルが置いてあります。

このファイルを取り込んで、ファイルの場所や信頼性や依存関係などの情報を更新する
作業が
# apt-get update
……です。
ローカル環境の手元にあるパッケージデータベースが古くて、「ファイルを取りに
行ったら(バージョンナンバーが違ってて)無かった」等がこれにあたります。

さて、外部からシステムに関わるファイルを取り込みますので、保安上の注意という
ものが必要になります。セキュリティのあれこれ、信用に関わる部分です。
暗号鍵の技術が使われていて、先のメールで出ている「gpg key」等の警告がこれと
関係があります。

こうしたものは、狙っているパッケージより先にインストールする必要があります。

■以上を踏まえて

1.root になる
2.パッケージデータベースの更新
  # apt-get update
2.2 キャッシュデータベースもついでに更新(パッケージを探しやすい)
  # apt-cache gencaches
3.システムの更新
  # apt-get upgrade
3.2 保留パッケージや依存関係でひっかかるパッケージがでたら、
  A.リストを控えて個別にインストール。aptが解決できる範囲の依存なら、
    解決してくれる
  B.コンフリクト(衝突)や深刻なエラーっぽいときは、関係していると思われる
    パッケージのアンインストールを試みる。ただし、いきなり実行せずに様子を
    見ること。aptの返すメッセージを良く読んでみる。
  C.GUI環境が使えるなら、synaptic でその他のパッケージと合わせて様子を見て
    判断する。
  D.現在のシステムに異常が無いのなら、とりあえずスキップ(放置)というのも
    賢い判断です。再現性がありそうなら、BTS(バグトラッキング)やUsers-MLに
    報告して、コミュニティに貢献しましょう。
4.導入したいパッケージを探す(任意)
  # apt-cache search キーワード
  パッケージ名や説明文から合致するものを強力に探してくれます。
  ※ もちろん、GUIで synaptic を使っても同様の事が出来ます
5.パッケージを導入する
  # apt-get install パッケージ名
  細かい使いかたは man コマンドなどて調べてください。


※もう少し言葉を足して
流れとしては「データベースを更新」→「現在のシステムを更新」→
その後に「任意のパッケージをインストール or アンインストール」
……と、なると思います。
先の番号リストの1..3までがそれで、毎回定型作業になるかと思います。

これは GUI の synaptic でも似たようなもので、パッケージ情報の
取得をして、更新すべきパッケージがあるなら、済ませてから自分の
作業を行う方が良いかと思います。

で、僕が良くやるのは
 # apt-get update && apt-cache gencaches && apt-get upgrade
……という具合にコマンドをつないで使っています。
(後は任意のroot専用シェルスクリプトにするとか、自動実行に仕込むとか
 root の alias に追加するとか、お好みに合わせて使えます)

■つまりは
「aptコマンドには使う順番がある」という理解が必要だと思います。
まず update、次に upgrade、それから install、と、この順番を守って
実行してみてください。

健闘を祈ります。

-- 
__/__/__/__/__/__/__/__/__/__/__/__/
 ZON or MaruArt. 
>> Babasaki Seiichirou (Jap)
E-Mail  mindgear@xxxxxxxxxxxx
Nokia N800 zon@xxxxxxxxxxxx
__/__/__/__/__/__/__/__/__/__/__/__/