ラベル パッケージ管理 の投稿を表示しています。 すべての投稿を表示
ラベル パッケージ管理 の投稿を表示しています。 すべての投稿を表示

2009年2月9日月曜日

APT/インストール

こんにちは、モリモルです。

APT関連のメモが続きます。
APTでパッケージのインストールする場合です。

apt-get [-s] install パッケージ名/Debianバージョン

-sオプションを付けると、実際にはインストールせずに、インストール時にどうなるかを確認できます。


debian:~# apt-get -s install rails
(省略)
The following extra packages will be installed:
irb1.8 liberb-ruby libpgsql-ruby1.8 libpq4 libreadline-ruby1.8 libredcloth-ruby1.8 rake rdoc rdoc1.8 ruby
Suggested packages: <---- 入れたほうがよいパッケージ
libapache2-mod-ruby libapache-mod-ruby libapache2-mod-fcgid libfcgi-ruby1.8
Recommended packages: <---- 入れると便利なパッケージ
irb
The following NEW packages will be installed: <---- 依存パッケージ(APTが自動でインスコ
irb1.8 liberb-ruby libpgsql-ruby1.8 libpq4 libreadline-ruby1.8 libredcloth-ruby1.8 rails rake rdoc rdoc1.8 ruby
0 upgraded, 11 newly installed, 0 to remove and 3 not upgraded.
Inst libreadline-ruby1.8 (1.8.5-4etch4 Debian-Security:4.0/stable)
(省略)
Conf libreadline-ruby1.8 (1.8.5-4etch4 Debian-Security:4.0/stable)
(省略)

Inst ----- パッケージの展開
Conf ----- パッケージの設定
Rmv ----- パッケージの削除


パッケージのDLが途中で終了した場合
再度、「apt-get install パッケージ名」でダウンロードを再開してくれるみたいです。


debian:~# apt-get install rails
Reading package lists... Done
(省略)
Do you want to continue [Y/n]? y
Get:1 http://security.debian.org etch/updates/main libreadline-ruby1.8 1.8.5-4etch4 [197kB]
(省略)
10% [4 irb1.8 65813/236kB 27%] [3 libpq4 38728/290kB 13%]
【DLを中断】


debian:~# ls -l /var/cache/apt/archives/
total 208
-rw-r--r-- 1 root root 3530 Jan 12 2005 liberb-ruby_2.0.4+ruby1.8.2-1_all.deb
-rw-r--r-- 1 root root 197442 Dec 6 22:00 libreadline-ruby1.8_1.8.5-4etch4_i386.deb
【途中までダウンロード済み】


debian:~# apt-get install rails <-----再度インストール
debian:~# ls -l /var/cache/apt/archives/
-rw-r--r-- 1 root root 235540 Dec 6 20:55 irb1.8_1.8.5-4etch4_all.deb
-rw-r--r-- 1 root root 3530 Jan 12 2005 liberb-ruby_2.0.4+ruby1.8.2-1_all.deb
(残りのパッケージもDL)
-rw-r--r-- 1 root root 39354 Oct 17 2006 libpgsql-ruby1.8_0.7.1-10_i386.deb
(省略)
-rw-r--r-- 1 root root 18980 Jan 12 2005 ruby_1.8.2-1_all.deb


パッケージの展開 or 設定に失敗した場合
パッケージの展開で失敗した場合、パッケージの状態がUになります。
設定で失敗した場合は、Cになります。

debian:~# dpkg --list | grep iU
iU irb1.8 1.8.5-4etch4 Interactive Ruby (for Ruby 1.8)
iU liberb-ruby 2.0.4+ruby1.8.2-1 Tiny eRuby
(省略)


dpkg --configure --pending
設定をし直します。

debian:~# dpkg --configure --pending
Setting up libpq4 (8.1.15-0etch1) ...

Setting up liberb-ruby (2.0.4+ruby1.8.2-1) ...
(省略)


debian:~# dpkg --list | grep ruby
ii irb1.8 1.8.5-4etch4 Interactive Ruby (for Ruby 1.8)
ii liberb-ruby 2.0.4+ruby1.8.2-1 Tiny eRuby
(省略)


編集中

APT/依存性の確認

こんにちは、モリモルです。

まだまだ、APT関連のメモが続きます。

パッケージの依存性を確認するには、
apt-cache depends パッケージ名


debian:~# apt-cache depends rails
rails
Depends: ruby <------railsが依存してるパッケージ
(省略)
|Suggests: libapache2-mod-ruby <-----一緒に入れると便利なパッケージ
(省略)
Recommends: irb <---------入れないと機能の一部に支障があるかも。。
(省略)
Conflicts: <-----競合パッケージ(おそらくAPTが削除してくれる)

「Suggests」「Recommends」はAPTが自動的にインストールしてくれないようです。



逆に指定したパッケージに依存している、パッケージを調べるには、
apt-cache showpkg パッケージ名


debian:~# apt-cache showpkg rails
Package: rails
Versions:
(省略)
Reverse Depends:
mongrel,rails <------railsを必要とするパッケージ
(省略)
Dependencies:
(省略)
Reverse Provides:
(省略)

2009年2月7日土曜日

APT/パッケージ詳細

こんにちは、モリモルです。

しばらく、APT関連のメモが続きます。。


apt-cache show パッケージ名
パッケージの詳細をapt-lineから取得します。

Package: rails
Priority: optional
Section: web
Installed-Size: 12940
Maintainer: Adam Majer <adamm@zombino.com>
Architecture: all
Version: 1.1.6-3
Depends: ruby, ruby1.8 (>= 1.8.2-3), rake (>> 0.7.0), rdoc (>> 1.8.2), libpgsql-ruby1.8 | libmysql-ruby1.8 | libdbi-ruby1.8, libredcloth-ruby1.8, liberb-ruby
Recommends: irb (>> 1.8)
Suggests: libapache2-mod-ruby | libapache-mod-ruby | libapache2-mod-fcgid, libfcgi-ruby1.8
Conflicts: libdevel-logger-ruby1.8
Filename: pool/main/r/rails/rails_1.1.6-3_all.deb
Size: 1777424(省略)

Priority
パッケージの重要度らしいです。
optional(自由選択)/require(Debianに必須)/important、standard(インスコした方がよい)

Maintainer
アダムさんがメンテナンスしてくれているようです。

Version
【オリジナルバージョン番号】-【Debianのリビジョン】

Replaces
このパッケージをインストールすると削除されるパッケージ(APTの場合のみ)

Depends
依存パッケージ(APTがすべてインストールしてくれます。)

Recommends
インストールしないと、機能の一部に不具合がでるかもしれないパッケージ(APTはインストールしてくれません。)

Suggests
一緒にインストールすると便利なパッケージ

Conflicts
競合パッケージ、APTが削除してくれます。
Replacesとは異なり、代わりをしてくれません。

Filename
apt-lineのURL上のディレクトリ
ここからDLしてることになります。
http://ftp.jp.debian.org/debian/pool/main/r/rails/

APT/パッケージを検索

こんにちは、モリモルです。

引き続き、パッケージ関連のメモです。
前回は、apt-lineを追加したので各apt-lineからパッケージを探します。

sudoを探してみようと思います。


apt-cache search "検索文字"

検索文字を"sudo"にするより、" sudo "と前後に空白を入れると絞りやすいようです。

debian:~# apt-cache search " sudo "
(省略)
sudo - Provide limited super user privileges to specific users
sudo-ldap - Provide limited super user privileges to specific users



apt-cache show パッケージ名

「apt-cache show sudo」で各apt-line上にある、sudoパッケージの詳細情報を調べられます。

debian:~# apt-cache show sudo
Package: sudo
(省略)
Version: 1.6.9p17-2 <-----1コ
(省略)
Package: sudo
(省略)
Version: 1.6.8p12-4 <-----2コ
(省略)

パッケージが2コ選出されました。
これは、私がapt-lineに「testing」と「stable」の両方を入れているからです。

debian:~# apt-cache policy sudo
sudo:
Installed: (none)
Candidate: 1.6.9p17-2
Version table:
1.6.9p17-2 0
500 http://ftp.jp.debian.org testing/main Packages
1.6.8p12-4 0
500 http://ftp.jp.debian.org etch/main Packages

基本的にバージョンの新しい方がインストール候補になるので、
このまま、apt-get install sudoをすると、testingが入ってしまいます。

APT/apt-lineについて

こんにちは、モリモルです。
Debianをインスコしたので、メモです。

Debianはパッケージ管理に、APT(Advance Package Tool)を使ってます。

apt-line
APTでパッケージを拾ってくる先です。
/etc/apt/sources.listで設定ができます。
debian:~# cat /etc/apt/sources.list
#deb cdrom:[Debian GNU/Linux 4.0 r6 _Etch_ - Official i386 NETINST Binary-1 20081220-23:12]/ etch contrib main
#deb cdrom:[Debian GNU/Linux 4.0 r6 _Etch_ - Official i386 NETINST Binary-1 20081220-23:12]/ etch contrib main

deb http://ftp.jp.debian.org/debian/ etch main
deb-src http://ftp.jp.debian.org/debian/ etch main

deb http://security.debian.org/ etch/updates main contrib
deb-src http://security.debian.org/ etch/updates main contrib
deb http://security.debian.org/ stable/updates main contrib
deb-src http://security.debian.org/ stable/updates main contrib

deb http://ftp.jp.debian.org/debian/ testing main
deb-src http://ftp.jp.debian.org/debian/ testing main


「etch/updates」だと、apt.confでのAPT Priorityの設定がうまくいかなかった、
「stable/updates」に変更。


書式は、deb[-src] 「ベースURI」 「Debianバージョン」 「コンポーネント」

「deb」がバイナリ、「deb-src」がソースファイルです。
私の場合、ソースファイルはまず必要ないと思いますが、とりあえず入れてあります。

ベースURI
deb cdrom:、はインストール初期設定のAPTの設定において、cdromを選択したので記述されてました。
もう使わないので#でコメントアウトしてあります。

Debianバージョン
コードネーム(sarge、etchなど)もしくは、バージョン名(stable、testing、unstable)を指定できます。
インストールした現時点では、etchがstableなので、etchを指定すると安定版になるようです。

コンポーネント
・main/公式Debianパッケージ
・contrib/依存ファイルがDebianガイドラインに沿ってない
・non-free/このパッケージ自体も再配布できない
まず再配布など考えてないので、、特に気にせずすべていれました。


パッケージ情報を取得
#apt-get update
パッケージ情報を各apt-lineから取得してきます。
testingを追加したら、「メモリ不足です」と言われたので、
/etc/apt/apt.confに「APT::Cache-Limit "50000000";」を記述したら無事すべて取得できました。

「ftp.jp.debian.org」の「etch」と、「security.debian.org」の「etch/updates」を追加して、
定期的に、「apt-get update」、「apt-get upgrade」をしておけばセキュリティが最新な状態で保てるようです。
私の場合、apt-lineに「testing」が入ってますが、apt.confでベースのDebianバージョンがstableになっています。