我们将 Debian GNU/Linux 安装和配置在 Let’s Note CF-SZ6 上

这篇文章是关于在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 中的说明,按照以下步骤缩小已安装Windows 10的分区。

    1. 设置系统保护为无效,并删除所有还原点

 

    1. 执行碎片整理

 

    使用磁盘管理工具执行卷缩小操作

我将Windows 10的空间缩小至约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启动运行安装程序。只需正常运行安装程序,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

我试图通过恢复分区从 Windows 7 专用设备中恢复相同状态的 CF-SX3,但失败了。 虽然我应该没有更改存储恢复数据的 /dev/sda5,但有可能需要先删除 /dev/sda6〜8,然后再尝试恢复。 下次要注意。

不同的配置

网络

Wi-Fi

因为Intel的驱动程序是非自由软件,所以需要先在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

然后安装固件-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,而且似乎没有影响到正常运作。

需要注意的是,对于搭载了Cannon Point-LP CNVi无线LAN适配器的CF-SV8而言,在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会将网卡命名为enp2s0等,而不是以前的eth0等传统名称,所以在iptables中指定接口名称也发生了一些变化,需要留意。

*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

蓝牙

安装Buleman并进行随意配对。

# apt install blueman

通过SSH隧道的VPN

由于配置繁琐,我曾经使用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 键运行

将以下内容写入并使大写锁定键完全作为控制键运行。

XKBMODEL="pc105"
XKBLAYOUT="jp"
XKBVARIANT=""
XKBOPTIONS="ctrl:nocaps"

设置触摸板的点击功能与点击操作相同

安装xserver-xorg-input-synaptics。

# apt install xserver-xorg-input-synaptics

然后,自动设置为每次启动 synclient 命令时调用。有各种不同的做法,但是如果使用 XFCE,最简单的方法是修改 XFCE 用的 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 $*

为了防止嘟嘟声响起

 

输入日语

安装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 (native Chinese paraphrase): 系统配置管理器

# apt install etckeeper

Git-lfs

 

下一代云端客户端。

添加存储库。

deb http://ppa.launchpad.net/nextcloud-devs/client/ubuntu zesty main

添加存储库签名的公钥,然后安装Nextcloud客户端。

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

[2022/06/13更新] 在Debian bullseye中,nextcloud-desktop已经包含在官方软件包库中,因此上述设置不再必要。只需要简单地按照以下步骤操作即可。

# apt install nextcloud-desktop

与其他机器保持相同的包装结构。

如果在原始机器上执行以下命令,将获得已安装包的列表,然后可以使用该列表在新的机器上一次性安装相同的包。

$ dpkg --get-selections

然而,如果原始机器和新机器上的 Debian 版本不同,仅仅使用软件包列表还会出现“不存在这样的软件包”的错误,无法进行安装。

在这种情况下,使用not_depeneded_packages.pl脚本可以创建一个不受其他软件包影响的软件包列表,然后尝试安装这些列表中的软件包会更加方便。

调整时间

[2022/06/13补充] 在Debian bullseye中,可以使用systemd-timesyncd来替代传统的ntpd。

首先,执行 timedatectl 命令以确认硬件 CMOS 时钟的设置。

# timedatectl status
               Local time: 月 2022-06-13 22:12:48 JST
           Universal time: 月 2022-06-13 13:12:48 UTC
                 RTC time: 月 2022-06-13 22:12:48
                Time zone: Asia/Tokyo (JST, +0900)
System clock synchronized: no
              NTP service: n/a
          RTC in local TZ: yes

Warning: The system is configured to read the RTC time in the local time zone.
         This mode cannot be fully supported. It will create various problems
         with time zone changes and daylight saving time adjustments. The RTC
         time is never updated, it relies on external facilities to maintain it.
         If at all possible, use RTC in UTC by calling
         'timedatectl set-local-rtc 0'.

根据警告,需要更改设置,将硬件CMOS时钟设定为UTC。

# timedatectl set-local-rtc 0
# timedatectl status
               Local time: 月 2022-06-13 22:13:23 JST
           Universal time: 月 2022-06-13 13:13:23 UTC
                 RTC time: 月 2022-06-13 13:13:23
                Time zone: Asia/Tokyo (JST, +0900)
System clock synchronized: no
              NTP service: n/a
          RTC in local TZ: no

然后安装systemd-timesyncd。

# apt install systemd-timesyncd

请编辑/etc/systemd/timesyncd.conf文件的NTP=行,将其设置为参考ntp.nict.jp。

diff --git a/systemd/timesyncd.conf b/systemd/timesyncd.conf
index e74c0f6..a8b93d9 100644
--- a/systemd/timesyncd.conf
+++ b/systemd/timesyncd.conf
@@ -12,7 +12,7 @@
 # See timesyncd.conf(5) for details.
 
 [Time]
-#NTP=
+NTP=ntp.nict.jp
 #FallbackNTP=0.debian.pool.ntp.org 1.debian.pool.ntp.org 2.debian.pool.ntp.org 3.debian.pool.ntp.org
 #RootDistanceMaxSec=5
 #PollIntervalMinSec=32

如果在重新启动 systemd-timesyncd 后,如果获得如下结果,则表示正常运行(时间同步):

# systemctl restart systemd-timesyncd
# timedatectl status
               Local time: 月 2022-06-13 22:39:05 JST
           Universal time: 月 2022-06-13 13:39:05 UTC
                 RTC time: 月 2022-06-13 22:39:05
                Time zone: Asia/Tokyo (JST, +0900)
System clock synchronized: yes
              NTP service: active
          RTC in local TZ: no
# timedatectl timesync-status 
       Server: 2001:df0:232:eea0::fff4 (ntp.nict.jp)
Poll interval: 8min 32s (min: 32s; max 34min 8s)
         Leap: normal
      Version: 4
      Stratum: 1
    Reference: NICT
    Precision: 1us (-20)
Root distance: 0 (max: 5s)
       Offset: +62.526ms
        Delay: 17.242ms
       Jitter: 35.790ms
 Packet count: 7
    Frequency: -48.092ppm

待办事项

    • 残設定

ICカード
MultiArch

未記述

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/ を参照。

据说,如果启用了快速启动,即使按下F2键也会被忽略。如果你使用的是Windows10系统,按下Windows键和x键弹出菜单,选择电源选项。在那里禁用快速启动,这样就可以使用F2键了。
广告
将在 10 秒后关闭
bannerAds