从零上手 Debian:安装、命令、运维配置与实用脚本源码指南
Debian 新手入门指南|附源码
Debian 是最经典、最稳定、最受欢迎的 Linux 发行版之一。无论你是想学习 Linux、搭建服务器、部署网站,还是作为日常桌面系统使用,Debian 都是一个非常值得入门的选择。本文将从 Debian 的基础概念、安装准备、常用命令、软件管理、系统配置、安全加固、服务部署以及常用脚本源码等方面,带你系统入门 Debian。
一、Debian 是什么?
Debian 是一个自由、开源、社区驱动的 Linux 操作系统发行版。它以稳定性、安全性和软件包管理体系著称,是许多发行版的上游基础,例如 Ubuntu、Linux Mint、Kali Linux 等都与 Debian 有密切关系。
Debian 的核心特点包括:
- 稳定可靠:Debian Stable 版本经过长时间测试,非常适合服务器环境。
- 软件丰富:官方仓库包含大量软件包,覆盖开发、办公、网络、安全、数据库等领域。
- 包管理强大:使用
APT包管理工具,可以方便地安装、升级和卸载软件。 - 社区成熟:Debian 拥有庞大的开发者和用户社区,文档完善。
- 自由开源:坚持自由软件理念,系统透明、可控。
对于新手来说,Debian 可能不像某些桌面发行版那样“开箱即用”,但正因为它更接近 Linux 的基础形态,所以非常适合用来学习 Linux 系统原理和服务器运维知识。
二、Debian 版本选择
Debian 通常分为以下几个分支:
| 分支 | 说明 | 适合人群 |
|---|---|---|
| Stable | 稳定版,软件较旧但可靠 | 服务器、新手、生产环境 |
| Testing | 测试版,软件较新,稳定性较好 | 想体验新软件的用户 |
| Unstable | 不稳定版,也称 Sid | 高级用户、开发者 |
| Oldstable | 上一个稳定版 | 老系统维护 |
如果你是新手,强烈建议选择 Debian Stable。它虽然软件版本不是最新,但稳定性非常好,出现问题的概率低,更适合学习和长期使用。
三、安装 Debian 前的准备
在安装 Debian 之前,你需要准备以下内容:
- 一台电脑或虚拟机
- Debian ISO 镜像文件
- U 盘或虚拟机软件
- 基本的网络连接
- 一定的耐心
1. 下载 Debian 镜像
你可以访问 Debian 官方网站下载镜像:
https://www.debian.org/
常见镜像类型包括:
- netinst 镜像:体积小,安装过程中联网下载软件包。
- DVD 镜像:体积较大,包含更多软件包。
- Live 镜像:可直接试用桌面环境,也可安装。
对于新手来说,如果网络稳定,推荐使用 netinst 镜像;如果你希望先体验桌面效果,可以选择 Live 镜像。
2. 制作启动盘
在 Windows 下可以使用:
- Rufus
- balenaEtcher
- Ventoy
在 Linux 下可以使用 dd 命令制作启动盘:
sudo dd if=debian.iso of=/dev/sdX bs=4M status=progress
sync
注意:
/dev/sdX必须替换为你的 U 盘设备路径,写错可能会清空硬盘数据。
四、Debian 安装流程概览
Debian 的安装过程大致如下:
- 选择安装语言
- 选择地区和键盘布局
- 配置网络
- 设置主机名和域名
- 设置 root 密码
- 创建普通用户
- 磁盘分区
- 安装基本系统
- 配置软件源
- 选择桌面环境或服务器组件
- 安装 GRUB 引导器
- 重启进入系统
分区建议
如果你是新手,可以选择自动分区。如果想手动分区,可以参考以下方案:
| 挂载点 | 大小 | 文件系统 | 说明 |
|---|---|---|---|
/ |
30GB 以上 | ext4 | 根分区 |
/home |
剩余空间 | ext4 | 用户数据 |
swap |
2GB~8GB | swap | 交换分区 |
/boot/efi |
512MB | FAT32 | UEFI 启动分区 |
如果你只是在虚拟机中学习,直接使用自动分区即可。
五、首次登录后的基础操作
安装完成后,你可以使用创建的普通用户登录系统。如果是服务器版本,默认可能只有命令行界面;如果安装了桌面环境,则会进入图形界面。
1. 查看系统版本
cat /etc/debian_version
或者:
lsb_release -a
如果 lsb_release 不存在,可以安装:
sudo apt install lsb-release
2. 查看内核版本
uname -r
3. 查看当前用户
whoami
4. 查看当前路径
pwd
5. 查看目录文件
ls
ls -l
ls -lah
其中:
ls:查看文件列表ls -l:显示详细信息ls -lah:以更易读方式显示隐藏文件和大小
六、Debian 软件包管理入门
Debian 使用 APT 管理软件包,这是 Debian 系发行版最核心的工具之一。
1. 更新软件源缓存
sudo apt update
这个命令不会升级软件,只是从软件源获取最新的软件包列表。
2. 升级已安装软件
sudo apt upgrade
如果你希望更完整地处理依赖关系,可以使用:
sudo apt full-upgrade
3. 安装软件
sudo apt install vim curl wget git
4. 卸载软件
sudo apt remove vim
如果想连配置文件一起删除:
sudo apt purge vim
5. 清理无用依赖
sudo apt autoremove
6. 搜索软件包
apt search nginx
7. 查看软件包信息
apt show nginx
七、配置 sudo 权限
Debian 安装时如果设置了 root 密码,普通用户可能默认没有 sudo 权限。你可以切换到 root 用户:
su -
然后安装 sudo:
apt install sudo
将你的用户加入 sudo 组:
usermod -aG sudo your_username
例如:
usermod -aG sudo debian
退出后重新登录,使组权限生效:
exit
验证:
sudo whoami
如果输出:
root
说明配置成功。
八、配置 Debian 软件源
Debian 的软件源配置文件通常位于:
/etc/apt/sources.list
你可以使用编辑器打开:
sudo nano /etc/apt/sources.list
一个常见的 Debian Stable 软件源示例如下:
deb https://deb.debian.org/debian bookworm main contrib non-free non-free-firmware
deb https://deb.debian.org/debian bookworm-updates main contrib non-free non-free-firmware
deb https://security.debian.org/debian-security bookworm-security main contrib non-free non-free-firmware
修改完成后执行:
sudo apt update
Debian 12 的代号是
bookworm。如果你使用的是其他版本,需要根据实际版本调整代号。
九、常用 Linux 文件系统目录
理解 Linux 目录结构是入门 Debian 的关键。
| 目录 | 作用 |
|---|---|
/ |
根目录,所有目录的起点 |
/home |
普通用户目录 |
/root |
root 用户家目录 |
/etc |
系统配置文件 |
/var |
日志、缓存、数据库等可变数据 |
/usr |
用户程序和库文件 |
/bin |
基础命令 |
/sbin |
系统管理命令 |
/tmp |
临时文件 |
/opt |
第三方软件 |
/boot |
启动相关文件 |
/dev |
设备文件 |
/proc |
进程和内核信息 |
/mnt |
临时挂载点 |
新手尤其要注意 /etc、/var/log、/home 这几个目录,因为它们在日常配置、排错和使用中非常常见。
十、常用命令速查
1. 文件操作
touch file.txt
mkdir test
cp file.txt test/
mv file.txt newfile.txt
rm newfile.txt
rm -rf test
2. 查看文件内容
cat file.txt
less file.txt
head file.txt
tail file.txt
tail -f /var/log/syslog
3. 编辑文件
Debian 常用编辑器包括 nano、vim。
sudo nano /etc/hosts
如果你是新手,建议先使用 nano,操作更直观。
4. 权限管理
chmod 755 script.sh
chown user:user file.txt
Linux 权限大致分为:
r:读w:写x:执行
例如:
chmod +x install.sh
表示给脚本添加执行权限。
5. 磁盘查看
df -h
du -sh *
lsblk
6. 内存和进程查看
free -h
top
ps aux
如果安装了 htop,体验更好:
sudo apt install htop
htop
十一、网络配置与排错
1. 查看 IP 地址
ip addr
或者:
hostname -I
2. 测试网络连通性
ping debian.org
如果无法访问域名但可以访问 IP,可能是 DNS 问题。
3. 查看路由
ip route
4. 查看端口监听
ss -tulnp
如果你想查看某个端口是否被监听,比如 80 端口:
sudo ss -tulnp | grep :80
5. 使用 curl 测试 HTTP 服务
curl -I https://www.debian.org
十二、使用 systemd 管理服务
Debian 默认使用 systemd 管理系统服务。
1. 查看服务状态
systemctl status ssh
2. 启动服务
sudo systemctl start ssh
3. 停止服务
sudo systemctl stop ssh
4. 重启服务
sudo systemctl restart ssh
5. 设置开机自启
sudo systemctl enable ssh
6. 取消开机自启
sudo systemctl disable ssh
7. 查看系统日志
journalctl
查看某个服务日志:
journalctl -u ssh
实时查看日志:
journalctl -u ssh -f
十三、安装和配置 SSH
如果你准备把 Debian 当作服务器使用,SSH 是必不可少的。
1. 安装 OpenSSH Server
sudo apt update
sudo apt install openssh-server
2. 启动 SSH 服务
sudo systemctl enable --now ssh
3. 查看 SSH 状态
systemctl status ssh
4. 连接 Debian 服务器
在另一台电脑上执行:
ssh username@server_ip
例如:
ssh debian@192.168.1.100
5. SSH 基础安全建议
编辑 SSH 配置文件:
sudo nano /etc/ssh/sshd_config
可以考虑修改以下配置:
PermitRootLogin no
PasswordAuthentication yes
如果你已经配置好密钥登录,可以将密码登录关闭:
PasswordAuthentication no
修改后重启 SSH:
sudo systemctl restart ssh
十四、Debian 防火墙基础
Debian 中可以使用 ufw 简化防火墙管理。
1. 安装 ufw
sudo apt install ufw
2. 允许 SSH
sudo ufw allow ssh
或者指定端口:
sudo ufw allow 22/tcp
3. 启用防火墙
sudo ufw enable
4. 查看状态
sudo ufw status verbose
5. 允许 HTTP 和 HTTPS
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
十五、安装 Nginx 并部署简单网页
下面演示如何在 Debian 上安装 Nginx,并部署一个简单 HTML 页面。
1. 安装 Nginx
sudo apt update
sudo apt install nginx
2. 启动并设置开机自启
sudo systemctl enable --now nginx
3. 查看状态
systemctl status nginx
4. 创建网页源码
编辑首页文件:
sudo nano /var/www/html/index.html
写入以下源码:
我的 Debian 网站
Hello Debian!
这是运行在 Debian + Nginx 上的第一个网页。
页面源码位于:/var/www/html/index.html
保存后,在浏览器访问:
http://服务器IP
如果看到页面,说明 Nginx 已经部署成功。
十六、常用开发环境安装
如果你想在 Debian 上写代码,可以安装常用开发工具。
1. 安装基础编译工具
sudo apt install build-essential
其中包含:
- gcc
- g++
- make
- libc 开发库等
2. 安装 Git
sudo apt install git
配置 Git:
git config --global user.name "Your Name"
git config --global user.email "your@example.com"
3. 安装 Python
sudo apt install python3 python3-pip python3-venv
创建 Python 虚拟环境:
python3 -m venv venv
source venv/bin/activate
退出虚拟环境:
deactivate
4. 安装 Node.js
Debian 仓库中通常提供 Node.js:
sudo apt install nodejs npm
查看版本:
node -v
npm -v
如果需要较新的 Node.js,可考虑使用 NodeSource 或 nvm。
十七、源码:Debian 初始化脚本
下面提供一个适合新手使用的 Debian 初始化脚本。它可以完成更新系统、安装常用工具、配置时区、启用防火墙、安装 SSH 等基础操作。
使用前请先阅读源码,确认符合自己的需求。
创建脚本:
nano debian-init.sh
写入以下源码:
#!/usr/bin/env bash
set -e
echo "===================================="
echo " Debian 新手初始化脚本"
echo "===================================="
if [ "$(id -u)" -ne 0 ]; then
echo "请使用 root 权限运行:sudo bash debian-init.sh"
exit 1
fi
echo "[1/8] 更新软件源..."
apt update
echo "[2/8] 升级系统软件..."
apt -y upgrade
echo "[3/8] 安装常用工具..."
apt install -y \
sudo \
vim \
nano \
curl \
wget \
git \
htop \
tree \
unzip \
zip \
net-tools \
ca-certificates \
lsb-release \
gnupg \
ufw \
openssh-server
echo "[4/8] 设置时区为 Asia/Shanghai..."
timedatectl set-timezone Asia/Shanghai
echo "[5/8] 启用 SSH 服务..."
systemctl enable --now ssh
echo "[6/8] 配置 UFW 防火墙..."
ufw allow ssh
ufw allow 80/tcp
ufw allow 443/tcp
ufw --force enable
echo "[7/8] 清理无用软件包..."
apt -y autoremove
apt clean
echo "[8/8] 显示系统信息..."
echo "------------------------------------"
echo "主机名:$(hostname)"
echo "系统版本:$(cat /etc/debian_version)"
echo "内核版本:$(uname -r)"
echo "当前时间:$(date)"
echo "IP 地址:$(hostname -I)"
echo "------------------------------------"
echo "初始化完成!"
赋予执行权限:
chmod +x debian-init.sh
运行脚本:
sudo bash debian-init.sh
这个脚本虽然简单,但涵盖了 Debian 服务器初始化中最常见的步骤。你可以在此基础上继续扩展,比如自动安装 Nginx、Docker、数据库等。
十八、源码:系统信息查看脚本
下面再提供一个系统信息查看脚本,适合新手练习 Shell 编程。
创建文件:
nano system-info.sh
源码如下:
#!/usr/bin/env bash
echo "========== Debian 系统信息 =========="
echo
echo "【基本信息】"
echo "主机名:$(hostname)"
echo "当前用户:$(whoami)"
echo "系统版本:$(cat /etc/debian_version 2>/dev/null)"
echo "内核版本:$(uname -r)"
echo "系统架构:$(uname -m)"
echo
echo "【CPU 信息】"
lscpu | grep -E "Model name|CPU\(s\)|Architecture"
echo
echo "【内存使用】"
free -h
echo
echo "【磁盘使用】"
df -h
echo
echo "【网络地址】"
ip -brief addr
echo
echo "【运行时间】"
uptime
echo
echo "【监听端口】"
ss -tulnp 2>/dev/null || echo "需要安装 iproute2 或使用 root 权限查看完整信息"
echo
echo "====================================="
执行:
chmod +x system-info.sh
./system-info.sh
通过这个脚本,你可以练习变量替换、命令组合、信息筛选等 Shell 基础知识。
十九、Debian 日常维护建议
想让 Debian 系统长期稳定运行,建议养成以下习惯。
1. 定期更新系统
sudo apt update
sudo apt upgrade
服务器环境中,更新前最好先查看将要升级的软件,避免影响线上服务。
2. 定期查看磁盘空间
df -h
如果 /var 空间过大,可以查看日志:
sudo du -sh /var/log/*
3. 定期查看服务状态
systemctl --failed
该命令可以列出启动失败的服务。
4. 备份重要文件
常见需要备份的目录包括:
/etc
/home
/var/www
/var/lib/mysql
可以使用 tar 打包:
sudo tar -czvf backup.tar.gz /etc /home
5. 注意权限安全
不要随意执行来源不明的脚本,尤其是类似:
curl http://example.com/install.sh | sudo bash
这种方式虽然方便,但风险较高。建议先下载脚本,查看内容后再执行。
二十、新手常见问题
1. 为什么 Debian 软件版本比较旧?
因为 Debian Stable 更重视稳定性。软件包在进入稳定版之前会经过充分测试,所以版本可能不是最新,但可靠性更强。如果你需要新版本,可以考虑 backports、源码编译、容器或第三方仓库。
2. 忘记 root 密码怎么办?
如果你有 sudo 用户,可以使用:
sudo passwd root
如果完全无法登录,需要通过单用户模式或 Live 系统修复。
3. apt update 报错怎么办?
常见原因包括:
- 网络不通
- DNS 解析失败
- 软件源地址错误
- 系统时间不正确
- GPG 密钥问题
可以先检查网络:
ping deb.debian.org
再检查软件源配置:
cat /etc/apt/sources.list
4. 命令找不到怎么办?
例如执行 ifconfig 提示找不到,可以安装:
sudo apt install net-tools
不过现代 Linux 更推荐使用:
ip addr
5. 如何重启和关机?
重启:
sudo reboot
关机:
sudo poweroff
二十一、进阶学习路线
当你熟悉 Debian 基础后,可以继续学习以下内容:
- Shell 脚本编程:自动化运维的基础
- systemd 服务编写:管理自己的后台程序
- Nginx/Apache:Web 服务部署
- MariaDB/PostgreSQL:数据库管理
- Docker:容器化部署应用
- Ansible:批量管理服务器
- Linux 权限与安全:用户、组、ACL、防火墙、审计
- 日志分析:journalctl、rsyslog、应用日志
- 性能监控:top、htop、iotop、vmstat、sar
- 备份恢复:rsync、tar、快照、异地备份
Debian 是非常适合长期学习的系统。你掌握得越深入,就越能理解 Linux 服务器运行的底层逻辑。
二十二、总结
Debian 的学习曲线并不陡峭,但它需要你愿意动手、愿意查看文档、愿意理解命令背后的含义。对于新手来说,最重要的不是一次性掌握所有知识,而是先建立清晰的使用框架:
- 会安装系统
- 会使用 APT 管理软件
- 会查看和编辑配置文件
- 会管理用户和权限
- 会启动、停止和排查服务
- 会配置 SSH 和防火墙
- 会部署一个简单网站
- 会编写基础 Shell 脚本
本文提供的两个源码脚本可以作为你学习 Debian 的起点。你可以先在虚拟机中反复练习,熟悉命令和配置流程,再逐步用于真实服务器环境。
Debian 的魅力在于稳定、简洁、可靠。它不会替你隐藏太多系统细节,但也正因为如此,你可以通过它真正理解 Linux。只要持续实践,你很快就能从 Debian 新手成长为能够独立维护服务器、部署应用、编写脚本的 Linux 用户。