MENU of Ubuntu Linux

私のメモです。参考になればいいですが、間違っていたらごめんなさい。

戯れ言

--------------------------------------------------------




























Ubuntu Linux

NUC DN2820FYKH に対応しているカーネルを採用しているLinuxが2014年06月の時点でこれしかありませんでした。幸いDebianから派生したLinuxでなので、Debianと同じ流儀で設定や操作ができるため、DN2820FYKHにはこれをインストールすることにしました。

BIOSの設定

DN2820FYKHはセキュアBIOSを採用しており、Linuxのインストールには苦労するようです。僕の環境ではBIOSの設定以前に以下ではまりました。。。

キーボードについては慌ててを安いキーボードTK-FCM062BKを買ってきて解決しましたが、外付けHDDは諦めました。一度起動したらそのままなので。

まず、BIOSをアップデートします。あらかじめBIOSファイルをダウンロードしてUSBメモリに保存しておきます。画面が起動したらF7を押し、BIOSアップデートユーティリティを起動してBIOSをアップデートします(詳細はIntelのページ)。

ようやくBIOSの設定です。デフォルトの状態ではインストールできません。僕は「断片/DN2820FYKHDebian」を参考に、Advanced画面から以下の設定をしました。BIOSの全画面はこちらのページからご覧になれます(このBIOSはキャプチャ機能が付いてます)。また、最初にF9を押して、デフォルトを読み込んでから設定しています。

Back to MENU

インストール

BIOSの設定を終えたら、Ubuntuのインストールディスクが入った外付けDVDドライブを前面に挿し、外付けHDDを背面のUSBに挿して電源を入れます。外付けHDDを認識しない場合、Ctrl+Alt+Delキーで再起動して、起動直後にF10キーを押します。すると、起動ドライブの選択画面が現れますので、外付けHDDが表示されていることを確認してからDVDドライブから起動すると良いようです。起動ドライブ選択画面に外付けHDDが認識されていない場合、再度Ctrl+Alt+Delキーで再起動を繰り返します。

今回はUbuntu Server 14.04 LTSのmini.isoを使ってネットワークインストールを行いました。選択したパッケージはBasic Ubuntu server、OpenSSH server、Samba file serverです。ウェブサーバのためにBasic、PuttyでログインするためにOpenSSHサーバ、ファイルサーバのためにSambaサーバを選択しました。

Back to MENU

iptablesの設定

インストールが終了したら、最初にファイアウォールの設定です。ubuntuではNetworkManagerやiptalbes-restore/saveコマンドなどで管理する方法もあるようですが、僕はOld Styleの/etc/network/interfaceで設定しました。Debianではこの方法で設定した場合、/etc/init.d/networking restartによって設定を反映できましたが、ubuntuではサーバ自体の再起動が必要でした。

設定した内容は次の通りです。ここの「サーバ」とはubuntuをインストールしたNUCのことです。

実際のinterfaceファイルはこちらをご覧下さい。また、UbuntuのiptablesコマンドはDNS逆引きオプションがオンになっています。iptalbes -Lで設定を確認する際は、iptables -nLとDNS逆引きをオフにすると表示が速いです。

Back to MENU

OpenSSHの設定

Puttyを使ってコンソールでサーバにアクセスするため、OpenSSHとPutty用の設定をします。PuttyのWindowsでの設定はWindowsのページをご覧下さい。

Puttyを使ってログインできればよく、ユーザは僕一人であるため、公開鍵を使ってProtocol2のみの認証を許可するように設定します。設定ファイルは/etc/ssh/sshd_configです。以下の項目を設定(または確認)しました。

Protocol 2
PermitRootLogin no
RSAAuthentication no
PasswordAuthentication no
ChallengeResponseAuthentication no
X11Forwarding no
UsePAM no
# プロトコルは2のみ許可
# rootでのログインは許可しない
# DSAを使用するためRSAはプロトコル1のみ
# パスワード認証によるログインは拒否
# チャレンジ・レスポンス認証は使用しない
# X11の転送はしない
# チャレンジ・レスポンス認証を使用しないのでno

上記の設定後、/etc/init.d/ssh restartでsshdを再起動して設定を反映させます。また、PuTTYで作成したssh2用の公開鍵をユーザの.sshディレクトリ(/home/username/.ssh)にauthorized_keys2という名前でコピーし、パーミッションを400に設定します。これでPuTTYを使ってWindowsからログインできるようになります。

実際のsshd_configファイルはこちらになります。

Back to MENU

Sambaの設定

Debianで使っていたこれまでの設定ファイルを引き継いで使えます。デフォルトファイルからの変更点は次の通りです。太字の項目は、Debianで使っていた設定ファイルに記載がなく(あるいはコメントアウトされていて)、Ubuntuのデフォルトファイルにある項目です。斜体の項目はその逆です。

・hosts allow = 192.168.0.0/28
・hosts deny = all
・server string = 好きな名称
・workgroup = 好みの名称
・unix charset = UTF-8
・dos charset = CP932
server role = standalone server
encrypt passwords = true
security = user
invalid users = root
unix password sync = no
pam password change = no
map to user = never
;usershare allow guests = no
;socket options = TCP_NODELAY
・printerセクションは無効
・homeセクションも無効
# 192.168.0.1〜192.168.0.15のみ接続を許可
# 上記のIPアドレス以外は拒否
# 共有フォルダの認証ウィンドウに表示される名称
# Windowsマシンのワークグループも同名にします
# サーバの言語設定。UbuntuはUTF-8です。
# Windowsマシンの言語設定。通常CP932です。
# スタンドアロンの設定。Domainログインは不可
# パスワードは暗号化
# Sambaユーザのみログイン可。
# rootでのログインは許可しない
# Linuxのパスワードと同期しない
# SMBパスワードは使用していないので同期しない
# 登録ユーザ以外は拒否
# usershareコマンドは使用しないのでコメントアウト
# デフォルトでsocket options = TCP_NODELAYのため設定をコメントアウト
 
 

socket optionsはSamba Client1の場合だけ効果があるようです。また、下手に設定するとTCP stackを損なう可能性があるため、コメントアウト(行頭に";"を追加)しました。

Linuxにはログインしないsamba専用ユーザとして登録する場合、シェルログインしないよう、次のコマンドでユーザを追加します。

# useradd -s /bin/false USERNAME
  ### シェルを実行できないよう-s /bin/falseを付加

共有フォルダの設定は、複数のユーザが居ることを前提に次の方針で設定しました。

実際のsmb.confファイルはこちらになります。

Back to MENU

Apache2の設定

1. apache2.confの設定

これまで設定ファイルを使いまわしていましたが、よく見るとversion 2になった際に不要になったモジュールの設定までapache2.confに記載していました。これまでの設定ファイルは使わず、デフォルトファイルから以下を変更して使うことにしました。

・ServerRoot "/etc/apache2"
・# Mutex file
・KeepAliveTimeout 15
・ServerTokens Prod
# Apache2の設定ファイルがあるディレクトリを指定
# lockfileはトラブルの元のようなので使用せず
# 元のファイルは5に設定されています。ちょっと長めに
# SeverTokenは製品名のみを返す

2. モジュールの設定

次に読み込むモジュールを検討します。httpd.confの時代から読み込んでいたmpm_prefork、mpm_workerは、mpm_eventとしてデフォルトで読み込まれるようです。デフォルトではこれらのモジュールが読み込まれており、httpd.confの時代に明記していたmimeやsetenvifなども読み込まれていました。結局、僕の環境で追加で読み込みが必要なモジュールは、SSI(Serve Side Include)に必要なIncludeモジュール、cgiに必要なcgidモジュールでした。また、server-statusを表示しないため、statusモジュールを外しました(a2dismod status)。

読み込むモジュールの設定を変えたい場合、/etc/apache2/mods-available以下にあるモジュール名.confファイルを編集します。たとえば、Webページを表示する際の言語の優先順位で日本語を最優先にしたい場合、negotiationモジュールの設定ファイルnegotiation.confで、LanguagePriorityを以下のように編集します。

修正前:LanguagePriority en ca cs da de el eo es et fr he hr it ja ko ltz nl nn no pl pt pt-BR ru sv tr zh-CN zh-TW
修正後:LanguagePriority ja en ca cs da de el eo es et fr he hr it ko ltz nl nn no pl pt pt-BR ru sv tr zh-CN zh-TW

モジュールを読み込む際は、a2enmod モジュール名 で読み込みます。このコマンドを実行すると、/etc/apache2/mods-enabled以下に/etc/apache2/mods-availableへのシンボリックリンクが作成され、apache2を再起動してa2enmodで読み込むように設定したモジュールが読み込まれます。a2enmodコマンド、a2dismodコマンドは、このシンボリックを作成、削除するコマンドでしかないため、モジュールの設定を変えたらapache2を再起動するまで設定は変更されません。

SSI(Serve Side Include)に必要なIncludeモジュールを読み込んでからapache2を再起動するまでの手順は次のようになります。。

# a2enmod include      ### Includeモジュールの読み込み
# service apache2 restart ### apache2の再起動

ちなみに、読み込み可能なモジュールは、/etc/apache2/mods-available以下にあります。どのようなモジュールが読み込まれているかは、apache2ctl -l、apache2ctl -M で確認できます。さらに、サーバの状態はapache2ctl -V で表示されます。

3. siteの設定

apache2の設定を終えたら、siteの設定を行います。siteの設定は、000-default.confを編集する、或いは/etc/apache2/site-available以下にファイルを作成して行います。作成したサイトを有効にするには、a2ensite 作成したファイル名 を実行します。これもa2enmod同様、/etc/apache2/sites-availableにシンボリックリンクを作成するだけです。そのため、設定変更を有効にするにはapache2を再起動する必要があります。

僕のウェブページのように、トップページに設定したカウンタをSSIで動かす場合、/var/www/htmlディレクトリに次のように記述します。SSI用にOptionにIncludesを入れておく必要があります。また、index.htmlファイルがない場合、ディレクトリの一覧を表示しないようIndexesオプションを外しています。

  <Directory /home/httpd/html>
     Options Includes FollowSymLinks
     Order allow,deny
     Allow from all
  </Directory>

4. cgiの設定

cgiを動かす場合、/etc/apache2/conf-availableにあるserve-cgi-bin.confを修正して使います。以下の例は、serve-cgi-bin.confでcgiのディレクトリを/var/www/cgi-binに変更しただけの例です。

<IfModule mod_alias.c>
    <IfModule mod_cgi.c>
        Define ENABLE_USR_LIB_CGI_BIN
    </IfModule>

    <IfModule mod_cgid.c>
        Define ENABLE_USR_LIB_CGI_BIN
    </IfModule>

    <IfDefine ENABLE_USR_LIB_CGI_BIN>
        ScriptAlias /cgi-bin/ /var/www/cgi-bin/
        <Directory "/var/www/cgi-bin">
            AllowOverride None
            Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
            Require all granted
        </Directory>
    </IfDefine>
</IfModule>

serve-cgi-bin.confを有効にするために、site設定ファイルに以下の1行を加えます。

Include conf-available/serve-cgi-bin.conf

また、cgiのモジュールを有効にするため、次のコマンドでcgidモジュールを有効にします。

# a2enmod cgid

5. 認証ページの設定

認証が必要なディレクトリは、次のようにディレクティブを記述します。これまではBasic認証(パスワードがそのまま流れる認証)で行ってきましたが、最近のブラウザはDigest認証(パスワードが暗号化して流れる認証)に対応しているため、この機会に変更することにしました。この例は、/var/www/html/secret以下のディレクトリに、Digest認証をパスする全ての人(valid-user)にアクセスを認める設定です。ユーザIDとパスワードのファイルはAuthUserFileに記述されたファイル(/etc/apache2/.htdigest)となります。

<Directory /var/www/html/secret>
    AuthName "Restricted Space"
    AuthType Digest
    AuthDigestDomain /secret/
    AuthUserFile /etc/apache2/.htdigest
    require valid-user
</Directory>

次に、パスワードファイルを作成します。たとえば、fishers fellowというユーザIDを作成する場合、次のように入力します。

# htdigest -c /etc/apache2/.htdigest 'Restricted Space' 'fishers fellow'
# Adding password for fishers fellow in realm Restricted Space.
# New password:{パスワードを入力}
# Re-type new password:{パスワードを再入力}

パスワードファイルにユーザIDとパスワードを追加する場合、-cオプションが不要です。たとえば、fishers guestというユーザIDを追加する場合、次のように入力します。

# htdigest /etc/apache2/.htdigest 'Restricted Space' 'fishers guest'
# Adding password for fishers guest in realm Restricted Space.
# New password:{パスワードを入力}
# Re-type new password:{パスワードを再入力}

上記でDigest認証の設定が終わりました。最後にDigest認証が可能になるように、auth_digestモジュールを有効にしてから、apache2を再起動します。

# a2enmod auth_digest
# service apache2 restart

ちなみに、auth_digestモジュールを有効にする前にapache2を再起動しようとするとエラーになります。

Back to MENU

HyperEstrairの設定

検索機能はCGIで行うため、Hyper-Estraierを設定する前にCGIを使えるようにしておきます(CGIの設定を参照)。また、make、gccがインストールされていない場合、apt-get installでmakeとgccをインストールします。

その後、Hyper-Estraierをインストールして設定します。その方法はHyper-Estraierのイントロダクションのページに記述されたやり方そのものです。僕の環境では、Hyper-Estraierの他に、libicnvQDBMzlibも必要でした。以下、それらのtarballをダウンロード&インストールした後、Hyper-Estraierをインストールする手順を示します(libiconv、QDBM、zlibも同様の手順でインストールできます)。

# tar zxvf hyperestraier-1.4.13.tar.gz
# cd hyperestraier-1.4.13
# ./configure
# make
# make check
# make install
# cp /usr/local/libexec/estseek.cgi /var/www/cgi-bin
# cp /usr/local/share/hyperestraier/locale/ja/*.* /var/www/cgi-bin
 tarballを展開
 展開したディレクトリへ
 設定、依存関係の確認
 実行ファイル、ライブラリ作成
 実行ファイル、ライブラリの確認
 実行ファイル、ライブラリのコピー
 CGIを動かすディレクトリにHyper-Estraierをコピー。ver. 1.0のconfファイルでは起動できない。
 日本語版テンプレート、コンフィグファイルなどをコピー

以上でインストールは終了です。もしHyper-Estraierをアンインストールしたいならば、tarballを展開したディレクトリでmake uninstallを行います。

次にコンフィグファイルを編集し、検索用インデックスを作成します。コンフィグファイル(estseek.conf)をエディタで開き、次の箇所を修正します。

indexname: /var/www/cgi-bin/casket
replace: ^file:///var/www/html/{{!}}http://fishers.dtdns.net/
 # 検索用インデックスのディレクトリ
 # ウェブサーバのドキュメントルートとURI

上の編集を終えたら、好みでテンプレート(estseek.tmpl)やトップページ(estseek.top)も編集します。 もちろん、estseek.confでtmplfileとtopファイルに自前のものを用いても問題ありません。編集が終えたら、estseek.cgiのパーミッションを100に、テンプレートなどは400に変更し、ユーザ、グループをwww-dataに変更します。

# cd /var/www/cgi-bin/
# chmod 400 estseek.*
# chmod 100 estseek.cgi
# chown www-data estseek.*
# chgrp www-data estseek.*

最後に、検索用インデックスを下のコマンドで作成します。その際、estseek.confのindexnameに指定したディレクトリに検索用インデックスを作成しなくてはなりません。

# cd /var/www/cgi-bin
# estcmd gather -il ja -sd casket /var/www/html
# chown -R www-data casket
# chgrp -R www-data casket
# chmod 400 casket
# find casket -type d | xargs chmod 100
 検索用インデックスを作成するディレクトリへ移動
 /var/www/html以下を日本語でインデックスにする
 ユーザやパーミッションの変更



estcmdには指定したディレクトリ以下を除外するオプションがありません(ファイル単位ならばあります)。 そのため、例えば/var/www/html/friendを検索結果に表示したくない場合、後から逐一friend配下のファイルを 除外することになるのが少し面倒です。。。

Back to MENU

ワイヤレスLANの設定

Ubuntu Server 14.04 LTSのカーネルは、dmesgで以下のように表示され、デフォルトでワイヤレスLANを認識します(ちなみにBluetoothも認識します)。

[ 13.024498] Intel(R) Wireless WiFi driver for Linux, in-tree:
[ 13.024503] Copyright(c) 2003-2013 Intel Corporation
[ 13.024706] iwlwifi 0000:02:00.0: irq 106 for MSI/MSI-X
[ 13.406227] iwlwifi 0000:02:00.0: Direct firmware load failed with error -2
[ 13.406233] iwlwifi 0000:02:00.0: Falling back to user helper
    ・
    ・
    ・
[ 14.231778] iwlwifi 0000:02:00.0: Detected Intel(R) Wireless N 7260, REV=0x144

ワイヤレスLANの設定には、iwというパッケージが必要です。apt-get install iwでインストールします。その後、archlinuxのWireless Setup(日本語)を参考にセットアップしました。

まず、モジュールが読み込まれているか確認します。必要なモジュールは次のものです。

iwlmvm  :IntelのワイヤレスLANドライバ
iwlwifi :IntelのワイヤレスLANドライバのファームウェア
mac80211:ドライバのフレームワーク
cfg80211:IEEE802.11の設定用API

読み込まれていないモジュールがあれば、modprobe モジュール名 で読み込みましょう。ただ、これらのモジュールは僕の環境では自動で読み込まれていました。

今後はワイヤレスLANのデバイス名を調べます。iw dev を実行すると表示されます。

# iw dev
phy#0
        Interface wlan0
                ifindex 3
                type managed

上記では、デバイス名はwlan0です。

もし、僕の環境のように、iptablesでwlan0がブロックされているならば、以下のコマンドでwlan0を通過するパケットを通すようにしておきます。

# iptables -A INPUT -i wlan0 j ACCEPT
# iptables -A OUTPUT -o wlan0 -j ACCEPT

次に、デバイスを有効にします。ipコマンドを使って、次のように入力します。

# ip link set wlan0 up

デバイスwlan0が有効になったかを、次のipコマンドで確認します。

# ip link show wlan0
3: wlan0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN mode DEFAULT group default qlen 1000
    link/ether ac:7b:a1:e7:98:bb brd ff:ff:ff:ff:ff:ff

上の表示のように、UPが出力されていればデバイスが有効になっています。ipコマンドでデバイスを有効にしましたが、ifconfig wlan0 up でも同じです。

デバイスが有効になったら、wpa_supplicantを使ってワイヤレスLANの認証などの設定します。但し、wpa_supplicantは開発途上のため、バージョンによって多少の変更があるようです。ここではv2.1で設定しています。

WPAやWPA2認証でwpa_supplicantを使用するには、まず暗号化されたWPA認証キーを作成した方が良いです。次のコマンドで作成できます。

# wpa_passphrase SSID 認証キー >> /etc/wpa_supplicant/wpa_supplicant.conf

上のコマンドでは、/etc/wpa_supplicant/wpa_supplicant.confに暗号化された認証キーが書き出されます。一例として、SSIDを「TEST_ID」、認証キーを「ninsyou_key」で作成したwpa_supplicant.confを以下に示します。

network={
        ssid="TEST_ID"
        #psk="ninsyou_key"
        psk=2a0e54f69929d141237a32d35257a6da1865d64e41e165a59bba9c45b6d98cce
}

#psk=の行には、暗号化されていないパスワードが確認用に書き出されます。確認を終えたら消しておきましょう。

次の、自分のネットワーク環境に合わせてwpa_supplicant.confの「network={」以下に追記します。WPA2-PSK(AES)でステルスSSIDに接続するには次のようになります。

network={
        ssid="TEST_ID"
        proto=RSN
        key_mgmt=WPA-PSK
        pairwise=CCMP
        group=CCMP
        psk=2a0e54f69929d141237a32d35257a6da1865d64e41e165a59bba9c45b6d         scan_ssid=1
}

各設定項目の意味は次の通りです。他の設定項目は、「Gentoo Linuxドキュメントの無線ネットワーク」などを参考にしてください。

項目説明
ssid特定のアクセスポイントに接続する場合は必須
proto暗号化方式。WPA2ならRSN、WPAならWPAで、WEPの場合は不要です。
RSN WPAを併記すると、複数の暗号化方式を試します。
key_mgmtキーマネージメントプロトコル。WPA-PSKまたはWPA-EAPが入ります。
個人の使用ではWPA-PSKがほとんどです。
pairwiseWPAの一対一の暗号化手法。AESはCCMP、TKIPはTKIPを指定します。WEPの場合はnoneとなります。
groupWPAのブロードキャスト時の暗号化手法。AESはCCMP、TKIPはTKIPを指定します。WEPの場合はnoneとなります。
scan_ssidSSIDのスキャン方法の指定。ステルスSSIDの場合は1を指定しないと繋がらない。

wpa_supplicant.confの設定を終えたら、次のコマンドでアクセスポイントに接続します。

# wpa_supplicant -i wlan0 -c /etc/wpa_supplicant/wpa_supplicant.conf

無事に接続できると、次のようなメッセージが表示されます。以下の「AP」はアクセスポイントの略称です。

Successfully initialized wpa_supplicant
wlan0: CTRL-EVENT-SCAN-STARTED
wlan0: SME: Trying to authenticate with APのMACアドレス (SSID='TEST_ID' freq=2417 MHz)
wlan0: Trying to associate with APのMACアドレス (SSID='TEST_ID' freq=2417 MHz)
wlan0: Associated with APのMACアドレス
wlan0: WPA: Key negotiation completed with APのMACアドレス [PTK=CCMP GTK=CCMP]
wlan0: CTRL-EVENT-CONNECTED - Connection to APのMACアドレス completed [id=0 id_str=]
wlan0: WPA: Group rekeying completed with APのMACアドレス [GTK=CCMP]

wpa_supplicantコマンドを実行するとシェルが入力できなくなります。そこで、接続を確認できたら「-B」オプションを付けてバックグランドで実行します。

# wpa_supplicant -i wlan0 -c /etc/wpa_supplicant/wpa_supplicant.conf -B

無事に接続できたかを確認するには、iwconfig wlan0 を実行し、「Access Point」にアクセスポイントのMACアドレスが表示されていればOKです。接続できていない場合、「Not-Associated」と表示されます。

最後にIPアドレスを与えます。固定IPアドレスの場合は次の通りです。ここではIPアドレスを192.168.0.9/24の例です。

# ip addr add 192.168.0.9/24 dev wlan0

DHCPの場合は次の通りです。

# dhclient wlan0

通信ができているかどうかは、ifconfig wlan0で確認できます。

ワイヤレスLANを切断する場合、次のコマンドを実行します。

# ifconfig wlan0 down
# ip addr del 192.168.0.9/24 dev wlan0
# ps ax |grep wpa_supplicant
# kill -9 上記のプロセスID番号

起動時にワイヤレスLANが繋がるようにするには、/etc/network/interfacesファイルに以下を追記します。iptablesの設定の前に記述しましょう。

# The secondary network interface
auto wlan0
iface wlan0 inet static
        address 192.168.0.9
        netmask 255.255.255.0
        network 192.168.0.0
        broadcast 192.168.0.255
        gateway 192.168.0.145
        dns-nameservers ネームサーバのIPアドレス
        dns-search localdomain
        wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf

Back to MENU

内臓ハードディスクへ

USBの外付けハードディスクが意外とうるさく、再起動にたまに失敗することから、内臓ハードディスクへ変更することにしました。結局は再度インストールしたのですが、Ubuntuのパーティションがext3ならばPartedを使って、パーティションのコピーとリサイズができると思います。

パーティションをコピーした後、GRUBをがUbuntuのパーティションの先頭にインストールしていれば、Ubuntuのパーティションをアクティブにしておくと起動できるかも知れません。一方、MBRにGRUBをインストールしている場合、内臓ハードディスクのMBRにGRUBを再度インストールする必要があります。

GRUBを再インストールするにはUbuntuのインストールディスクを使います。手順は次の通りです。

  1. DVDドライブでインストーラを起動
  2. 「Advanced Options」→「Rescue mode」を選択
  3. 通常のインストールのように言語、場所、キーボード、ネットワーク、ホスト名、ドメイン名などを正しく設定する

  4. 必要なライブラリなどを自動でダウンロードし、タイムゾーンを設定
  5. レスキューモードのルートファイルシステムとして使うデバイスを選択
  6. レスキュー操作の画面で「GRUBブートローダの再インストール」を選択

ちなみに、レスキュー操作の画面には、選択したデバイス(例 /dev/sda1など)内でシェルを動かすこともできます。このシェルを用いると、設定ファイルなどを見ることができますが、書き込みができない状態になっています。これはデバイスを読み取り専用でマウントしているためです。その場合、次のコマンドで再マウントすると読み書きできるようになります。

# mount -o remount,rw /

パーティションの一つが壊れて起動できなくなった際、/etc/fstabを編集する必要が生じます。このような時にレスキューモードとルートファイルシステムの再マウントで/etc/fstabを編集できるようになります。

Back to MENU

設定ファイル

Back to MENU