スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

sidなどでアップグレードの際にXを止めた方が良い理由を考える

例えば、Debian sid をベースにして定期的にライブCD、つまりCD/DVDから起動するOSとしてリリースされていたsiduxでは、ハードディスクにインストールして使う場合には、dist-upgradeをする前にX (Debianや多くのGNU/Linux環境におけるGUIの根幹システムですね) を止めるようマニュアルで指示されていました。siduxの後継とされるaptosidというディストリビューションでも、マニュアルに「決して決して、絶対にdist-upgradeやupgradeをXの上から行わないこと」と書かれています。

この理由はよく分かりません。俺はsidを使いはじめてからは一応gdmを止めてアップグレードしていました ( ps -ef コマンドの返りを見るとこれでほとんどX関係のものは止まるように見える) が、DebianでもこうするべきだとするDebian公式の文書は見たことがありません。が、しばらくDebianを使ってきて、心当たりもあります。今日はそれについて書いてみたいと思います。



sidを使っていて、dist-upgradeをする際には一応gdmを止めていると書きましたが、たまに忘れることがあります。しかし、癖をつけようとは思っているので、Ctrl+Alt+F1キーを押してtty1コンソール上からアップグレードすることは確実にやっています。xterm上からは絶対にこの作業をやりません。それで難を逃れたのかもしれませんが…

sidは他のOSならばリリースによる、つまりWindowsならXPからVista、Vistaから7といった具合の大きな変更が、アップデートの形で入ってきます。それをほとんど無停止で行えるというのがaptの素晴らしいところなんですが。たまに、不注意でgdmを止め忘れてdist-upgrade作業をやっていると、gdmの再起動を促されることがあります。何かこれに関連する重要なアップグレードがあったんでしょう。で、何も考えずにyesとやると、gdmが再起動されて、dist-upgradeの作業が終わってもいないのにグラフィカルなログイン画面が表示されちゃうわけですよ。

そこへ来て「しまった!」と思うわけですが、tty1コンソールが閉じられたわけではないので、もう一度Ctrl+Alt+F1キーを押すとアップグレード作業の画面に戻って、作業が続いていることを確認できて一安心というわけです。でもこれが、GNOMEターミナルとか、xterm上でやっていた作業だったらどうなんでしょう?実はこれも経験があります。



まだ俺が Debian etch 安定版のインストールにはじめて成功してからそう日も経っていない頃、GNOMEとKDEという二大デスクトップ環境のどちらが使い良いかを調べるため、両方をインストールしたり削除したりしていたんです。デフォルトではGNOMEが入っているので、KDEを追加したのですな。KDEとGNOMEは共存には問題ありません。使い分けも、ディスプレイマネージャのログイン画面から選択する事ができますし、アプリケーション群も相互乗り入れが可能です。

が。GNOMEの画面にKDEアプリケーションが、逆にKDEの画面にGNOMEアプリケーションが起動しているのも、あまり美しくないと当時の俺は感じたのです。また、デスクトップ環境付属のアプリケーションは機能がかぶっているものも多く、 (メニューのカスタマイズという機能を知らなかった当時の俺は) 双方のアプリケーションがメニューに表示されてメニューがぐちゃぐちゃになるのに耐えられませんでした。

で、KDEを入れたらGNOME関連のパッケージはiceweasel (Firefox) 以外ことごとく削除し、しばらく使っていたんですな。そして、やはりGNOMEに戻ろうという時、「メニューがぐちゃぐちゃになるのに耐えられ」ない俺は、一旦KDEを削除してからGNOMEをインストールしようとしたんです。

Kterm上から。

ええ、案の定途中で止まりましたよ。その後、tty1コンソールからログインして削除され損なったものたちを探して削除し、同じくtty1上からGNOMEを入れることでその場は収まりましたが。



こういうことではないでしょうか。Windowsなんかでは、あるアプリケーションをアップグレードする時に、そのアプリケーションが起動中だと、まずそれを終了させてくれと警告が出ることが結構あります。そういうふうにそのものの起動中はできないアップグレードというものもあるんですよ。sidではそれが日常的にあり得えるんです。で、Xの終了・再起動を伴わなければならないアップグレードがある時に、その作業をX上でやっていたら…アップグレード作業が途中で止まってシステムが不安定な形で放置されるわけですから、最悪どこかおかしくなったりするかも知れません。

それだったらttyコンソールに移動すればよいだけでXを止める必要はなさそうですが、それにも意味はあると思います。自ら能動的にXを止める癖がつけば、X上で作業中のデータを失うことも少なくなるかと。普通、その前に保存するでしょ。

ちなみに、俺はinitを書き換えることでgdmの起動終了をしていましたが、このinitというやつ、将来的にはなくなるものなのしょうか?Ubuntuはinitをupstartというものに置き換えたそうで、ubuntu10.04の /etc/rc*.d/ を見てみましたが、gdmらしきものがありませんでした。Debianもsqueezeからこちらを採用するとwikipediaには書いてあります (ただし、今日現在のうちのsidには入っていないようです) し、これはもう忘れた方がいいのかもしれません。

上に書いた俺の経験から行くと、わざわざXを停止させなくてもtty1コンソールからdist-upgradeをするよう心がければ問題はなさそうですが、Xを停止した方が良いのならば

# /etc/init.d/gdm3 stop

たぶん、これがいいと思います。これはUbuntu10.04でも使えました。起動する場合は

# /etc/init.d/gdm3 start

で。そうそう、GNOMEの2.22以降gdmはgdm3に置き換えられたようです。とは言ってもgdmを使っている環境はまだ多いでしょう。俺もsidをしばらく使っていますが、置き換えられたのはつい最近のことです。gdmを使っている環境では"3"を外してください。

関連記事

テーマ : Linux
ジャンル : コンピュータ

コメントの投稿

非公開コメント

プロフィール

ざっぱー

Author:ざっぱー
(この画像について)

当ブログについて
メール
(このメールアドレスへの特定電子メール (迷惑メール) の送信はお断りします)

最新記事
最新コメント
最新トラックバック
月別アーカイブ
カテゴリ
検索フォーム
RSSリンクの表示
リンク
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。