• ベストアンサー
  • すぐに回答を!

apt-getの一般的な使いかたについて。

こんばんは。 表題の件について教えてください。 apt-get update にて、aptの構成ファイルに記述されているURLに アクセスし、アップデートがあるものが表示されるかと思います。 そして、表示されている中でアップデートしたいものがある場合、(今回は仮に○○とします) apt-get instal ○○にて、アップデートを実施するかと思います。 私はこの時、アップデート可能として表示されるものを見ても、それが何なのか分かりません。 (sambaとか分かり易い名前がついているものは別ですが) そのため、一気に apt-get upgrade にて表示されているもの全部をアップデートしてしまいます。 通常のLinux使いの方は、どのようにapt-getコマンドを使用されているのでしょうか? また、aptの構成ファイルに記述されているURLにて公開されていないようなマイナーなアプリの バージョンアップはどうするのでしょうか? (わざわざaptの構成ファイルにURLを追記するのは面倒な気がします) しょぼい質問で申し訳ないですが、識者の方、教えてください。 よろしくお願いします。

共感・応援の気持ちを伝えよう!

  • 回答数5
  • 閲覧数718
  • ありがとう数6

質問者が選んだベストアンサー

  • ベストアンサー
  • 回答No.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にてすべてのソフトをアップグレードしたとき ディストリビューションとしてのアップグレードになるのかもしれません。

共感・感謝の気持ちを伝えよう!

質問者からのお礼

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

関連するQ&A

  • apt-get upgradeを時々やるべきでしょうか?

    apt-get upgradeを時々やるべきでしょうか? サーバでapt-get update/upgradeを時々やるべきでしょうか? Ubuntu Server を 認証サーバ&ファイルサーバとして使おうと思っています。 セキュリティーのためには、 # sudo apt-get update # sudo apt-get upgrade を時々やった方が良いとは思います。 しかし、update/upgrade をすると、インストール済みのパッケージの中で新しいバージョンが公開されているときは、最新バージョンをダウンロードしてインストールするのですよね? 自分が構築した認証、NSF等の設定が upgrade で壊れてしまわないか心配です。 質問ですが ● apt-get update/upgrade で、システムの設定ファイルが上書きされる心配はしなくて大丈夫なものでしょうか? ● みなさんはサーバのセキュリティアップデートはどうなさっているでしょうか?

  • apt-get updateの意味

    このページ http://www.miloweb.net/pastbbs/0009/2799.html に、 # apt-get update # apt-get install samba でうまくインストールされましたが・・・ # apt-get update # apt-get install samba swat では・・・ と書いてあります。 何かをインストールする前に apt-get update を実行しているようなんですが、これには意味があるんですか? installする前にはupdateした方がよいのでしょうか?

  • apt-get 失敗

    久しぶりに使用するマシンで、 apt-get でyacc, m4などをインストールしようとしているのですが、 apt-get install m4 としても 404 Not Found のエラーがでます。 よくみると、m4_1.4.10-0ubuntu2_amd64.deb というファイルを取得しようとしていますが、 接続先のサーバーには、上記の名前のファイルは存在せず、 m4_1.4.10-1_amd64.deb というものならあります。 apt-get upgrade や apt-get update を行ってみたものの やはり、同様に Not Found エラーが多発します。 以前は update 等はできていたのですが、久しぶりにおこなったら失敗するようになっていました。このような場合はどのように対処すればよいのでしょうか? マシンは OS : Ubuntu 7.10 CPU: Intel core 2 quad Q6600 Memory: 4Gb

その他の回答 (4)

  • 回答No.4

>>アップデート可能として表示されるものを見ても、それが何なのか分かりません。 >>そのため、一気に 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:の欄にソフトの概要がのっております。 すべてを理解して使っていこうと気張る必要はありません多分。

共感・感謝の気持ちを伝えよう!

質問者からのお礼

ご回答ありがとうございます。 Linux使いの方の常識が分かり、非常に勉強になりました。 /etc/apt/preferencesにて自動アップグレードを止める方法等、勉強になりました! 以下の違いがイマイチ分からないのですが、 # apt-get upgrade #ソフトらをPinを考慮しつつアップグレード # apt-get dist-upgrade #すべてのソフトらをPinを考慮しつつアップグレード 1様の提示してくれたURLも見てみましたが、”apt-get dist-upgrade”は、 例えばUbuntu9環境で実施した場合、リポジトリに置かれている最新版のUbuntu(11とか)に なってしまう効果を持つコマンドではないということでしょうか? 図々しくてすみませんが、もしお暇があれば教えてください!

  • 回答No.3
  • don_go
  • ベストアンサー率31% (336/1059)

>通常のLinux使いの方は、どのようにapt-getコマンドを使用されているのでしょうか? http://vinelinux.org/docs/vine5/manuals/synaptic.html 第17章 プログラムの追加・削除・更新(パッケージ管理) APTパッケージ管理システムのフロントエンドのSynapticが使用 できるようなら、こちらを使った方が、GUIによるパッケージの インストール、 アップグレード、削除などを容易にできます。 >(わざわざaptの構成ファイルにURLを追記するのは面倒な気がします) http://vinelinux.org/docs/vine5/manuals/setup-repos.html 17.6. リポジトリの設定 ディストリビュータが提供していないパッケージの場合は、取得 しようとするパッケージのリポジトリを追加登録する必要があり ます。 #aptの構成ファイルにURLが追記されます。 但し、そのサイトが該当するディストリビューション(バージョン) 用のパッケージを用意している必要があります。

共感・感謝の気持ちを伝えよう!

質問者からのお礼

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

  • 回答No.2
  • vaidurya
  • ベストアンサー率45% (2710/5975)

基本的には、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スレとか参照)

共感・感謝の気持ちを伝えよう!

質問者からのお礼

ご回答ありがとうございます。 なるほど。作法みたいなものなんですね? gentoo という単語についても調べてみます。 ありがとうございました!

  • 回答No.1
  • 486HA
  • ベストアンサー率45% (1012/2245)

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

参考URL:
http://www.jitaku-server.net/apt_get_basic.html

共感・感謝の気持ちを伝えよう!

質問者からのお礼

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

関連するQ&A

  • Solaris10でyumやapt-getのようなコマンドはありますか

    smpatchだけでもかなり便利だと思いますが、 #yum update や #apt-get upgrade のような機能はないのでしょうか。 portsのようなものでもいいんです。 ご存知の方いらっしゃいましたらご教示お願いします。

  • aptでアップデートされた日時を知りたい。

    aptでアップデートされた日時を知りたい。 Debian GNU/Linux 5.0(Lenny)を使っています。 "apt-get upgrade"もしくは"aptitude safe-upgrade"によって最後にシステムが更新された日時を知りたいのですが、どこかに記録されていますでしょうか。 2010年7月10日

  • ubuntu アップグレードしてシャットダウン

    ubuntu で一度に、アップデートして、アップグレードして、シャットダウンするコマンドの記述を教えてください。 sudo apt-get update ; sudo apt-get upgrade -y ; sudo shutdown -h now このコマンドだと、sudo が何度も出てきて冗長だし、shutdown コマンドのころには、最初にsudoを実行した時のパスワードの有効時間が超過して再度パスワードを求められた気がします。 sudo (apt-get update ; apt-get upgrade -y ; shutdown -h now) このように()でくくったら文法エラーになった気がします。

  • Redhat 7.3でaptを使いたいのですが、upgradeができません

    業務で必要になったので、Redhat 7.3を最近インストールしました。 パッケージのアップデートはaptを使おうと思い、aptのインストールをしました。 apt-get update はうまくいくようで、パッケージリストは取ってきているみたいです。 ただ、 apt-get upgrade を実行すると、 Failed to fetch http://ayo.freshrpms.net/redhat/7.3/i386/RPMS.updates/sendmail-devel-8.11.6-27.73.i386.rpm 404 Not Found のように見つかりませんというエラーがたくさん出て、正常に完了しません。 パッケージが見つからないようなので、実際にブラウザでURLをたどってみると、確かに http://ayo.freshrpms.net/redhat/7.3/i386/RPMS.updates/ というディレクトリは存在していないようです。 ちなみに現在sourses.listの中身はデフォルトのままで、 # Red Hat Linux 7.3 rpm http://ayo.freshrpms.net redhat/7.3/i386 os updates freshrpms rpm-src http://ayo.freshrpms.net redhat/7.3/i386 os updates freshrpms となっています。 apt-upgradeが正常に行える場所をご存知の方がいらっしゃいましたら、教えてください。 もしくはaptの設定をこう変えればうまくいく、といった情報でもかまいません。 よろしくお願いします。

  • Linux の apt-get dist-upgrade が止まる!

    友達にLinux をすすめられたので、Vine Linux を使い始めました。 Windows Update みたいなことは # apt-get update # apt-get dist-upgrade この2つだけで簡単にできる と聞いたのですが、次のようなエラーが出ます。 <問題1> apt-get update をすると ===================================== ・・・・ 以下の取得に失敗しました: ftp://ftp.jaist.ac.jp/os/linux/Vine/apt/2.6/i386/base/srclist.plus Unable to fetch file, server said '/os/linux/Vine/apt/2.6/i386/base/srclist.plus.bz2: No such file or directory ' パッケージリストを読みこんでいます... 完了 依存情報ツリーを作成しています... 完了 E: いくつかのインデックスファイルのダウンロードに失敗、無視、あるいは古いものが使用されました。 ===================================== のようなエラーが出ます。「取得に失敗しました」が10個あります。 <問題2> つづけて apt-get dist-upgrade をすると、 ====================================== ・・・・ 48 個のアップグレードパッケージ, 0 個の新規パッケージ, 0 個の削除/リプレースパッケージ, 4 個の保留パッケージがあります。 取得パッケージ: 0B/68.0MB のアーカイブを取得します。インストール後は 8614kB が使用されます。 続行しますか? [Y/n]Y RPM コマンドを実行しています (-U)... エラー: 依存性の欠如: libruby = 1.6.7-0vl5は ruby-tcltk-1.6.7-0vl5 に必要とされています E: Sub-process /bin/rpm returned an error code (48) ===================================== のようなメッセージが出てとまります。 どうすればよいでしょうか?

  • vinelinuxでapt-getが使えない。

    現在、vineで自宅サーバをしているのですが、再インストールしたら、apt-getが接続できなくなってしまいました。 インターネットには接続しています。 ネットで検索して、接続先を変更しましたがダメでした。。 エラー内容は ----------------------------------------- エラー http://updates.vinelinux.org 3.2/i386 release Temporary failure resolving 'updates.vinelinux.org' 以下の取得に失敗しました: http://updates.vinelinux.org/apt/3.2/i386/base/release Temporary failure resolving 'updates.vinelinux.org' パッケージリストを読みこんでいます... 完了 依存情報ツリーを作成しています... 完了 W: いくつかのリポジトリのリリースファイルが取得できませんでした。取得できなかっ たリポジトリは無視されます。 W: この問題を解決するためには 'apt-get update' を実行する必要があるかもしれませ ん。 E: いくつかのインデックスファイルのダウンロードに失敗、無視、あるいは古いものが 使用されました。 ------------------------------------- です。 分かる方いましたら、お願いします。 vienLinuxでapt-getが使えないと不便で仕方ありません。

  • VineLinux 4.1 samba-swatが接続しない

    ブラウザで、http://127.0.0.1:901/ としても、接続しない。 インターネットにはつながっています。 ファイヤーウオールもしくは Bon echoによるWebアクセスが 許可されているか、確認してください。 ・・・・等、でています。 すみませんが、ご指導よろしくお願いします。 なお、samba、swatは以下のようにインストールしました。 apt-get update apt-get install samba apt-get update apt-get update ; apt-get install samba samba-swat  

  • KDEのバージョンアップ方法

    「RH9 + KDE3.13」でLinuxを勉強しています。 aptコマンドで apt-get update apt-get dist-upgrade としてもKDEは、バージョンアップされません。 aptコマンドで、KDEのバージョンアップは、できないのでしょうか? KDEのバージョンアップする方法を アドバイス宜しくお願いします。 参考になるサイトでも結構です。

  • VineLinuxの自動アップデート

    昔LinuxでサーバーでWindowsでいうWindowsUpdateと同じようにOSのパッチを当てる処理をしていたのですが、 自分が書いたにもかかわらず、忘れてしまいました。 cronで午前4時に以下のスクリプトを動作させております。 #!/bin/sh apt-get update apt-get upgrade -y apt-get update これで毎日アップデートしていることでしょうか?

  • apt-getによるパッケージ更新について

    ■環境 Linux Mint 13 Mate(64-bit) ■質問 NadiaのbackportをMayaで利用したいと思っています。 下記ページを参照すると、Update Managerでlevel 1と2を選択してから、更新インストールしろとの記述があります。 http://blog.linuxmint.com/?p=2225 Update Managerではなく、apt-getコマンドでパッケージを更新する場合、この level の選択はどのように指定したらよいのでしょうか? よろしくお願いします。