
Ubuntu日本語フォーラム

ログインしていません。
OS:ubuntu 8.10 amd 64
こちらで質問した所、ログイン以降、画面が変化しません。当初の内容と違うのでこちらにトピックを立てさせていただきました。
どのようなことをすれば元に戻すことができるのでしょうか?
フォーラム内を検索してもわからなかったので教えてください。お願いします。
wineを完全にuninstallする方法
最後の編集者: test_user (2009-01-20 02:32:02)
オフライン
compiz compiz-gnome gnome-control-center gnome-session
libgnome-window-settings1 libgtkhtml-editor-common libgtkhtml-editor0
nautilus nautilus-cd-burner nautilus-share ttf-liberation winbind wine
wine-gecko xinput xorg
が同時に削除されています。
cuiでログインして # apt-get upupdate を試してみてください。
オフライン
apt-get update ではなくて、apt-get upupdateなのですか?
追伸
CUIでログインしてapt-get upupdateを実行しました。
念のため、apt-get updateも実行しましたが、あいかわらずGUIでログイン後にデスクトップが現れません。
オレンジの画面のままです。
最後の編集者: test_user (2009-01-18 12:47:30)
オフライン
apt-get compiz compiz-gnome とやればいいのですね。やってみます。
オフライン
失礼しました。upupdateは間違いでupdateです。
test_userさんが実行した
1、sudo apt-get autoremove wine*
2、rm -rf .local/share/applications/wine*
3、rm -rf .wine
私のテスト環境では2と3についてはそういったディレクトリやファイルは存在しません。
そしてなぜか -fオプションでエラー報告をしないようになっています。
1、については#1で示した物が一緒に削除され、作業終了後にアップデートマネージャーが起動して
すぐに上記の再インストールが開始され再起動後パネルの読み込みでエラーが出ましたが無事起動
出来てます。
と言うことで私からは以上です。
他の可能性を検討してみます。
オフライン
私も再起動後にパネルの読み込みでエラーがでました。(それ以外は今のところ問題はありません。)
ちなみにエラーメッセージは
"OAFIID:GNOME_FastUserSwitchApplet" を読み込む際にパネルで問題が発生しました。 お使いの設定からアプレットを削除しますか?
です。それでパネルからシャットダウンやログアウトをするボタンが消えていたので、再度追加したのですが、ログアウトのボタンはログアウト、シャットダウンのボタンはシャットダウンとなっていて、ひとつのボタンでシャットダウンや再起動、ログアウトを表示させることができません。
ちなみに私(syosinnsya=test_user)はfirefoxmmxさんの訂正が入る前だったので、
sudo apt-get autoremove wine*
rm -rf /local/share/applications/wine*
rm -rf .wine
を実行しました。
最後の編集者: syosinnsya (2009-01-18 14:03:36)
オフライン
まだ apt-get autoremove wine から考えが離れ無いんですが、
もう一度apt-getでwineをインストールして依存関係を構築してみると言うのはどうでしょうか?
私はwineをインストールして前記1、2、3の手順でアンインストール、再起動してみます。
ーーーーーーーーーーーーーーーーーーーーーーーーーーーー
{メモ
gnome-applets gnome-control-center gnome-panel gnome-session
libgnome-window-settings1 nautilus nautilus-cd-burner ttf-liberation winbind
wine wine-gecko}
最後の編集者: hir0 (2009-01-18 14:41:39)
オフライン
apt-get autoremove wine* で test_user さんと同じ状態になりました。
原因はおそらくwine*の * ですね。
作業の続きをします。(ダメだったらどうしよう)
オフライン
解決しました。
私が試みた手順。
オレンジの画面でCtrl + Alt + F1 でCUIでログイン。
# apt-get install gnome-applets を実行。
あとは必要な物が一緒にインストールされるのでCtrl + Alt + F7、 Ctrl + Alt + BackSpace でXを再起動。
以上です。
最後の編集者: hir0 (2009-01-18 15:09:25)
オフライン
hir0さんの方法を試してみたのですが依然として起動時に#6のエラーがでます。
一体、何が原因なんでしょうか。。。。
こちらを参考に
sudo aptitude install gnome-applets
を試してみました。ですが、ダメでした。再起動しないと有効にならないのですか?
再起動してもダメでした。
Problem while loading "OAFIID:GNOME_FastUserSwitchApplet
最後の編集者: syosinnsya (2009-01-18 18:15:42)
オフライン
#1の解決方法です
こちらで質問した所、ログイン以降、画面が変化しません。当初の内容と違うのでこちらにトピックを立てさせていただきました。
どのようなことをすれば元に戻すことができるのでしょうか?
フォーラム内を検索してもわからなかったので教えてください。お願いします
#6の問題は手をつけていません。
一度gnome-panel が削除されて再インストールされたことで起きていると思われます。
不都合が有るのでしたら状況を詳しく書いていただくと何らかのアドバイスが得られるかも?
オフライン
hir0さん横からすみません。
長文です。
autoremoveに渡すパラメタの指定が適切では無かった為、wineとは関係のないパッケージまで一緒に削除されてしまったのでしょう。
誤って削除してしまったパッケージを復旧するには、Ubuntuを[recovery mode]で起動し、[ drop to root shell prompt ]を選び、該当パッケージを復旧するのがよいでしょう。
削除してしまったパッケージは、ログファイルを見れば分かります。
ログファイルは、/var/log/apt/term.log を見ると分かりやすいでしょう。(/var/log/dpkg.logでも良いですが分かりにくい)
復旧手順については後述します。
[autoremoveの指定がどう適切では無かったのか?]
今回のコマンドで'wine*'が意味するのは、
「wineという文字列で始まってその後に任意の文字列が続くパッケージ全て」ではなく、
「『winという文字列の後にeという文字が0文字以上』という正規表現にマッチするパッケージ全て」
です。
例えば、x-window-manager というパッケージは一見'wine*'にはマッチしなさそうですが、「winという文字列の後に eという文字が0文字以上」を満たすので実はマッチしてしまうのです。
私は今回初めて知ったのですが、正規表現'wine*'でパッケージ名を指定して、パッケージの削除を指示すると、apt-getも親切に仰々しい警告を発してくれます。
パッケージリストを読み込んでいます... 依存関係ツリーを作成しています... 状態情報を読み取っています... 注意: 正規表現 'wine*' に対して libwine-capi を選択しました 注意: 正規表現 'wine*' に対して libchewing-data を選択しました 注意、libchewing-data の代わりに libchewing3-data を選択します 注意: 正規表現 'wine*' に対して libswing-layout-java を選択しました 注意: 正規表現 'wine*' に対して matchbox-window-manager を選択しました 注意: 正規表現 'wine*' に対して libopensg-windowx-dev を選択しました 注意: 正規表現 'wine*' に対して libwine-alsa を選択しました 注意: 正規表現 'wine*' に対して windows-el を選択しました 注意: 正規表現 'wine*' に対して plplot9-driver-xwin を選択しました 注意: 正規表現 'wine*' に対して libmono-winforms1.0-cil を選択しました 注意: 正規表現 'wine*' に対して libchewing3-data を選択しました 注意: 正規表現 'wine*' に対して winefish を選択しました 注意: 正規表現 'wine*' に対して wxwin-i18n を選択しました 注意: 正規表現 'wine*' に対して window-picker-applet を選択しました 注意: 正規表現 'wine*' に対して libwine-twain を選択しました 注意: 正規表現 'wine*' に対して fte-xwindow を選択しました 注意: 正規表現 'wine*' に対して kwin-style-comix を選択しました 注意: 正規表現 'wine*' に対して kwin を選択しました 注意: 正規表現 'wine*' に対して libwine-arts を選択しました 注意: 正規表現 'wine*' に対して wxwin-doc を選択しました 注意: 正規表現 'wine*' に対して kdeartwork-theme-window-kde4 を選択しました 注意: 正規表現 'wine*' に対して xwininfo を選択しました 注意: 正規表現 'wine*' に対して wine-gecko を選択しました 注意: 正規表現 'wine*' に対して wings3d を選択しました 注意: 正規表現 'wine*' に対して x-window-system-core を選択しました 注意、x-window-system-core の代わりに xorg を選択します 注意: 正規表現 'wine*' に対して libkwineffects1 を選択しました 注意: 正規表現 'wine*' に対して kwin-decor-baghira を選択しました 注意: 正規表現 'wine*' に対して avifile-win32-plugin を選択しました 注意: 正規表現 'wine*' に対して freepwing を選択しました 注意: 正規表現 'wine*' に対して x-window-system を選択しました 注意、x-window-system の代わりに xorg を選択します 注意: 正規表現 'wine*' に対して science-viewing を選択しました 注意: 正規表現 'wine*' に対して winesetuptk を選択しました 注意: 正規表現 'wine*' に対して libchewing-dev を選択しました 注意: 正規表現 'wine*' に対して scim-chewing を選択しました 注意: 正規表現 'wine*' に対して windowlab を選択しました 注意: 正規表現 'wine*' に対して libchewing2-dev を選択しました 注意: 正規表現 'wine*' に対して kwin-style-suse2 を選択しました 注意: 正規表現 'wine*' に対して libopensg-windowx を選択しました 注意: 正規表現 'wine*' に対して winkeydaemon を選択しました 注意: 正規表現 'wine*' に対して libconfigwin-ocaml-dev を選択しました 注意、libconfigwin-ocaml-dev の代わりに libcameleon-ocaml-dev を選択します 注意: 正規表現 'wine*' に対して wine-utils を選択しました 注意: 正規表現 'wine*' に対して libchewing を選択しました 注意、libchewing の代わりに libchewing3 を選択します 注意: 正規表現 'wine*' に対して kwin-style-knifty を選択しました 注意: 正規表現 'wine*' に対して libsfml-window1 を選択しました 注意: 正規表現 'wine*' に対して not+darwin を選択しました 注意、not+darwin の代わりに type-handling を選択します 注意: 正規表現 'wine*' に対して wininfo を選択しました 注意: 正規表現 'wine*' に対して winbind4 を選択しました 注意: 正規表現 'wine*' に対して worldwind を選択しました 注意: 正規表現 'wine*' に対して kwin-style-alphacube を選択しました 注意: 正規表現 'wine*' に対して libwine-jack を選択しました 注意: 正規表現 'wine*' に対して matchbox-window-manager-maemo を選択しました 注意: 正規表現 'wine*' に対して hwinfo を選択しました 注意: 正規表現 'wine*' に対して grubutil-win32 を選択しました 注意: 正規表現 'wine*' に対して wxwin2.4-doc を選択しました 注意: 正規表現 'wine*' に対して libchewing3 を選択しました 注意: 正規表現 'wine*' に対して xwine を選択しました 注意: 正規表現 'wine*' に対して wxwin2.4-headers を選択しました 注意: 正規表現 'wine*' に対して kwin-style-crystal を選択しました 注意: 正規表現 'wine*' に対して libmono-winforms2.0-cil を選択しました 注意: 正規表現 'wine*' に対して libopensg-windowx1 を選択しました 注意: 正規表現 'wine*' に対して x-window-manager を選択しました 注意: 正規表現 'wine*' に対して libchewing3-dev を選択しました 注意: 正規表現 'wine*' に対して libwine を選択しました 注意: 正規表現 'wine*' に対して kwin-style-baghira を選択しました 注意: 正規表現 'wine*' に対して libwine-ldap を選択しました 注意: 正規表現 'wine*' に対して wine-dev を選択しました 注意: 正規表現 'wine*' に対して avant-window-navigator を選択しました 注意: 正規表現 'wine*' に対して wine-doc を選択しました 注意: 正規表現 'wine*' に対して libwine-gphoto2 を選択しました 注意: 正規表現 'wine*' に対して avant-window-navigator-data を選択しました 注意: 正規表現 'wine*' に対して twinkle を選択しました 注意: 正規表現 'wine*' に対して kwin-style-blended を選択しました 注意: 正規表現 'wine*' に対して not+bsd-darwin を選択しました 注意、not+bsd-darwin の代わりに type-handling を選択します 注意: 正規表現 'wine*' に対して libwings-dev を選択しました 注意: 正規表現 'wine*' に対して wine を選択しました 注意: 正規表現 'wine*' に対して wing を選択しました 注意: 正規表現 'wine*' に対して wink を選択しました 注意: 正規表現 'wine*' に対して libwine-print を選択しました 注意: 正規表現 'wine*' に対して kwin-style-dekorator を選択しました 注意: 正規表現 'wine*' に対して openwince-jtag を選択しました 注意: 正規表現 'wine*' に対して libgnome-window-settings1 を選択しました 注意: 正規表現 'wine*' に対して kdeartwork-theme-window を選択しました 注意: 正規表現 'wine*' に対して libwine-dev を選択しました 注意: 正規表現 'wine*' に対して libwine-cms を選択しました 注意: 正規表現 'wine*' に対して libwine-gl を選択しました 注意: 正規表現 'wine*' に対して libswingworker-java を選択しました 注意: 正規表現 'wine*' に対して worldwind-doc を選択しました 注意: 正規表現 'wine*' に対して libwine-esd を選択しました 注意: 正規表現 'wine*' に対して kwin-kde4 を選択しました 注意: 正規表現 'wine*' に対して libgnome-window-settings-dev を選択しました 注意: 正規表現 'wine*' に対して wing-data を選択しました 注意: 正規表現 'wine*' に対して libworldwind-java を選択しました 注意: 正規表現 'wine*' に対して kwin-style-powder を選択しました 注意: 正規表現 'wine*' に対して wxwin2.4-i18n を選択しました 注意: 正規表現 'wine*' に対して libswingx-java を選択しました 注意: 正規表現 'wine*' に対して wxwin2.2-doc を選択しました 注意: 正規表現 'wine*' に対して libwine-nas を選択しました 注意: 正規表現 'wine*' に対して wxwin-headers を選択しました 注意: 正規表現 'wine*' に対して winbind を選択しました 注意: 正規表現 'wine*' に対して libswingworker-java-doc を選択しました 注意: 正規表現 'wine*' に対して winpdb を選択しました 注意: 正規表現 'wine*' に対して libswing-layout-java-doc を選択しました 注意: 正規表現 'wine*' に対して kde-window-manager を選択しました 注意: 正規表現 'wine*' に対して openwince-include を選択しました 注意: 正規表現 'wine*' に対して libchewing1-dev を選択しました 注意: 正規表現 'wine*' に対して libwine-sane を選択しました 注意: 正規表現 'wine*' に対して kwin-baghira を選択しました 注意: 正規表現 'wine*' に対して kwin-style-serenity を選択しました 以下のパッケージが自動でインストールされましたが、もう必要とされていません: ttf-liberation libaudio2 以下のパッケージは「削除」されます: compiz compiz-gnome fast-user-switch-applet gnome-applets gnome-control-center gnome-panel gnome-session libaudio2 libgnome-window-settings1 nautilus nautilus-cd-burner nautilus-share ttf-liberation ubuntu-desktop winbind wine wine-gecko xorg アップグレード: 0 個、新規インストール: 0 個、削除: 18 個、保留: 0 個。 この操作後に 88.7MB のディスク容量が解放されます。 続行しますか [Y/n]?
以上のことから分かるように、wineとは関係ないパッケージもごっそり削除しようとしてしまいます。
[ログファイルを元に、誤って大量に削除してしまったパッケージを復旧する手順]
※Synapticパッケージ・マネージャが立ち上がるならば、画面から履歴を参照することができるので、以下のような難しい方法を採る必要はないです。
2009/01/19 ご指摘があったので→を追記 Synapticパッケージ・マネージャから行なった実行内容だけが、Synapticの履歴(ファイル->履歴)に残ります。apt-getコマンドなどで行うとそこには残りません。
※注意:環境によっては若干の変更が必要です。(復旧対象となるパッケージは若干違うはず)
大まかな手順:
1) Ubuntuを[recovery mode]で起動し、[ drop to root shell prompt ]を選びます。
2) ログファイルは(/var/log/apt/term.log)をコピーして、そのファイルを編集します。
3) コピーしたファイルを開き、『Log started: YYYY-MM-DD HH:MM:SS』のような書式の行を特定します。
削除してしまった時刻から判断して、ログの前後関係を見れば分かるはずです。
4) その行から始まって、XXXXXX を削除しています ... という文字列を含む行だけを抽出 -> 加工 -> シェルスクリプトファイルにする
5) シェルスクリプトを実行する。
※ 4)の作業をコンソール上でやるのが難しいと思うならば、一旦USBメモリ経由などで慣れたOSにコピーして、編集してもよいでしょう。(ライブCDで立ち上げたUbuntuで編集するのも一つの手です。)
なお他のOSで保存する時は、文字コード(UTF-8) 改行コード(LF)を守ってください。
※ シェルスクリプトに加工するのが難しければ、一つずつパッケージを手作業で復旧しても同じ事です。
以下実例で説明します。
ログファイル(/var/log/apt/term.log)をコピーします。
# cp -v /var/log/apt/term.log /tmp/
次に、コピーしたログファイル(/tmp/term.log)を開きます。
※実際には、日本語の部分が文字化けしていますが、気にせず作業をします。
# vi /tmp/term.log もしくは # nano /tmp/term.log
・・・中略 Log started: 2009-01-18 03:54:22 (データベースを読み込んでいます ... 現在 105496 個のファイルとディレクトリがインストールされています。) fast-user-switch-applet を削除しています ... gnome-applets を削除しています ... gnome-panel を削除しています ... nautilus-share を削除しています ... nautilus-cd-burner を削除しています ... nautilus を削除しています ... gnome-session を削除しています ... gnome-control-center を削除しています ... wine を削除しています ... libaudio2 を削除しています ... libgnome-window-settings1 を削除しています ... ttf-liberation を削除しています ... Updating fontconfig cache for /usr/share/fonts/truetype/ttf-liberation No CIDSupplement specified for Batang-Bold, defaulting to 0. No CIDSupplement specified for Batang-Regular, defaulting to 0. No CIDSupplement specified for KochiMincho-Regular, defaulting to 0. No CIDSupplement specified for Dotum-Bold, defaulting to 0. No CIDSupplement specified for Dotum-Regular, defaulting to 0. No CIDSupplement specified for UMingCN, defaulting to 0. No CIDSupplement specified for KochiGothic-Regular-JaH, defaulting to 0. No CIDSupplement specified for KochiGothic-Regular, defaulting to 0. No CIDSupplement specified for KochiMincho-Regular-JaH, defaulting to 0. winbind を削除しています ... * Stopping the Winbind daemon winbind [76G [70G[ OK ] wine-gecko を削除しています ... xorg を削除しています ... Processing triggers for man-db ... Processing triggers for libc6 ... ldconfig deferred processing now taking place Log ended: 2009-01-18 03:56:15 ・・・中略
という部分があるので、これを
fast-user-switch-applet gnome-applets gnome-panel nautilus-share nautilus-cd-burner nautilus gnome-session gnome-control-center wine libaudio2 libgnome-window-settings1 ttf-liberation winbind wine-gecko xorg
のように加工します。
次に、冒頭1行と最終行2行を以下のように追加し、
p="
fast-user-switch-applet
gnome-applets
gnome-panel
nautilus-share
nautilus-cd-burner
nautilus
gnome-session
gnome-control-center
wine
libaudio2
libgnome-window-settings1
ttf-liberation
winbind
wine-gecko
xorg
"
sudo apt-get install ${p}という形にして、/tmp/foo.sh として保存します。
後は端末から
# sh /tmp/foo.sh
と実行すればOK。
最後に実行が終わったら、
# telinit 2
としてGUIモードに入ります。
[現象の再現の確認]
Ubuntu 8.10の仮想PC環境で実験して全ての事象を確認しました。
'wine*'の指定をして削除した後、一度ログオフしログインしようとすると、背面がオレンジの画面で止まります。
その後、復旧作業を行うと無事に元に戻りました。(戻ったはず)
[あとがき]
apt-get autoremoveをはじめ、apt-get remove、apt-get purgeを使ってパッケージを削除する際は、アスタリスク(*)は思わぬ結果を招くので危険です。
最後の編集者: STGSAGWAN (2009-01-19 21:57:15)
STGSAGWANさん、有難うございます大変勉強になります。
やはり経験と知識の豊富な方はすごいですね。
STGSAGWANさんのログを見て復旧作業をするのが正当で確実な方法です。
私のは依存関係に頼った「PCまかせ」なのであとで問題が起こるかもしれません。
まだまだ手探りで勉強中ですが覚えることがたくさんあってたいへんです。
オフライン
STGSAGWANさん、長々と解答してくださって大変ありがとうございます。
*の意味なんてわかっているつもりでしたが、本当の意味を知り驚きました。確かに不用意に使うのは危ないですね。
復旧作業に関しても参考にさせていただきます。
ちなみにwineabc,wine-123などwineの後に何かがつくファイルを探す場合にはどのような方法があるのでしょうか?
(今まではwine*で大丈夫だと思っていました。そのためwine*で削除するときにまったく関係ない物もありましたが、あまり気にしませんでした。)
>Synapticパッケージ・マネージャが立ち上がるならば、画面から履歴を参照することができるので
Synapticパッケージ・マネージャ→ファイル→履歴を見たのですが、削除したパッケージは表示されていないのですがどうすれば表示させることができますか?
質問ばかりですいません。
最後の編集者: syosinnsya (2009-01-18 20:41:08)
オフライン
syosinnsya による投稿:
ちなみにwineabc,wine-123などwineの後に何かがつくファイルを探す場合にはどのような方法があるのでしょうか?
(今まではwine*で大丈夫だと思っていました。そのためwine*で削除するときにまったく関係ない物もありましたが、あまり気にしませんでした。)
質問内容があまりはっきり分かりませんが、シェルのアスタリスク(*)と、今回問題になったapt-get系のアスタリスク(*)は、全く別物ですよ。
もしかして、apt-cacheコマンドで wineで始まるパッケージ名を探したい、ということでしょうか?
syosinnsya による投稿:
Synapticパッケージ・マネージャ→ファイル→履歴を見たのですが、削除したパッケージは表示されていないのですがどうすれば表示させることができますか?
Synapticパッケージ・マネージャから行なった実行内容しかその履歴には残らない、はずです。
最後の編集者: STGSAGWAN (2009-01-19 00:43:44)
>シェルのアスタリスク(*)と、今回問題になったapt-get系のアスタリスク(*)は、全く別物ですよ。
始めて知りました。初心者なんで知りませんでした。
>Synapticパッケージ・マネージャから行なった実行内容しかその履歴には残らない、はずです。
わかりました。ありがとうございます。
ログイン時にエラーが出る問題はFastUserSwitchAppletをSynapticでインストールすることで解決しました。
解答ありがとうございました。
オフライン