プロが教えるわが家の防犯対策術!

こんばんは。
表題の件について教えてください。

apt-get update にて、aptの構成ファイルに記述されているURLに
アクセスし、アップデートがあるものが表示されるかと思います。

そして、表示されている中でアップデートしたいものがある場合、(今回は仮に○○とします)
apt-get instal ○○にて、アップデートを実施するかと思います。

私はこの時、アップデート可能として表示されるものを見ても、それが何なのか分かりません。
(sambaとか分かり易い名前がついているものは別ですが)

そのため、一気に apt-get upgrade にて表示されているもの全部をアップデートしてしまいます。

通常のLinux使いの方は、どのようにapt-getコマンドを使用されているのでしょうか?

また、aptの構成ファイルに記述されているURLにて公開されていないようなマイナーなアプリの
バージョンアップはどうするのでしょうか?

(わざわざaptの構成ファイルにURLを追記するのは面倒な気がします)

しょぼい質問で申し訳ないですが、識者の方、教えてください。
よろしくお願いします。

A 回答 (5件)

#4です。


upgradeとdist-upgradeの違いは、
upgradeでは、アップグレードしても依存関係において他のソフトを削除しないもののみ。
dist-upgradeでは、すべてのソフトをアップグレードします。
dist-upgradeでOSのバージョンが上がるか否かというのは、
公式サイトに記載されている、新バージョンのレポジトリをsources.listに記載し、
dist-upgradeしたならば上がるんでしょう。多分。
というより、Linuxとしてのバージョンアップならlinuxのカーネル等のバージョンアップによってなるのでしょうが、
ディストリ,たとえばUbuntuとかDebianのバージョンアップというのは、
どこからバージョンアップなのかときかれたら、返答が難しいですが、
Debian squeezeというバージョンからwheezyというバージョンへのアップグレードは、
squeeze用レポジトリを第一に考えソフトをアップグレードしていたのを、
wheezy用レポジトリを第一に考えソフトをアップグレードしていく、ということですから、
新しいバージョンのレポジトリを採用してdist-upgradeにてすべてのソフトをアップグレードしたとき
ディストリビューションとしてのアップグレードになるのかもしれません。
    • good
    • 0
この回答へのお礼

ありがとうございます!
なるほど、Linuxのバージョンアップと言っても一口では
語れない部分もあるのですね?
勉強になりました。

お礼日時:2011/09/11 22:33

>>アップデート可能として表示されるものを見ても、それが何なのか分かりません。


>>そのため、一気に apt-get upgrade にて表示されているもの全部をアップデートしてしまいます。
それでいいのです。
Linuxは考えようによっては、ソフトの集合体です。
しかし、果たしてすべてのソフトが何に利用されているか?
アップグレートされるすべてのソフトの変更点はなにか?
それらすべてを知ろうだなんて難しいです。
だから、APTやRPMなどのパッケージ管理ソフトが開発されました。
APTはほとんどすべてのソフトの追加削除更新などの管理を行っています。
プレインストールしてあるAというソフトが更新すれば、
新たなAをインストールし、もし新たなAが依存するソフトがあるならインストール。
新しくなったことで依存しなくなったソフトは削除。
というようなことを、すべてのソフトに対してAPTは行います。
すべてを手動で理解しながら管理するのが面倒くさいな、という考えから生まれたソフトなので、
そもそも、このソフトはなんで、依存関係がどうで、アップグレードがああで、と考える必要はないのです。
なお、これらを可能にするコマンドを一応書くと、
# apt-get update #レポジトリより情報取得
# apt-get upgrade #ソフトらをPinを考慮しつつアップグレード
# apt-get dist-upgrade #すべてのソフトらをPinを考慮しつつアップグレード
# apt-get --purge autoremove #依存関係から切り離された不要なソフトを削除
です。定期的にこれらを打ち込めば、APTはすべてのことをなしてくれます。

>>また、aptの構成ファイルに記述されているURLにて公開されていないようなマイナーなアプリの
バージョンアップ
これに関しては、レポジトリのかかれたファイルをいじります。
/etc/apt/source.listあるいは、/etc/apt/source.list.d/*
には、APTが依存関係やアップグレードを考察するための情報元が置かれています。
ここにレポジトリを追加あるいは削除することで、インストールされるソフトの選択肢を広げます。
Debian レポジトリとか、Ubuntu レポジトリと調べれば、
公式なソフトのレポジトリもありますし、非公式ながら更新の早いあるいはマイナーなものがそろったレポジトリもあります。
しかしながら、レポジトリは世界中のさまざまなソフトの中から
管理者が厳選したものが管理者の気分?で更新されるわけですから、本当の最新とは言えません。
本当の最新版を利用したいならば、直接サイトをしらべ hoge.tar.gzなど落としてきて、
自分でインストールおよび依存関係を果し、管理しなければなりません。
svn gitなどそれを手伝うソフトはありますが、APTよりはるかに面倒くさく思ってしまうかもしれません。
しかし、APTには一応たくさんのバージョンの中(限られるけれど)で任意のものを選択することはできます。
/etc/apt/preferencesには、
ソフトをあるバージョンにとめたりするためのPin情報がかかれています。
たとえば、guakeというソフトが全体アップグレードしてからエラーを吐いていておかしい。
ググったりエラーを見たりするとどうやらnotification-deamonというソフトのアップグレードで調子が悪いらしい。
じゃあ、notification-deamonというソフトは前のバージョンのまま自動アップグレードされないようにしよう。といったかんじです。

>>それが何なのか分かりません。(sambaとか分かり易い名前がついているものは別ですが)
もし、アップグレードされるソフトがなんなのか気になるのならば、あるいはこういう手もあります。
# apt-get update && apt-get -s upgrade でシュミレートだけおこない、該当ソフトを
$ apt-cache show hoge で調べます。Description:の欄にソフトの概要がのっております。

すべてを理解して使っていこうと気張る必要はありません多分。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
Linux使いの方の常識が分かり、非常に勉強になりました。
/etc/apt/preferencesにて自動アップグレードを止める方法等、勉強になりました!

以下の違いがイマイチ分からないのですが、

# apt-get upgrade #ソフトらをPinを考慮しつつアップグレード
# apt-get dist-upgrade #すべてのソフトらをPinを考慮しつつアップグレード

1様の提示してくれたURLも見てみましたが、”apt-get dist-upgrade”は、
例えばUbuntu9環境で実施した場合、リポジトリに置かれている最新版のUbuntu(11とか)に
なってしまう効果を持つコマンドではないということでしょうか?

図々しくてすみませんが、もしお暇があれば教えてください!

お礼日時:2011/09/04 23:40

>通常のLinux使いの方は、どのようにapt-getコマンドを使用されているのでしょうか?



http://vinelinux.org/docs/vine5/manuals/synaptic …
第17章 プログラムの追加・削除・更新(パッケージ管理)

APTパッケージ管理システムのフロントエンドのSynapticが使用
できるようなら、こちらを使った方が、GUIによるパッケージの
インストール、 アップグレード、削除などを容易にできます。


>(わざわざaptの構成ファイルにURLを追記するのは面倒な気がします)

http://vinelinux.org/docs/vine5/manuals/setup-re …
17.6. リポジトリの設定

ディストリビュータが提供していないパッケージの場合は、取得
しようとするパッケージのリポジトリを追加登録する必要があり
ます。
#aptの構成ファイルにURLが追記されます。

但し、そのサイトが該当するディストリビューション(バージョン)
用のパッケージを用意している必要があります。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
なるほど、リポジトリへのURL追記は
基本なんですね。
全く初心者の私は、別途、そのアップデートを提供しているHPに行き
パッケージをDLし、インストールするものだと想像してました。
勉強になります。ありがとうございました!

お礼日時:2011/09/04 23:30

基本的には、aptで管理できるリポジトリからソフトを導入します。



たとえば、FLASH Playerはflashplayer-nonfreeパッケージ
NVIDIAのグラフィックドライバーはnvidia-currentパッケージやnvidia-settingsパッケージ
こういったリポジトリから選択できるソフトを使うことで
ディストリビューターが確認した範囲で、動作確認が行われた状態で
競合するソフトのトラブルを回避して運用することができます。

まぁ、完璧とは言えないかもしれませんが…バイナリーファイルを配布できないものも
前述のように、インストールスクリプトを組み合わせることでリポジトリに用意し…
メンテナンス上の手間を最小にするように企画されています。


ある程度のマイナーなソフトについては、リポジトリにある
同等機能を持つソフトを選ぶのが一つの手段です。

また、リポジトリにそのソフトが本当に無いのか?
パッケージ名の違いもありえますから、充分に確認すべきです。

また、純正のリポジトリ以外に、サードパーティのリポジトリが提供される場合もあります。
そういった所から、ソフトを導入できないか確認すべきです。


それがダメだったら、汎用debファイルを探したり
自分でmakeしてmake installみたいなことにもなります。

この場合は、ライブラリートラブルで動かなくなったら
make cleanして入れなおす。手作業でやるしかありません。
あるいはmake uninstallしたうえで、最新版のソースを持ってきて(略)
なお、make uninstallは、uninstallスクリプトが用意されていないこともめずらしくありません。

リポジトリから導入したソフトについても、最新版が入ってこないことがめずらしく無いのですが…
そのへんは、特に問題が無ければ、気にしないのが気楽です。

どうしてもという場合には、個別に考える必要があると思います。
依存するパッケージの問題にもなりますし
aptの管理に不整合が生じると、他のソフトのアップデートができなくなることもありえるので
個人的には、めんどうくさいから、そういうことはしません。

Ubuntuみたいなディストリビューションは、そういう作法なんだと思っています。
今は、基本的に全部のPCをUbuntu系で動かしていますけどね。


最新を追いかけたければ、gentooも考えられるでしょうし
逆に、古いバージョンで留めたい時には、aptitudeで固定することも考えられます。

たとえば、SHARPに見捨てられたNetWalkerユーザーが
新しい環境を得るために、Aptiutudeやサードパーティリポジトリを活用しています。
(Linux板のNetWalkerスレとか参照)
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
なるほど。作法みたいなものなんですね?

gentoo という単語についても調べてみます。

ありがとうございました!

お礼日時:2011/09/04 23:18

 お使いのLinuxが何であるか書いてありませんが、大よそ次のサイトの解説で理解できると思われます。



参考URL:http://www.jitaku-server.net/apt_get_basic.html
    • good
    • 0
この回答へのお礼

ご回答、ありがとうございます。
Ubuntuの9.xxを使っております。(使っているというほど使えてないですが)
1様の提示してくれたURLを読みました。
ところ、別の質問がわいてきてしまったのですが、
ほかの方のご回答に一部含まれているため、その方に質問してみます。
ありがとうございました!

お礼日時:2011/09/04 23:15

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!