惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

爱范儿
爱范儿
Simon Willison's Weblog
Simon Willison's Weblog
K
Kaspersky official blog
P
Palo Alto Networks Blog
Google DeepMind News
Google DeepMind News
www.infosecurity-magazine.com
www.infosecurity-magazine.com
AI
AI
G
GRAHAM CLULEY
O
OpenAI News
Application and Cybersecurity Blog
Application and Cybersecurity Blog
Help Net Security
Help Net Security
L
LINUX DO - 热门话题
S
Schneier on Security
P
Privacy International News Feed
L
Lohrmann on Cybersecurity
SecWiki News
SecWiki News
C
Cybersecurity and Infrastructure Security Agency CISA
T
Threatpost
C
Cyber Attacks, Cyber Crime and Cyber Security
A
Arctic Wolf
C
Cisco Blogs
V2EX - 技术
V2EX - 技术
有赞技术团队
有赞技术团队
Apple Machine Learning Research
Apple Machine Learning Research
月光博客
月光博客
Latest news
Latest news
人人都是产品经理
人人都是产品经理
Schneier on Security
Schneier on Security
Last Week in AI
Last Week in AI
Webroot Blog
Webroot Blog
美团技术团队
N
News and Events Feed by Topic
大猫的无限游戏
大猫的无限游戏
Security Archives - TechRepublic
Security Archives - TechRepublic
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
博客园 - 三生石上(FineUI控件)
The Cloudflare Blog
Project Zero
Project Zero
博客园_首页
Cloudbric
Cloudbric
IT之家
IT之家
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
雷峰网
雷峰网
罗磊的独立博客
Hacker News: Ask HN
Hacker News: Ask HN
The Last Watchdog
The Last Watchdog
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
T
Tenable Blog
Scott Helme
Scott Helme

晚花行乐

马克卡尼在2026年达沃斯论坛上的讲话(阅读材料) | 晚花行乐 鸡娃如何用力才是恰到好处 | 晚花行乐 读万卷书,行万里路的辩证关系 | 晚花行乐 反对培训机构掐尖招生 | 晚花行乐 小泽和建国会谈最后10分钟全文(阅读材料) | 晚花行乐 来看看 DeepSeek 怎么鸡娃 | 晚花行乐 谈谈基本功 | 晚花行乐 惠普 ProDesk SFF PC 各系列参数对比 | 晚花行乐 解决瘦客户机上安装 Debian 12 启动失败问题 | 晚花行乐 意拾喻言:老外写的文言文 | 晚花行乐 笠翁对韵中的典故(十三元) | 晚花行乐 谈谈中考取消四小门 | 晚花行乐 亚马逊云科技产品免费试用攻略(3) - 对象存储服务 | 晚花行乐 在 Windows 10 LTSC 版本上安装 WSL2 | 晚花行乐 在 Debian 12 上安装 Nvidia 显卡驱动程序 | 晚花行乐 解决 Debian 12 关机失败问题 | 晚花行乐 解决 VS Code 自动更新版本后卡在连接界面 | 晚花行乐 观看巴黎奥运会有感 | 晚花行乐 在 Windows10 上安装惠普旧打印机驱动程序 | 晚花行乐 欢迎关注公众号:晚花行乐 | 晚花行乐 如何编写拼写检查器 | 晚花行乐 亚马逊云科技产品免费试用攻略(2) - 云服务器 | 晚花行乐 Pandas 中 axis 参数的理解(附实例) | 晚花行乐 我打算命个名,叫什么什么 Manager | 晚花行乐 上海武康路历史建筑一览 | 晚花行乐 Python 实现简单的数学表达式解析并处理 | 晚花行乐 观看马拉松的感悟 | 晚花行乐 Python 保存 Cookies 到文件并再次读取 | 晚花行乐 如何为 Hugo 静态网站添加评论功能 | 晚花行乐 Linux 共享打印服务 CUPS | 晚花行乐 如何为 Hugo 静态网站添加搜索功能 | 晚花行乐 解决 CSV 文件的第一列不能解析 | 晚花行乐 亚马逊云科技产品免费试用攻略(1) - 注册账户 | 晚花行乐 第二幕 Atma 的闲聊 | 晚花行乐 第二幕野蛮人的语音 | 晚花行乐 古入声和普通话平声对照 | 晚花行乐 第一幕的背景音乐 | 晚花行乐 第二幕亚马逊的语音 | 晚花行乐 第一幕的亚马逊的语音 | 晚花行乐 第一幕的野蛮人的语音 | 晚花行乐 MacOS 的彩蛋:Here's to the crazy ones | 晚花行乐 笠翁对韵的基本知识 | 晚花行乐 笠翁对韵中的典故(十二文) | 晚花行乐 笠翁对韵中的典故(十一真) | 晚花行乐 笠翁对韵中的典故(十灰) | 晚花行乐 杭州景点的楹联 | 晚花行乐 adb keycode 大全 | 晚花行乐 Scikit-learn 学习笔记(0)名词术语 | 晚花行乐 Scikit-learn 学习笔记(3)监督学习的例子 | 晚花行乐 SQLite 文档的学习笔记(1)长期支持计划 | 晚花行乐 SQLite 文档的学习笔记(2)测试方法 | 晚花行乐 笠翁对韵中的典故(九佳) | 晚花行乐 Ansible 如何检查一个程序的版本 | 晚花行乐 Ansible 如何检查一个文件夹是否存在 | 晚花行乐 pip 配置文件详解 | 晚花行乐 Ansible 如何检查一个URL是否正常 | 晚花行乐 Ansible 如何修改 iptables 规则 | 晚花行乐 Ansible 指定 playbook 运行的主机 | 晚花行乐 Ansible 如何清空文件夹 | 晚花行乐 Ansible 如何在本机执行命令 | 晚花行乐 笠翁对韵中的典故(八齐) | 晚花行乐 Python 中 Defaultdict 的理解 | 晚花行乐 《伊索寓言》电子书 | 晚花行乐 菲伯尔钢琴伴奏:第二册 | 晚花行乐 Python 的 Keyword-Only Arguments 理解 | 晚花行乐 Python 的 函数参数处理机制 | 晚花行乐 瓦瑞夫在第一幕的闲聊 | 晚花行乐 瓦瑞夫在第一幕的任务提示 | 晚花行乐 第一幕的女巫语音 | 晚花行乐 《Fluent Python》 读书笔记:文本和字节序列 | 晚花行乐 第一幕的罗格语音 | 晚花行乐 第一幕的圣骑士语音 | 晚花行乐 第一幕的男巫语音 | 晚花行乐 第一幕的旁白 | 晚花行乐 第一幕的恶魔 | 晚花行乐 Python 中 Element Tree 的理解 | 晚花行乐 《Fluent Python》 读书笔记:字典和集合 | 晚花行乐 笠翁对韵中的典故(七虞) | 晚花行乐 笠翁对韵中的典故(五微) | 晚花行乐 笠翁对韵中的典故(六鱼) | 晚花行乐 笠翁对韵中的典故(一东) | 晚花行乐 笠翁对韵中的典故(二冬) | 晚花行乐 笠翁对韵中的典故(三江) | 晚花行乐 笠翁对韵中的典故(四支) | 晚花行乐 姜太公钓鱼 | 晚花行乐 武王建立周朝 | 晚花行乐 大禹治水 | 晚花行乐 尧舜让位 | 晚花行乐 黄帝战蚩尤 | 晚花行乐 上下五千年-精简版 | 晚花行乐 成功修复鼠标按键 | 晚花行乐 横向的Word文档怎么加页眉页脚 | 晚花行乐 商标通用化的故事:商标代替商品名 | 晚花行乐 搜索空文件夹的批处理程序 | 晚花行乐 Sn0wbreeze不能运行? | 晚花行乐 天线的驻波比 | 晚花行乐 天线参数:增益Gain | 晚花行乐 天线参数:方向图Radiation pattern | 晚花行乐 本拉登别墅的Google Earth坐标 | 晚花行乐 宜家帕克斯(PAX)衣柜的拼装过程 | 晚花行乐
Debian 12 的常用配置项 | 晚花行乐
2024-09-06 · via 晚花行乐

最近新安装了一套 Debian 12,记录一些初始化的配置项,已被以后参考。

SSH 登录

在 Debian 全部安装完后,首先修改 /etc/ssh/sshd_config 允许 root 账号登录:

# vi /etc/ssh/sshd_config

修改为:

PermitRootLogin yes

这样就可以方便使用 Windows 的 Terminal 操作了

配置密钥对

将自己本地的公钥添加到远程主机的 ~/.ssh/authorized_keys 文件里,具体做法见 这篇文章

配置国内 apt 源

推荐使用清华大学的镜像源, 配置页面地址:(https://mirror.tuna.tsinghua.edu.cn/help/debian/)

对于 Debian 12, 镜像地址是:

# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm main contrib non-free non-free-firmware
# deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm main contrib non-free non-free-firmware

deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm-updates main contrib non-free non-free-firmware
# deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm-updates main contrib non-free non-free-firmware

deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm-backports main contrib non-free non-free-firmware
# deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm-backports main contrib non-free non-free-firmware

# 以下安全更新软件源包含了官方源与镜像站配置,如有需要可自行修改注释切换
deb https://security.debian.org/debian-security bookworm-security main contrib non-free non-free-firmware
# deb-src https://security.debian.org/debian-security bookworm-security main contrib non-free non-free-firmware

将上述内容写入 vi /etc/apt/sources.list。然后更新源:

# apt update

安装 sudo

Debian 12 安装完后,不包含 sudo 程序,虽然可以用 su root 切换账号,但是如果有 sudo 还是方便一些

root@gen8:~# apt install sudo

然后再把自己的常用账户添加到 sudo 组:

root@gen8:~# usermod -aG sudo yourname

重新安装 Vim

系统自带的 Vim 是简化版的,一些按键不能识别。执行下面的命令删除:

# apt-get remove vim-common

在执行下面的命令安装 Vim 正式版:

# apt-get install vim

配置 Vim

修改 ~/.vimrc 文件,增加下面的内容,方便编辑代码

set autoindent expandtab tabstop=4 shiftwidth=4
set background=dark
syntax on
colors gruvbox

其中最后一行 gruxbox 是我自己使用的颜色方案。项目地址

gruvbox.vim 文件放在 ~/.vim/colors/目录下。详细操作可以参考 这篇文章

配置静态IP地址

默认系统的 IP 地址是通过 DHCP 协议自动获取的,在安装过程中,没有手动指定的选项。然而我为了使用方便,需要把服务器的IP 固定下来。

先用 ip a 命令查看当前的接口名称:

编辑 /etc/network/interfaces 文件,找到这行注释:# The primary network interface,按照下面的样子修改其下方的配置项:

# The primary network interface
auto eno1
#iface eno1 inet dhcp
iface eno1 inet static
address 192.168.1.xxx
netmask 255.255.255.0
gateway 192.168.1.1
dns-nameserver  192.168.1.1

具体 IP 地址需要按照具体网络的实际情况调整。

配置 .bashrc

系统自带的 .bashrc 中说明了,PS1 变量已经配好,除非要自己定,不然不需要再 .bashrc 里再配置了。

我习惯看彩色的 hostname, 所以修改了 PS1 变量,并且增加了几个习惯使用的 alias

alias v='source ./.venv/bin/activate'
alias n='nvidia-smi'

配置硬盘分区

我的 sda 硬盘是 1T的,在安装 Debian 12 的过程中,只选择了 80GB 给 根分区 /,剩下的大约 850G 的磁盘空间还没有分配。

pvs 查看物理盘的剩余空间:

root@gen8:~# pvs
  PV         VG      Fmt  Attr PSize   PFree
  /dev/sda5  gen8-vg lvm2 a--  931.03g 856.53g

从上面命令的输出可以看出,/dev/sda5 是 LVM 格式的物理卷, 有一个 Volume Group,名叫 gen8-vg

再用 lvs 查看 Volume Group 情况:

root@gen8:~# lvs -o lv_name,vg_name,lv_size
  LV     VG      LSize   
  home   gen8-vg  48.41g
  root   gen8-vg <25.14g
  swap_1 gen8-vg 976.00m

有三个逻辑卷。

再用 lsblk 命令查看分区情况:

root@gen8:~# lsblk -o name,size,fstype
NAME                  SIZE FSTYPE
sda                 931.5G
├─sda1                487M ext2
├─sda2                  1K
└─sda5                931G LVM2_member
  ├─gen8--vg-root    25.1G ext4
  ├─gen8--vg-swap_1   976M swap
  └─gen8--vg-home    48.4G ext4

fdisk -l 查看结果如下:

Disk /dev/sda: 931.51 GiB, 1000204886016 bytes, 1953525168 sectors
Disk model: ST1000DM010-2EP1
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: dos
Disk identifier: 0xdebb8a2a

Device     Boot   Start        End    Sectors  Size Id Type
/dev/sda1  *       2048     999423     997376  487M 83 Linux
/dev/sda2       1001470 1953523711 1952522242  931G  5 Extended
/dev/sda5       1001472 1953523711 1952522240  931G 8e Linux LVM

用图表示,大致如下:

/dev/sda/dev/dev5(VolumeGroup)Logic VolumeLogic Volume...

接下来在 gen8-vg 中新建 Logical Volume,命名为 data,同时使用全部剩余空间。

root@gen8:~# lvcreate -l 100%FREE -n data gen8-vg
  Logical volume "data" created.

再用 lvs 查看 Volume Group 情况:

root@gen8:~# lvs -o lv_name,vg_name,lv_size
  LV     VG      LSize
  data   gen8-vg 856.53g
  home   gen8-vg  48.41g
  root   gen8-vg <25.14g
  swap_1 gen8-vg 976.00m

创建了一个 data 的逻辑卷,然后创建文件格式。用 lfblk 查看:

root@gen8:~# lsblk -o name,size,fstype,mountpoints
NAME                  SIZE FSTYPE      MOUNTPOINTS
sda                 931.5G
├─sda1                487M ext2        /boot
├─sda2                  1K
└─sda5                931G LVM2_member
  ├─gen8--vg-root    25.1G ext4        /
  ├─gen8--vg-swap_1   976M swap        [SWAP]
  ├─gen8--vg-home    48.4G ext4        /home
  └─gen8--vg-data   856.5G

看到新创建的 data 逻辑卷还没有文件系统,再用 lvdisplay 查看信息:

root@gen8:~# lvdisplay
...
  --- Logical volume ---
  LV Path                /dev/gen8-vg/data
  LV Name                data
  VG Name                gen8-vg
  LV UUID                Ulrgp4-9Qd4-Jma2-cBye-qtZd-IW6I-krjmKs
  LV Write Access        read/write
  LV Creation host, time gen8, 2024-09-07 14:54:53 +0800
  LV Status              available
  # open                 0
  LV Size                856.53 GiB
  Current LE             219272
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           254:3

看出来逻辑卷的路径 (LV Path) 为 /dev/gen8-vg/data,下面为这个逻辑卷创建文件系统。

root@gen8:~# mkfs.ext4 /dev/gen8-vg/data
mke2fs 1.47.0 (5-Feb-2023)
Creating filesystem with 224534528 4k blocks and 56139776 inodes
Filesystem UUID: c23ea5e8-f0ae-4da1-91e9-2b841986a536
Superblock backups stored on blocks:
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
        4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968,
        102400000, 214990848

Allocating group tables: done
Writing inode tables: done
Creating journal (262144 blocks): done
Writing superblocks and filesystem accounting information: done

创建一个目录,作为新建分区的挂载点:

root@gen8:/# mkdir /info
root@gen8:/# mount /dev/gen8-vg/data /info

这时候可以看到成功挂载

root@gen8:/# lsblk -o name,size,fstype,mountpoints
NAME                  SIZE FSTYPE      MOUNTPOINTS
sda                 931.5G
├─sda1                487M ext2        /boot
├─sda2                  1K
└─sda5                931G LVM2_member
  ├─gen8--vg-root    25.1G ext4        /
  ├─gen8--vg-swap_1   976M swap        [SWAP]
  ├─gen8--vg-home    48.4G ext4        /home
  └─gen8--vg-data   856.5G ext4        /info

但是这个 mount 操作结果,只在内存里,没有保存下来。下次重启之后挂载关系就不存在了。需要修改 /etc/fstab 文件。

使用 blkid 命令查看逻辑卷信息:

root@gen8:/tv# blkid
...
/dev/mapper/gen8--vg-data: UUID="xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" BLOCK_SIZE="4096" TYPE="ext4"

编辑 /etc/fstab 文件,加入如下内容:

UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx /tv        ext4    defaults        0       0

执行 mount -a 执行挂载,提示说此次改动并未通知到系统:

root@gen8:/# mount -a
mount: (hint) your fstab has been modified, but systemd still uses
       the old version; use 'systemctl daemon-reload' to reload.

执行 systemctl daemon-reload 使之生效,重启验证。

root@gen8:/# systemctl daemon-reload
root@gen8:/# reboot

安装 Samba

文件共享协议方便同时在 Windows 10 和 电视机顶盒上访问。据说 Windows 10 访问 NFS 不支持 UTF-8,权衡之下还是安装 Samba 了。

root@gen8:~# apt update
root@gen8:~# apt install samba

从 Windows 10 上传、删除文件时,可能会遇到下面的错误提示:

Windows需要获得 Unix用户\username 在samba共享中删除/移动的权限

错误的原因是 samba 未取得文件(夹)的写权限,解决方法是在 samba 中添加用户,假设文件夹的属主是 username,使用下面的命令

$ sudo smbpasswd -a username

然后重启 samba 服务:

$ sudo systemctl restart smbd

详细的解释可以参考这篇文章:用 Samba 快速搭建文件服务器

配置 VS Code Server

参考这篇文章:解决 VS Code 自动更新版本后卡在连接界面

未完待续

各位读后有什么想法,请在下方留言吧!如果对本文有疑问或者寻求合作,欢迎 联系邮箱邮箱已到剪贴板

精彩评论