wiki:FAQ

Frequently Asked Questions (FAQs)


APT トラブルシューティング

apt-get update が失敗します 

$ sudo apt-get update
[sudo] password for username:
取得:1 http://updates.vinelinux.org 4.1/i386 release [2255B]
エラー http://updates.vinelinux.org 4.1/i386 release
  File was not signed with a known key. Check if the proper gpg key was imported
 to your keyring.
2255B を 0s 秒で取得しました (7707B/s)
以下の取得に失敗しました: http://updates.vinelinux.org/apt/4.1/i386/base/release
  File was not signed with a known key. Check if the proper gpg key was imported
 to your keyring.
パッケージリストを読みこんでいます... 完了
依存情報ツリーを作成しています... 完了    
E: いくつかのインデックスファイルのダウンロードに失敗、無視、あるいは古いものが
使用されました。

これは PC の時計が狂っていることが原因で発生するエラーです。

Vine Linux をインストールするときに、時計の確認をしなかった、そして日時が大幅に狂ったままインストールしてしまった、という場合には、時計が狂っていることでなんらかの悪影響が出ている可能性もあるので、時計を修正したうえで、Vine Linux そのものをインストールし直したほうがいいかもしれません。

時計を修正しても、電源を切って入れ直すとまた狂っているという場合には、マザーボードの電池が消耗しているということも考えられます。その場合には、電池を交換する必要があるかもしれません。パソコンやマザーボードの取り扱い説明書などを確認してください。

PC の時計を確認します。

$ date
1970年  1月  1日 日曜日 01:23:45 JST

狂っていたら date コマンドで修正します。

date 月日時分西暦年

という書式です。 2007年5月22日12時34分にするには次のようにします。

$ sudo date 052212342007
2007年  5月 22日 月曜日 12:34:00 JST

時計が修正され、年月日曜日時分が出力されます。

apt-get update を実行して正常に動作するか確認してください。

apt-get コマンドが終了しません 

apt-get コマンドや rpm コマンドでパッケージのインストールやアンインストールなどを行ったときに

変更を適用しています...
準備中...                   ########################################### [100%]

といった状態で停止して、いつまで待っても処理が終わらない場合、synaptic が起動していないか確認して、起動していたら synaptic を終了してください。

synaptic でパッケージの更新やインストールやアンインストールなど、なんらかの作業を行った後、synaptic を起動したままにしていると、rpm のデータベース(どのパッケージがインストールされているかなどの情報)を synaptic がロックしたままになっていて、他のコマンドは順番待ちの状態になります。 synaptic を終了すると、ロックが解除され、apt-get コマンドや rpm コマンドが続きの処理を行うことができるようになり、コマンドの処理が再開します。

コマンドやオプションが長すぎて入力が大変です 

VinePlus にある zsh のような高度な補完ができるシェルを利用すれば、コマンドの後のオプションなども TAB キー等で補完することができます。

また、標準の bash でも alias や function を利用してある程度入力を簡単にすることができます。function や alias などについては man bash などを参照してください。

筆者は、~/.bashrc に次のような function を定義して利用しています。

# set aliases として alias がいくつか定義されているその下に # set functions などとして下のようなものを追加してみるといいかもしれません。

# functions for apt,rpm
function aptsearch () { /usr/bin/apt-cache search "$1" ;}
function aptsearchname () { /usr/bin/apt-cache search --names-only "$1" ;}
function aptsearchpkgnames () { /usr/bin/apt-cache pkgnames "$1" ;}
function aptshow () { /usr/bin/apt-cache show "$1" ;}
function aptshowpkg () { /usr/bin/apt-cache showpkg "$1" ;}
function aptshowsrc () { /usr/bin/apt-cache showsrc "$1" ;}
function aptcategory () { /usr/bin/apt-cache showpkg "$1" | /bin/grep -e "Package" -e "/lists/" ;}

function aptsrc () { /usr/bin/apt-get source "$1" ;}
function aptsrc-d () { /usr/bin/apt-get source -d "$1" ;}

function slrpmqf () { /usr/bin/slocate "$1" | /usr/bin/xargs rpm -qf ;}
function whichrpmqf () { which "$1" ; which "$1" | /usr/bin/xargs rpm -qf ;}

function rpmlogh () { /bin/rpm -q --changelog "$1" | /usr/bin/head ;}
function rpmlogh-p () { /bin/rpm -q --changelog -p "$1" | /usr/bin/head ;}
function rpmlogl () { /bin/rpm -q --changelog "$1" | /usr/bin/lv ;}
function rpmlogl-p () { /bin/rpm -q --changelog -p "$1" | /usr/bin/lv ;}

パッケージが見付かりません 

$ sudo apt-get install firefox
[sudo] password for username:
パッケージリストを読みこんでいます... 完了
依存情報ツリーを作成しています... 完了    
E: パッケージ firefox が見付かりません

一度も apt-get update を実行していない状態では、用意されているパッケージであっても見付かりません。apt-get install や apt-get upgrade を実行する前には、パッケージ情報の更新を実行してください。

パッケージの名前を間違っていないか確認したり、apt-cache コマンドによるパッケージの検索を実行してください。なお、パッケージが用意されていない場合もあります。

パッケージを更新したら、不具合が発生するようになりました。古いパッケージに戻すには、どうしたらいいでしょう? また、apt、synaptic で更新されないようにする方法はありませんか? 

古目のグラフィックボードなどは、更新されたパッケージでサポートがなくなり、不具合が場合が発生する場合があります。古いパッケージで問題なく動いていたのに、最新のパッケージで不具合が発生する場合は、apt 等で古いバージョンをインストールし直してください。

$ sudo apt-get install package-name=version-release

例えば、NVIDIA のグラフィックカードドライバ 304.64-1vl6 をインストールしたければ、以下のようになります。

$ sudo apt-get install xorg-x11-drv-nvidia=304.64-1vl6

更新されないようにするには pin または Hold が必要です。 /etc/apt/apt.conf.d/ 以下に hold.conf などを作成し、以下のように更新対象から外すパッケージを記述します。

RPM::Hold {"package-name";};

CUPS トラブルシューティング

Canonプリンタドライバを利用する際の注意点 

Canonプリンタドライバパッケージは後処理スクリプトで破壊活動をしているため、その修復作業が必要となっています。

  • ドライバをインストールする前にアップデートを適用する
    $ sudo apt-get update
    $ sudo apt-get upgrade
    
  • ドライバをインストールした後にcupsパッケージを再インストールする
    $ sudo apt-get update
    $ sudo apt-get install --reinstall cups
    

ブラウザから !http://localhost:631/ にアクセスすると接続を拒否されます 

web 上のドキュメントでは、CUPS Web IF を動作させる例として

http://localhost:631

にアクセスする、と指示されているものが多いですが、セキュリティ上の理由から、Vine Linux 5.2 以降、上記のアクセス方法ではアクセスできなくなっています。

CUPS Web IF を使用したい場合は、 EPSON EP-803A の印刷設定 for Vine Linux 5.2(Web IF編)を参考にしてください。

印刷できないが何が起きているのか分かりません 

CUPS のログは /var/log/cups 以下に出力されます。/var/log/cups/error_log や /var/log/cups/access_log などがあります。ファイル名の最後に .数字 の付いてないものが最新のファイルです。

通常のテキストファイルですので、ページャやエディタを使って読んでどんなメッセージが出力されているか、またそれがどんな意味なのかを調べてください。

ログファイルを見てもわからない場合には、さらに詳細なログを出力するように設定を変更し、再度印刷してログを確認してください。

私が使っているプリンタ用のドライバが用意されていません 

準備中

詳細なログを得るには? 

CUPS の設定ファイル /etc/cups/cupsd.conf の 154〜166 行くらいのところに、LogLevel の設定の部分があります。

LogLevel info となっていたら、さらに詳細な Log を出力するために、エディタを使って LogLevel debug 等に書き換えてください。

/etc/cups/cupsd.conf を書き換えた後で、設定を有効にするために CUPS サーバを再起動してください。

/etc/cups/cupsd.conf の書き換えと CUPS サーバの再起動には root 権限が必要です。

#
# LogLevel: controls the number of messages logged to the ErrorLog
# file and can be one of the following:
#
#     debug2    Log everything.
#     debug     Log almost everything.
#     info      Log all requests and state changes.
#     warn      Log errors and warnings.
#     error     Log only errors.
#     none      Log nothing.
#

#LogLevel info
LogLevel debug

行頭に # をつけることでその行を無効にできます。

LogLevel info と書かれている行に # をつけて無効にして、その次の行に新しい設定 LogLevel debug と書くと、変更前は LogLevel info だったということを残しておけます。

書き換えたら root権限で次のコマンドを実行して CUPS サーバを再起動します。

$ sudo /etc/init.d/cups restart

再起動後に、再度印刷を実行し、どんなログが出力されているか確認してください。

RPM FAQ

tar.gzやtar.bz2という形式のソースアーカイブからRPMパッケージを作成したい 

基本的には、RPM パッケージの作成方法を参照してください。

ただし、それらの圧縮ファイルに spec ファイルが含まれていると rpmbuild コマンドの -t オプションを利用して再構築できる場合があります。

$ rpmbuild -ta packagename-version.tar.gz

この例の場合は、再構築が成功した場合、バイナリ RPM とソース RPM の両方が作成されます。

『RPMパッケージの作成』を読みましたが、よく分かりません。個人的に使うアプリケーションを簡単にRPMパッケージにする方法はありませんか 

将来のメンテナンスを考えると個人的に使うアプリケーション等であってもRPMの管理下に置いた方が便利でしょう。

rpm で配布されていないもの、spec ファイルの無いものでも、インストール用のシェルスクリプトや Makefile が用意されているものなら、 CheckInstall を利用すると rpm としてインストールできます。ソースアーカイブにインストール用の Makefile や シェルスクリプトがあっても、アンインストール用のものは用意されていないことも多いですが、CheckInstall を利用すると、アンインストールが簡単にできるようになります。

CheckInstall は、VinePlus に用意されていますので以下のコマンドを実行してください。

$ sudo apt-get install checkinstall

使い方は、

$ sudo make install

とする代わりに

$ sudo checkinstall

を実行する場合や

$ sudo sh install.sh

の代わりに

$ sudo checkinstall sh install.sh

を実行する場合などがあります。詳細については、CheckInstall に付属のドキュメントを参照してください。

ソースパッケージの再構築に失敗します 

いくつかの原因が考えられます。いずれの場合にしろ、RPMパッケージを作成するための知識が必要になりますのでRPM パッケージの作成方法を参照してください。

ビルドに必要なパッケージの名前が、使用中のVine Linuxのバージョンでは異なった名前になっている
必要なパッケージを再構築するために必要なパッケージをインストールしようとしたが、見つからない場合、パッケージ名が異なっている場合があります。例えば、Vine Linux 2.6 では docbook-dtd41-sgml と呼ばれていたパッケージは、3.0以降 docbook-dtds に統合されています。この様な場合は、specファイルの修正が必須になります。当然、該当するパッケージもインストールしておく必要があります。
ビルドに必要なパッケージの情報が不足している
パッケージを作成した環境にインストールされていたためにパッケージ開発者がspecファイルへの記述を忘れてしまったパッケージが存在する場合があります。パッケージの再構築に失敗する直前のエラーメッセージなどを参考に必要なパッケージをインストールし、できるだけspecファイルを修正してください。
ビルドに必要なパッケージのバージョンに問題がある
過去のバージョンで依存パッケージに互換性のない仕様変更が行われており、specファイルでバージョンの制限に問題があるために再構築に失敗する場合が考えられます。この場合は、古いバージョンをインストールするためのパッケージがないか、逆に新しいバージョンに対応したソースRPMがないか探してください。例えば、PNGフォーマットを扱うためのライブラリであるlibpngには、libpng10という古いlibpngをインストールするためのパッケージが存在します。
ビルドに必要な開発用パッケージがインストールされていない
ソースパッケージを再構築する場合には、開発用のパッケージを必要とするものがあります。docs/making-rpm/rebuild-requireを参照してください。

他のディストリビューションのソースパッケージはどこにありますか 

できるだけ Vine Linux 向けに作成されたパッケージの使用をお薦めしますが、Vine Linux 向けのパッケージが用意されていない場合など他のディストリビューション向けのパッケージを探したい場合は、それぞれのディストリビューションの公式サイトや  Rpmfind などを利用してください。また、目的のアプリケーションの公式サイトにソースパッケージ(*.src.rpm)が用意されている場合もあります。

取得したソースパッケージから、SPEC ファイルやソースファイルなどを展開したい場合は、

$ rpm -ivh ソースパッケージのファイル名

を実行します。展開される場所については、RPM パッケージの作成方法パッケージ作成に必要なディレクトリの準備を参照してください。

また、ソースパッケージからバイナリパッケージを作成する方法(再構築)についてもRPM パッケージの作成方法を参照してください。

他のディストリビューションのパッケージを利用できますか? 

条件によっては、他のディストリビューションのバイナリ RPM パッケージが問題なくインストールできて動作する場合もありますが、多くの場合、当該ディストリビューション向けに調整されているため問題が発生する可能性が高く、推奨できません。

最低限、ソースパッケージを取得し、再構築したものをインストールするようにしてください。再構築できない場合は、ソースパッケージを展開し、SPEC ファイルの修正やパッチの作成が必要となります。詳細は、RPM パッケージの作成方法を参照してください。

Vine Linux 5.x FAQ

4.2CR 以前に付属していたリコー/ダイナコムウェアのフォントが利用できない 

4.2CR 以前に添付されている TrueType-ricohlx および TrueType-dynafont は、 フォントの配置が現在の X とは違う場所(/usr/X11R6/lib/X11/fonts)にあり、 標準の状態では検索対象外となっています。このためフォントがインストールされていても発見されない状態となっています。

古いフォントパッケージを検索対象とするためには、fontconfig の設定に検索パスを追加する必要があります。 次のように /etc/fonts/local.conf にパスの追加を行ってください。

<dir>/usr/X11R6/lib/X11/fonts/TrueType</dir>

LXDE環境だけを構築したいのにNautilusなどがインストールされてしまう 

Vine Linux 5.xのtask-lxde 0.5.0-2ではエディタにLeafpad (leafpadパッケージ) を採用しているため、!Leafpadが依存しているEvince (evinceパッケージ) や、Evinceが依存しているNautilusなどがインストールされてしまいます。

EvinceやNautilusなどをインストールしたくない場合は仮想パッケージ「task-lxde」で一括してインストールするのではなく、個別のソフトウェアを指定してインストールしてください。

次のコマンドを実行することで、仮想パッケージ「task-lxde」が直接依存しているパッケージのリストを得ることができますので、参考にしてください。

$ apt-cache depends task-lxde

なお、Vine Linux 6 (仮称) では、Evince (evinceパッケージ) がNautilusに依存しないようにできるか否かの検討を行う予定です。

Serverタイプでインストールしたときにネットワークが使えません 

Vine Linux 5.0ではインストールタイプを「GNOMEデスクトップ環境」か「ダイヤルアップネットワークサポート」にした場合にしかNetworkManagerがインストールされません。この状態でも /etc/init.d/network を使う従来のネットワーク設定はインストールされていますが、標準では起動するようになっていません。

対策としては、次のうちどちらかを実施してください。

  • NetworkManagerをインストールする。
  • chkconfigにて「network」が起動するようにする。

kernelやグラフィックカードのドライバを更新したら、Xが起動しなくなりました。Xconfiguratorも機能しない様です 

グラフィックカードのドライバが、DMKS対応パッケージの場合、kernelの更新後、次の起動時にドライバの再構築を行いますが、再構築されたドライバを利用するには、もう一度、再起動が必要です。

それでもダメな場合は、次の手順を試してみてください。

  1. /etc/X11/xorg.conf をバックアップ
  2. root権限で Xorg -configure を実行
  3. 作成された /root/xorg.conf.new を /etc/X11/xorg.conf にコピーなどする。
  4. startx 等で X が起動するか確認

vim の使い勝手が 4.2 の時より悪くなっているのですが 

4.2 では vim の通常版がインストールされていましたが、5.0 では機能限定版の vim-tiny がインストールされます。多機能版の vim を使用したい場合は、apt-get コマンドなどを利用して、vim-huge や vim-big などのパッケージをインストールしてください。この際、同時にインストールされる vim-common により提供される /etc/vim/vimrc.ja を ~/.vimrc にコピーすると幸せになれます。

インストール後、以下の内容で ~/.vimrc を作成してください。

source /etc/vim/vimrc.ja

# My Settings

やてふの環境(begin 型コマンド)入力支援の挙動が以前と違う 

現在、yatex-1.73-7vl5 では、 begin 型コマンドの入力支援をデフォルトのショートカットに戻しています( 2009,12,12 yatex のアップデート)。


以前の挙動は、begin 型コマンドの入力支援はショートカットになっていました。

vine-default のやてふの設定では、 begin 型コマンドの入力支援を「補完」にしています。 これを「ショートカット」へ変えたい場合は、 ~/.emacs.el の適当な場所に以下を追加して下さい。

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; やてふの追加設定
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

(add-hook 'after-vine-default-setup-hook
	  (lambda ()
	    (setq YaTeX-no-begend-shortcut nil);; t: 補完, nil: ショートカット
	    ))

ネットワークの設定方法が以前と変わっているようです 

Vine Linux 5.0からは、標準のネットワーク制御システムがNetworkManagerに変更されました。Vine Linux 4.2などと同様な設定を行うには従来のネットワーク設定をご覧ください。

フロッピーディスクをマウントするには 

Vine Linux 5.xでは、フロッピードライブ用のドライバモジュールが、自動で読み込まれる様になっていません。まず、次のようにしてドライバモジュールを読み込ませてください。(USB接続の場合は必要ありません。)

# modprobe floppy

実際にマウントする場合は、gnome-mount(gnome-umount)やVinePlusのpmountを使用してください。(特にGNOMEの自動マウント機能を使いたい場合は、従来の/etc/fstabを編集して、mountコマンドを使用する方法は推奨できません。)

  •  wishes:0239 フロッピーディスクの扱いに付いて
  •  VineSeed:16944 Re: [質問] udev でのフロッピーディスクの扱いに付いて

ホームディレクトリに掘られているマルチバイトなディレクトリ名を ASCII なディレクトリ名へ変更したい 

CUI から設定する

$ LANG=C xdg-user-dirs-update --force
Moving DESKTOP directory from デスクトップ to Desktop
Moving DOWNLOAD directory from ダウンロード to Download
Moving TEMPLATES directory from テンプレート to Templates
Moving PUBLICSHARE directory from パブリック to Public
Moving DOCUMENTS directory from ドキュメント to Documents
Moving MUSIC directory from ミュージック to Music
Moving PICTURES directory from ピクチャー to Pictures
Moving VIDEOS directory from ビデオ to Videos

GUI から設定する

コマンドラインから以下を実行します。

$ LANG=C xdg-user-dirs-gtk-update

すると、以下の図のような "Update standard folders to current language?" (現在の言語(LANG=C)向けに標準フォルダーを更新しますか?)というウィンドウが出ますので、 "Don't ask me this again" のチェックボックスにチェックを入れて、 "Update Names" ボタンをクリックして下さい。

一般ユーザで CD/DVD の再生、読み込み・書き込みができない 

デフォルトでは、一般ユーザで VLC や MPlayer などから /dev/sr0 を開けずに DVD の再生に失敗してしまいます。 これは /dev/sr0 のパーミッションが 660 以下、もしくは /dev/sr0 の所有者、グループのためです。

いくつかの対応が考えられます:

  1. 一般ユーザを cdrom グループに入れてあげる。
  2. pam_console を用いて /dev/cdrom*, /dev/dvd* などを console user に owner を渡す
  3. /dev/sr0 のパーミッションを 664 以上にする

pam_console を用いた方法について説明します。

デフォルトに追加する場合は、

/etc/security/console.perms.d/50-default.perms 

に、以下を追加します。

<sr>=/dev/sr[0-9]

<console> 0660 <sr>	0660 root.cdrom

ローカル用途などで別途作成する場合は、

/etc/security/console.perms.d/51-local.perms

などを適当に作成しても構いません。

時々、起動時に固まることがあるのですが 

慌てて電源をきる前にF2キーを押してみてください。次の様な表示が出ていませんか?

Starting dkms_autoinstaller:
   Running DKMS auto installation service for kernel 2.6.35-6vl
   Building/Installing vboxadditions ...

このメッセージは、Vine Linux 5.0 から導入されたダイナミックカーネルモジュールサポート(DKMS)フレームワークによるものです。DMKS対応パッケージ(dkms-*)がインストールされている場合、カーネルパッケージを更新後、更新したカーネルで起動すると起動時にカーネルモジュールのビルドを行います。通常の起動時に比べて処理に時間がかかりますのでしばらくお待ちください。

Vine Linux 6.x FAQ

NVIDIA のグラフィックカードが正常に動作しない 

NVIDIA のグラフィックカード用には、以下の 2 種類のドライバーパッケージが供給されています。

  • xorg-x11-drv-nouveau (Open Source な nVidia 用ドライバー)
  • xorg-x11-drv-nvidia (プロプライエタリな NVIDIA ハードウエアアクセラレーションディスプレイドライバ)

このうち xorg-x11-drv-nouveau が優先して割り当てられますが、一部のグラフィックカードには対応できておらず、正常に動作しないことがあります。
この場合は、xorg-x11-drv-nvidia を使用するように設定する必要があります。

設定手順

runlevel3 (CUI の環境) で起動

設定のために GUI を使用しない runlevel 3 でログインします。

  1. grub の起動画面で "e" キーを押します (画面下部の説明文を読んでください)
  2. "↓" キーで kernel の行を選択して "e" キーを押します
  3. スペースを追加、"telinit 3" または "runlevel 3" とタイプし、"Enter" キーを押します
  4. "b" キーで起動します

xorg-x11-drv-nvidia をインストール

  1. sudo apt-get install xorg-x11-drv-nvidia

警告が表示されますが、無視してかまいません。

xorg.conf の修正

  1. /etc/X11/xorg.conf の Section "Device" の Driver "nv" を "nvidia" に修正します。以下は該当箇所の一例です。
Section "Device"
        Identifier  "Videocard0"
        Driver      "nvidia"
EndSection

xorg-x11-drv-nvidia を優先して使用するための設定

  1. /boot/grub/grub.conf を emacs、vi などで開き "kernel" で始まる行に "nouveau.modeset=0" という項目を加えます
kernel /boot/vmlinuz ro root=LABEL=/ resume=swap:/dev/sda6 vga=0x314 splash=silent quiet nouveau.modeset=0

再起動

  1. sudo /sbin/reboot
  2. runlevel 5 (GUI) で再起動

ドライバーの再構成を行うので、起動には通常より時間がかかります。→時々、起動時に固まることがあるのですが