Help us understand the problem. What is going on with this article?

Let's Note CF-SZ6 に Debian GNU/Linux をインストール・環境設定

本稿は、Let's Note CF-SZ6 に Debian GNU/Linux Stretch をインストールした時の備忘録です。

Debian GNU/Linux のインストール

https://www.disk-partition.com/jp/articles/shrink-volume-beyond-half-its-size.html などの記述にしたがい、以下の手順で Windows10 がインストールされている領域を縮小。

  1. システムの保護を無効に設定し、復元ポイントを全て削除
  2. デフラグを実行
  3. ディスクの管理ツールで、ボリュームの縮小を実行

Windows10 の領域を約 60GB まで縮小して、Debian をインストールする領域を用意した。

Device          Start        End    Sectors   Size Type
/dev/sda1        2048     534527     532480   260M EFI System
/dev/sda2      534528     567295      32768    16M Microsoft reserved
/dev/sda3      567296  125223588  124656293  59.5G Microsoft basic data
/dev/sda4   125224960  126896127    1671168   816M Windows recovery environment
/dev/sda5  1968951296 2000408575   31457280    15G unknown
/dev/sda6   126896128  127395839     499712   244M Linux filesystem
/dev/sda7   127395840 1937747967 1810352128 863.2G Linux filesystem
/dev/sda8  1937747968 1968951295   31203328  14.9G Linux swap

後は、PANASONIC のロゴが表示されている間に F2 キーを叩いて、BIOS メニューに入り、USB から起動すればインストーラが走る1。普通にインストーラを実行していけば、UEFI が自動検出されて、以下のように自動的にマルチブートな設定でインストールされる。MBR よりも楽だなあと初めて思った。

# efibootmgr 
BootCurrent: 0007
Timeout: 2 seconds
BootOrder: 0007,0000,0001,0004,0002,0003
Boot0000* Windows Boot Manager
Boot0001* Recovery Partition
Boot0002* UEFI: PXE IP4 Intel(R) Ethernet Connection (4) I219-LM
Boot0003* UEFI: PXE IP6 Intel(R) Ethernet Connection (4) I219-LM
Boot0004* Windows Recovery Environment
Boot0007* debian

同じ状態のはずの CF-SX3 を、Recovery Partition から起動して Windows7 専用機に復元しようとしたが、失敗した。リカバリデータが格納されている /dev/sda5 は変更していなかったはずなのだが。/dev/sda6〜8 を削除してから復元を試みる必要があった可能性がある。次回は注意すること。

各種設定

ネットワーク

無線LAN

Intel のドライバは non-free で配布されているので、最初に non-free のパッケージを sources.list に追加.

/etc/apt/sources.list
deb http://ftp.jp.debian.org/debian/ stretch main contrib non-free
deb-src http://ftp.jp.debian.org/debian/ stretch main contrib non-free

deb http://security.debian.org/debian-security stretch/updates main contrib non-free
deb-src http://security.debian.org/debian-security stretch/updates main contrib non-free

# stretch-updates, previously known as 'volatile'
deb http://ftp.jp.debian.org/debian/ stretch-updates main contrib non-free
deb-src http://ftp.jp.debian.org/debian/ stretch-updates main contrib non-free

その上で、firmware-iwlwifi をインストール。

# apt update
# apt install firmware-iwlwifi

初回時のみ、iwlwifi を再ロードして初期化する(またはシステム全体を再起動する)。

# modprobe -r iwlwifi
# modprobe iwlwifi
firmware: failed to load iwlwifi-8265-26.ucode (-2)
Direct firmware load for iwlwifi-8265-26.ucode failed with error -2
firmware: failed to load iwlwifi-8265-25.ucode (-2)
Direct firmware load for iwlwifi-8265-25.ucode failed with error -2
firmware: failed to load iwlwifi-8265-24.ucode (-2)
Direct firmware load for iwlwifi-8265-24.ucode failed with error -2
firmware: failed to load iwlwifi-8265-23.ucode (-2)
Direct firmware load for iwlwifi-8265-23.ucode failed with error -2
firmware: direct-loading firmware iwlwifi-8265-22.ucode
loaded firmware version 22.361476.0 op_mode iwlmvm

上記のように failed というメッセージがかなり出てくるので少し心配になるが、最終的に iwlwifi-8265-22.ucode を読み込むことができていて、動作には支障ないようだ。

なお、CF-SV8 に搭載されている Cannon Point-LP CNVi という無線 LAN アダプタの場合は、Debian 10 (buster) で用意されている firmware-iwlwifi パッケージでは動かない。backports.debian.org のリポジトリを有効化して、buster-backports の firmware-iwlwifi パッケージをインストールする必要がある。

# apt -t buster-backports install firmware-iwlwifi

外部からの通信を全て拒否する

サーバ目的として使うマシンではないので、外部からの全てのパケットは拒否するよう設定しておく。iptables-persistent をインストール。

# apt install iptables-persistent

以下のような設定ファイル /etc/iptables/rules.v4 および /etc/iptables/rules.v6 を用意。なお、v197 以後の systemd は NIC に対して、eth0 などの旧来の名前の代わりに、enp2s0 などの名前を割り当てるため、iptables で指定するインタフェース名も従来とは変化しているので、少々注意が必要。

/etc/iptables/rules.v4
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -i enp+ -m state --state INVALID,NEW -j DROP
-A INPUT -i wlp+ -m state --state INVALID,NEW -j DROP
-A FORWARD -i enp+ -m state --state INVALID,NEW -j DROP
-A FORWARD -i wlp+ -m state --state INVALID,NEW -j DROP
COMMIT

設定ファイルを読み込ませる。

# service netfilter-persistent reload

Bluetooth

buleman をインストールして、適当にペアリング。

# apt install blueman

VPN over SSH

従来は vpnc を使っていたが設定が面倒だったので、sshuttle に変更した。まず、sshuttle パッケージをインストール。

# apt install sshuttle

以下のようにコマンドを実行しておくと、指定されたサブネットの範囲については sshuttle を経由して接続するようになる。

$ sshuttle -D -r ユーザ名@サーバ名 AAA.BBB.CCC.DDD/XXX

省電力設定

ディスプレイを閉じた時にサスペンドするように変更

「アプリケーション」→「設定」→「電源管理」で設定できる。

CPU の周波数スケーリング

バッテリ稼働時間を延ばすには、負荷状況に応じて CPU の周波数を変更する設定が重要。従来は cpufreq デーモンのインストールなどが必要だったが、Linux 3.4 以後はカーネルモジュールで自動的に行われるようだ。

# apt install linux-cpupower
# cpupower frequency-info

として、CPU の周波数制御が powersave モードで行われるようになっている点を確認しておく。

デスクトップ設定

CapsLock キーを Control キーとして動作するようにする

以下を記述して,CapsLock を完全に Control キーとして動作するようにする.

/etc/default/keyboard
XKBMODEL="pc105"
XKBLAYOUT="jp"
XKBVARIANT=""
XKBOPTIONS="ctrl:nocaps"

タッチパッドでタップした時に、クリックと同じ働きをするようにする

xserver-xorg-input-synaptics をインストールする。

# apt install xserver-xorg-input-synaptics

その上で、synclient コマンドを起動する度に呼び出すように設定する。各種の流儀があるが、XFCE を利用している場合は、以下のように XFCE 用の xinitrc を書き換えておくのが楽だろう。

~/.config/xfce4/xinitrc
#!/bin/sh

if [ -z "${DISPLAY}" ]; then
    prog=xinit
else
    prog=/bin/sh
fi

# Enable tap actions on a touchpad.
if ( grep -q synaptics /var/log/Xorg.0.log ); then
    if [ -x /usr/bin/synclient ]; then
        /usr/bin/synclient TapButton1=1 LBCornerButton=2 RBCornerButton=3 MaxTapTime=140 \
                           SingleTapTimeout=140 MaxDoubleTapTime=140 VertEdgeScroll=1
    fi
fi

exec ${prog} /etc/xdg/xfce4/xinitrc $*

ビープ音が鳴らないようにする

https://wiki.ubuntulinux.jp/UbuntuTips/Hardware/StopBeepSound

日本語入力

emacs-mozc mozc-fcitx をインストール。

Let's Note 本体のキーボードは日本語配列なので、Happy Hacking Keyboard などの英語配列の USB 外付けキーボード使う場合などは、キー配列を切り替えて使う必要が生じる。fcitx-imlist コマンドを使うと、簡単に切り替えられるようになる。

;; インストール済みのキーボード配列を調べる
$ fcitx-imlist -l
fcitx-keyboard-us (キーボード - 英語 (US)) [enabled]
fcitx-keyboard-jp (キーボード - 日本語) [enabled]
mozc (Mozc) [enabled]
;; 英語配列を優先する
$ fcitx-imlist -s us
;; 日本語配列を優先する
$ fcitx-imlist -s jp

その他

etckeeper

# apt install etckeeper

git-lfs

https://gist.github.com/tsuchm/4cb3fd65927fe49ea77c256352a8915e

nextcloud-client

リポジトリを追加.

/etc/apt/sources.d/nextcloud-client.list
deb http://ppa.launchpad.net/nextcloud-devs/client/ubuntu zesty main

リポジトリ署名の公開鍵を追加,nextcloud-client をインストール.

# apt-key adv --recv-key --keyserver keyserver.ubuntu.com AD3DD469
# apt update
# apt install nextcloud-client

他のマシンと同一のパッケージ構成にする

元のマシンで以下のコマンドを実行すると、インストール済みパッケージ一覧が得られるので、このパッケージ一覧を使って、新しいマシンに一気に同じパッケージをインストールすれば良い。

$ dpkg --get-selections

しかし、元のマシンと、新しいマシンとで Debian のバージョンが異なっていたりすると、単にパッケージ一覧を使っても「そんなパッケージは存在しないよ」というエラーでインストールできない。

そのような場合は、not_depeneded_packages.pl を使って、他のパッケージによって依存されていないパッケージの一覧を作成し、その一覧に含まれるパッケージのインストールを試みると楽。

TODO

  • 残設定
  • 未記述
    • virtualbox
    • CF-SV8 では UEFI の secure boot が有効になっているので,所有者の個人鍵(Machine Owner Key; MOK)を登録して,MOK を使って kernel module に署名してやる必要がある(署名しないと、kernel module が load できない)。手順は、 https://stegard.net/2016/10/virtualbox-secure-boot-ubuntu-fail/ を参照。

  1. 高速起動が有効になっていると、F2 キーを叩いても無視されるらしい。Windows10 であれば、Windows キーを押しながら x を押してメニューを出し、電源オプションを選択。そこで高速起動を無効化すると、F2 キーが使えるようになる。 

tsuchm
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away