マシンにはNVIDIAGeForce 7350 LEグラフィックカードが搭載されており、ArchLinuxマシンをセットアップするときに間違ったグラフィックドライバーをセットアップしたことに気付きました。また、ソフトウェアをダウンロードする過程で、間違ったバージョンのlibgl
とlib32-libgl
を選択しました。
インストールされているパッケージは、nvidia-libgl
、lib32-nvidia-libgl
、およびmesa
です。
必要なパッケージは、nvidia-304xx
およびlib32-nvidia-304xx-libgl
です。
問題は、依存関係を台無しにすることなく、前者のパッケージを安全にアンインストールし、後者をインストールするにはどうすればよいかということです。システム上の多くのパッケージは、最初の3つに依存しています。私はArchLinuxのパッケージ管理にまったく慣れていません。
更新:XFCEデスクトップ環境とLXDMディスプレイマネージャーをダウンロードしました。この時点で、「ターゲットのグラフィカルインターフェイスに到達しました」と言った後、起動中にコンピュータがハングします。別のttyに切り替えてログインすることはできますが、常にtty1(フリーズしているように見える)に戻り、多くのことを行うのはかなり困難です。問題はグラフィックドライバに関係していると思います。どんな助けでもいただければ幸いです。
必要なパッケージを単純にインストールしようとしたと思います(--asdeps
をpacmanに渡すこともできます):
pacman -S nvidia-304xx lib32-nvidia-304xx-libgl
pacman競合が発生したことを通知し、競合するパッケージを削除するかどうかを尋ねる必要があります。単に「はい」と答えてください。
万が一の場合に備えて、最初にレスキューモードに変更することを検討してください。
systemctl isolate rescue.target
または、カーネルパラメータにsystemd.unit=rescue.target
を追加して、起動時間を追加します。
それがうまくいかなかったと仮定して、次の解決策を試してください。
ライブメディアを使用して起動し、ルートパーティションをマウントして、マウントしたばかりのルートディレクトリに/ dev/sys/procをバインドします。
mount /dev/sd<X><n> /mnt
mount -o bind /dev /mnt/dev
mount -o bind /sys /mnt/sys
mount -o bind /proc /mnt/proc
chroot
をarchlinuxインストールに:
chroot /mnt
そして、不要なパッケージを削除します(-dd
はpacmanにすべての依存関係チェックをスキップするように指示します):
pacman -Rdd nvidia-libgl lib32-nvidia-libgl mesa
実際に必要なパッケージをインストールします(--asdeps
をpacmanに渡すこともできます):
pacman -S nvidia-304xx lib32-nvidia-304xx-libgl
うまくいけば、これらのパッケージをインストールした後、依存関係が再び満たされます。
Chrootを終了します。
exit
umount /mnt/dev
umount /mnt/proc
umount /mnt/sys
umount /mnt
指を交差させて再起動します。
実際にインストールで起動したpacman -Rdd
を実行してみることができますが、ライブメディアからより安全にchrootすることを検討しています。