事前確認事項

/var/cache/apt/archives

に入れたのがあるはず

設定箇所

Backportを使う場合

/etc/apt/sources.listを編集

deb http://www.backports.org/debian lenny-backports main contrib non-free

をした後、apt-get update/aptitude updateして

apt-get -t lenny-backports install “package”
aptitude -t lenny-backports install “package” 

でインストールする

Dotdebを使う場合

/etc/apt/sources.listを編集

deb http://packages.dotdeb.org stable all
deb-src http://packages.dotdeb.org stable all
apt-get update
apt-get install package名

をするとよかよ!

Testingからversionを上げずにpackageを持ってくる方法

/etc/apt/apt.confを編集

APT::Default-Release "stable";

/etc/apt/sources.listを編集
stableをtestingに書き換える

apt-get update

を実行

apt-get -t testing install パッケージ名
-tは-target-release

※依存関係で意図せぬパッケージが入る場合は、そのパッケージの下にぶら下がるパッケージから入れていくとよいかもしれない。
例:
Apache2をlennyからSqueezeに上げたい、という場合は、

aptitude -t squeeze install apache2

するとPHP5が削除されてしまうが、

aptitude -t squeeze install apache2-mpm-prefork

するとPHP5は削除されず、Apacheだけupgrade出来る

今更etch-backportsとかを使う

Cron-Aptを使う

  1. /etc/apt/security.sources.listを新規に作る(sources.listをコピーする)
  2. ファイルはsecurity関係のdebのみにする
  3. /etc/cron-apt/config で以下を有効にする
    APTCOMMAND=/usr/bin/aptitude
    OPTIONS="-o quiet=1 -o Dir::Etc::SourceList=/etc/apt/security.sources.list"
  4. /etc/cron-apt/action.d/3-download
    dist-upgrade -d -y -o APT::Get::Show-Upgraded=true
    ↓
    safe-upgrade -y -o APT::Get::Show-Upgraded=true
    ※上記configでaptitudeを有効にしないとsafe-upgradeは使えない。

Ubuntuを自動更新 cron-apt

確認方法

依存関係を確認する

aptitude show パッケージ名

apt-cache showpkg パッケージ名

そのパッケージが依存しているパッケージと、そのパッケージに依存されているパッケージが表示される

エラー時には

[解決済み]E: Sub-process /usr/bin/dpkg returned an error code (1)

qmailからpostfixを入れようとしたら、プロセスが止まった状態で先に進まない

aya@example:~$ sudo aptitude install postfix
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています                
状態情報を読み取っています... 完了
拡張状態情報を読み込んでいます      
パッケージの状態を初期化しています... 完了
拡張状態情報を書き込んでいます... 完了        
タスクの記述を読み込んでいます... 完了  
以下の新規パッケージがインストールされます:
  postfix 
以下のパッケージが削除されます:
  qmail{a} 
更新: 0 個、新規インストール: 1 個、削除: 1 個、保留: 0 個。
アーカイブ 1224kB 中 0B を取得する必要があります。展開後に 836kB のディスク領域が新たに消費されます。
先に進みますか? [Y/n/?] y
拡張状態情報を書き込んでいます... 完了
パッケージを事前設定しています ...
(データベースを読み込んでいます ... 現在 38267 個のファイルとディレクトリがインストールされています。)
qmail を削除しています ...
There are still messages in qmail's queue. You probably want to wait until
qmail's queue is empty before removing the qmail package. Otherwise 
the messages currently waiting in the queue will not be delivered or will be 
lost. (`qmail-qstat' will tell you the number of messages in qmail's queue.) 

Do you still want to proceed and remove the qmail package? [y/N] N

↑ここで止まる
Ctrl+Cすると

^C
dpkg: qmail の処理中にエラーが発生しました (--remove):
 サブプロセス pre-removal script がシグナル (割り込み) によって強制終了しました
update-rc.d: warning: /etc/init.d/qmail missing LSB information
update-rc.d: see <http://wiki.debian.org/LSBInitScripts>
以下のパッケージの処理中にエラーが発生しました:
 qmail
E: Sub-process /usr/bin/dpkg returned an error code (1)
パッケージをインストールできませんでした。復旧を試みています:
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています                
状態情報を読み取っています... 完了
拡張状態情報を読み込んでいます       
パッケージの状態を初期化しています... 完了
タスクの記述を読み込んでいます... 完了        

で、元の状態に戻る。
調べてみたら、以下のコマンドで解決した

sudo apt-get -f install

[解決済み]公開鍵を利用できないため、以下の署名は検証できませんでした

W: GPG error: http://www.backports.org lenny-backports Release: 公開鍵を利用できないため、以下の署名は検証できませんでした: NO_PUBKEY EA8E8B2116BA136C
W: これらの問題を解決するためには apt-get update を実行する必要があるかもしれません
aptitude install debian-backports-keyring
aptitude update

[解決済み]GPG error: NO_PUBKEY E9C74FEEA2098A6E

aya@example:/etc/apt$ sudo apt-get update
Get:1 http://packages.dotdeb.org lenny Release.gpg [835B]
Hit http://packages.dotdeb.org lenny Release
Err http://packages.dotdeb.org lenny Release
  
Get:2 http://packages.dotdeb.org lenny Release [2195B]
Ign http://packages.dotdeb.org lenny Release
Ign http://packages.dotdeb.org lenny/all Packages/DiffIndex
Ign http://packages.dotdeb.org lenny/all Sources/DiffIndex
Hit http://packages.dotdeb.org lenny/all Packages
Hit http://packages.dotdeb.org lenny/all Sources
Fetched 3030B in 2s (1335B/s)
Reading package lists... Done
W: GPG error: http://packages.dotdeb.org lenny Release: The following
signatures couldn't be verified because the public key is not available:
NO_PUBKEY E9C74FEEA2098A6E
W: You may want to run apt-get update to correct these problems

知らなかったけど、2001年7月からsignがついたらしいDotdeb packages are now signed!

gpg --keyserver keys.gnupg.net --recv-key 89DF5277
gpg -a --export 89DF5277 | sudo apt-key add -

で解決

参考URL


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2012-03-12 (月) 16:54:30 (197d)