1. Debian简介

Debian是一个免费的开源操作系统,是最古老且最受尊敬的Linux发行版之一,由Ian Murdock于1993年创建。作为众多Linux发行版的上游系统,Debian以其稳定性、安全性和严格的自由软件原则而闻名。Ubuntu等流行的Linux发行版都是基于Debian开发的。

1.1 Debian的特点

Debian具有以下几个显著特点:

  • 稳定性:Debian的稳定版本经过严格的测试和审查,确保系统稳定可靠。
  • 安全性:Debian团队及时提供安全更新,保护系统免受已知漏洞的威胁。
  • 强大的软件包管理系统:Debian使用APT(Advanced Packaging Tool)和dpkg作为软件包管理工具,使软件安装、更新和移除变得简单高效。
  • 多平台支持:Debian支持多种硬件架构,包括x86、x86-64、ARM和MIPS等。
  • 自由软件原则:Debian社区强调自由软件的原则,积极参与自由软件基金会的活动。

1.2 Debian的版本

Debian有三个主要版本:

  • 稳定版(Stable):最适合生产环境使用,当前稳定版本为Debian 12(书名”Bookworm”)。
  • 测试版(Testing):包含即将进入下一个稳定版本的软件包,相对稳定但可能会有一些问题。
  • 不稳定版(Unstable):也称为Sid,包含最新的软件包,但可能会有较多问题,适合开发者和高级用户使用。

2. 安装前的准备工作

在安装Debian之前,需要完成一些准备工作,以确保安装过程顺利进行。

2.1 系统要求

Debian对硬件要求相对较低,基本要求如下:

  • CPU:任何现代处理器(32位或64位)
  • 内存:至少512MB(推荐1GB以上)
  • 硬盘空间:至少10GB(推荐20GB以上)
  • 网络连接:用于下载软件包和更新

2.2 下载Debian安装镜像

从Debian官方网站(https://www.debian.org)下载安装镜像。Debian提供多种镜像类型:

  • 网络安装镜像(Netinst):小型ISO文件(约300-500MB),仅包含基本系统,安装过程中需要从网络下载其他软件包。
  • 完整DVD镜像:包含大量常用软件包的较大ISO文件(约3-4GB),适合在没有网络连接或网络速度较慢的环境中使用。
  • Live镜像:可用于直接运行Debian系统而无需安装,也可以用于安装系统。

2.3 创建安装介质

下载完成后,需要将ISO镜像写入USB闪存驱动器或DVD:

使用USB闪存驱动器(Linux系统):

# 首先确定USB设备名称(例如/dev/sdb) lsblk # 使用dd命令将镜像写入USB设备(请将/dev/sdb替换为您的USB设备) sudo dd if=debian-12.0.0-amd64-netinst.iso of=/dev/sdb bs=4M status=progress sync 

使用USB闪存驱动器(Windows系统):

可以使用Rufus、Etcher等工具将ISO镜像写入USB闪存驱动器。

2.4 备份重要数据

在安装新系统之前,请确保备份所有重要数据,以防意外丢失。

3. Debian安装步骤详解

3.1 启动安装程序

  1. 将创建的安装介质插入计算机,并重启系统。
  2. 在启动时按下相应的键(通常是F12、F2、Del或Esc)进入BIOS/UEFI设置。
  3. 设置从USB设备或DVD启动。
  4. 保存设置并重启,系统将从安装介质启动。

3.2 选择安装选项

启动后,将看到Debian安装菜单。以下是几个常见选项:

  • Graphical install:图形化安装,适合新手用户。
  • Install:文本模式安装,适合有经验的用户。
  • Advanced options:高级选项,包括专家模式、救援模式等。

对于大多数用户,选择”Graphical install”是最简单的方式。

3.3 语言和区域设置

  1. 选择安装过程中使用的语言。
  2. 选择您的地理位置。
  3. 配置键盘布局。

3.4 网络配置

安装程序会尝试自动检测和配置网络。如果需要手动配置:

  1. 选择”Configure network manually”。
  2. 输入IP地址、子网掩码、网关和DNS服务器地址。

例如:

IP地址: 192.168.1.100 子网掩码: 255.255.255.0 网关: 192.168.1.1 DNS服务器: 8.8.8.8, 8.8.4.4 

3.5 用户和密码设置

  1. 设置主机名(计算机在网络上的名称)。
  2. 设置域名(如果适用)。
  3. 设置root用户密码(root是系统管理员账户)。
  4. 创建一个普通用户账户并设置密码。

3.6 磁盘分区

磁盘分区是安装过程中最关键的部分之一。Debian提供几种分区方案:

3.6.1 自动分区

适合新手用户,提供以下选项:

  • Guided - use entire disk:使用整个磁盘,并自动分区。
  • Guided - use entire disk and set up LVM:使用整个磁盘并设置LVM(逻辑卷管理),提供更灵活的磁盘管理。
  • Guided - use entire disk and set up encrypted LVM:使用整个磁盘并设置加密的LVM,提供更高的安全性。

3.6.2 手动分区

适合有经验的用户,可以完全控制分区方案。基本分区建议:

  • /boot分区:约500MB-1GB,用于存放启动文件。
  • /分区(根分区):至少10GB,用于系统文件。
  • swap分区:建议大小为内存的1-2倍,用于虚拟内存。
  • /home分区:剩余空间,用于存放用户数据。

3.7 软件包选择

Debian提供多种软件包集合(任务)供选择:

  • Debian desktop environment:标准桌面环境。
  • GNOME:GNOME桌面环境。
  • Xfce:轻量级桌面环境。
  • KDE Plasma:KDE桌面环境。
  • LXDE:超轻量级桌面环境。
  • MATE:基于GNOME 2的桌面环境。
  • Cinnamon:Linux Mint的默认桌面环境。
  • SSH server:SSH服务器,允许远程管理。
  • standard system utilities:标准系统工具。

根据需要选择合适的软件包集合。对于服务器安装,通常只需要”standard system utilities”和”SSH server”。

3.8 安装引导程序

引导程序(GRUB)是启动系统时加载操作系统的软件。安装程序会询问是否安装GRUB引导程序。通常选择”Yes”并将其安装到主引导记录(MBR)或EFI系统分区(ESP)。

3.9 完成安装

安装完成后,系统将提示您重新启动计算机。移除安装介质并按Enter键重启系统。

4. 基本系统配置

4.1 网络配置

4.1.1 桌面环境

在使用桌面环境的Debian系统中,可以通过图形界面配置网络:

  1. 点击右上角的网络图标。
  2. 选择”Wi-Fi”或”有线”连接。
  3. 选择要连接的网络并输入密码(如果需要)。

4.1.2 命令行配置

在服务器或无图形界面的系统中,需要手动配置网络。Debian使用Netplan或传统的/etc/network/interfaces文件来配置网络。

使用/etc/network/interfaces文件配置静态IP:

# 编辑网络配置文件 sudo nano /etc/network/interfaces # 添加以下内容(根据您的网络环境调整) auto lo iface lo inet loopback auto eth0 iface eth0 inet static address 192.168.1.100 netmask 255.255.255.0 gateway 192.168.1.1 dns-nameservers 8.8.8.8 8.8.4.4 # 保存并退出(Ctrl+X,然后按Y,最后按Enter) 

重启网络服务:

sudo systemctl restart networking 

4.1.3 配置DNS

编辑/etc/resolv.conf文件:

sudo nano /etc/resolv.conf 

添加以下内容:

nameserver 8.8.8.8 nameserver 8.8.4.4 

4.2 软件源配置

Debian使用APT(Advanced Packaging Tool)管理软件包,软件源配置文件为/etc/apt/sources.list。

4.2.1 备份原始源文件

sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak 

4.2.2 编辑源文件

sudo nano /etc/apt/sources.list 

4.2.3 Debian 12 (Bookworm) 官方源示例

deb http://deb.debian.org/debian/ bookworm main contrib non-free non-free-firmware deb http://deb.debian.org/debian/ bookworm-updates main contrib non-free non-free-firmware deb http://security.debian.org/debian-security bookworm-security main contrib non-free non-free-firmware 

4.2.4 更新软件包列表

sudo apt update 

4.3 配置sudo权限

默认情况下,Debian可能没有安装sudo软件包,需要手动安装并配置。

4.3.1 安装sudo

# 切换到root用户 su - # 安装sudo apt install sudo # 退出root用户 exit 

4.3.2 将用户添加到sudo组

# 将用户添加到sudo组(将username替换为您的用户名) sudo usermod -aG sudo username 

4.3.3 验证sudo配置

# 测试sudo权限 sudo whoami # 如果输出"root",则表示配置成功 

4.4 时区配置

4.4.1 查看当前时区

timedatectl 

4.4.2 列出所有可用时区

timedatectl list-timezones 

4.4.3 设置时区

sudo timedatectl set-timezone Asia/Shanghai 

5. 软件包管理

Debian使用APT和dpkg作为软件包管理工具,使软件安装、更新和移除变得简单高效。

5.1 APT基本命令

5.1.1 更新软件包列表

sudo apt update 

5.1.2 升级已安装的软件包

sudo apt upgrade 

5.1.3 升级系统(包括可能需要添加/删除软件包的升级)

sudo apt full-upgrade 

5.1.4 搜索软件包

apt search keyword 

例如,搜索与web服务器相关的软件包:

apt search web server 

5.1.5 显示软件包信息

apt show package-name 

例如,显示nginx软件包的信息:

apt show nginx 

5.1.6 安装软件包

sudo apt install package-name 

例如,安装nginx web服务器:

sudo apt install nginx 

5.1.7 移除软件包

sudo apt remove package-name 

例如,移除nginx:

sudo apt remove nginx 

5.1.8 移除软件包及其配置文件

sudo apt purge package-name 

例如,完全移除nginx及其配置文件:

sudo apt purge nginx 

5.1.9 清理不需要的软件包

sudo apt autoremove 

5.1.10 清理下载的软件包缓存

sudo apt clean 

5.2 dpkg基本命令

dpkg是Debian的低级软件包管理工具,用于安装、删除和管理.deb软件包。

5.2.1 安装.deb文件

sudo dpkg -i package-file.deb 

例如,安装下载的Google Chrome .deb文件:

sudo dpkg -i google-chrome-stable_current_amd64.deb 

5.2.2 列出已安装的软件包

dpkg -l 

5.2.3 搜索已安装的软件包

dpkg -l | grep keyword 

例如,搜索与nginx相关的已安装软件包:

dpkg -l | grep nginx 

5.2.4 检查软件包是否安装

dpkg -l package-name 

例如,检查nginx是否安装:

dpkg -l nginx 

5.2.5 显示软件包信息

dpkg -s package-name 

例如,显示nginx软件包的信息:

dpkg -s nginx 

5.2.6 列出软件包安装的文件

dpkg -L package-name 

例如,列出nginx软件包安装的文件:

dpkg -L nginx 

5.2.7 查找文件属于哪个软件包

dpkg -S /path/to/file 

例如,查找/etc/nginx/nginx.conf属于哪个软件包:

dpkg -S /etc/nginx/nginx.conf 

5.2.8 移除软件包

sudo dpkg -r package-name 

例如,移除nginx:

sudo dpkg -r nginx 

5.2.9 移除软件包及其配置文件

sudo dpkg -P package-name 

例如,完全移除nginx及其配置文件:

sudo dpkg -P nginx 

5.3 处理依赖问题

在使用dpkg安装.deb文件时,可能会遇到依赖问题。可以使用以下命令解决:

sudo apt -f install 

这将自动安装缺失的依赖项。

5.4 添加第三方软件源

有些软件可能不在官方软件源中,需要添加第三方软件源。

5.4.1 添加软件源密钥

# 下载并添加密钥 wget -qO - https://example.com/gpgkey | sudo apt-key add - 

5.4.2 添加软件源

创建一个新的源文件:

sudo nano /etc/apt/sources.list.d/example.list 

添加以下内容:

deb https://example.com/debian stable main 

5.4.3 更新软件包列表

sudo apt update 

6. 日常系统维护

6.1 系统更新

定期更新系统是保持系统安全和稳定的重要措施。

6.1.1 检查可用更新

sudo apt update apt list --upgradable 

6.1.2 安装更新

sudo apt upgrade 

6.1.3 自动安全更新

配置自动安全更新:

# 安装unattended-upgrades sudo apt install unattended-upgrades # 配置自动更新 sudo dpkg-reconfigure unattended-upgrades 

6.2 系统监控

6.2.1 查看系统资源使用情况

# 查看CPU和内存使用情况 htop # 查看磁盘使用情况 df -h # 查看磁盘I/O统计 iotop # 查看网络连接 netstat -tuln 

6.2.2 查看系统日志

# 查看系统日志 sudo journalctl # 查看内核日志 sudo dmesg # 查看特定服务的日志 sudo journalctl -u service-name 

例如,查看nginx服务的日志:

sudo journalctl -u nginx 

6.3 用户和权限管理

6.3.1 创建新用户

sudo adduser username 

6.3.2 删除用户

sudo deluser username 

6.3.3 修改用户密码

sudo passwd username 

6.3.4 修改文件权限

# 修改文件所有者 sudo chown user:group filename # 修改文件权限 sudo chmod permissions filename 

例如,将文件所有者改为user,组改为group,权限设置为755:

sudo chown user:group filename sudo chmod 755 filename 

6.4 服务管理

Debian使用systemd作为系统和服务管理器。

6.4.1 启动服务

sudo systemctl start service-name 

例如,启动nginx服务:

sudo systemctl start nginx 

6.4.2 停止服务

sudo systemctl stop service-name 

例如,停止nginx服务:

sudo systemctl stop nginx 

6.4.3 重启服务

sudo systemctl restart service-name 

例如,重启nginx服务:

sudo systemctl restart nginx 

6.4.4 重新加载服务配置

sudo systemctl reload service-name 

例如,重新加载nginx配置:

sudo systemctl reload nginx 

6.4.5 启用服务(开机自启)

sudo systemctl enable service-name 

例如,启用nginx开机自启:

sudo systemctl enable nginx 

6.4.6 禁用服务(禁止开机自启)

sudo systemctl disable service-name 

例如,禁用nginx开机自启:

sudo systemctl disable nginx 

6.4.7 查看服务状态

sudo systemctl status service-name 

例如,查看nginx服务状态:

sudo systemctl status nginx 

6.4.8 查看所有服务状态

sudo systemctl list-units --type=service 

6.5 防火墙配置

Debian默认不安装防火墙,可以使用ufw(Uncomplicated Firewall)来配置防火墙。

6.5.1 安装ufw

sudo apt install ufw 

6.5.2 启用ufw

sudo ufw enable 

6.5.3 查看防火墙状态

sudo ufw status 

6.5.4 允许端口

sudo ufw allow port-number 

例如,允许SSH端口(22):

sudo ufw allow 22 

6.5.5 拒绝端口

sudo ufw deny port-number 

例如,拒绝端口23:

sudo ufw deny 23 

6.5.6 删除规则

sudo ufw delete rule 

例如,删除允许端口22的规则:

sudo ufw delete allow 22 

6.6 备份和恢复

6.6.1 使用rsync备份

# 备份整个系统到外部驱动器 sudo rsync -aAXv / --exclude=/dev/* --exclude=/proc/* --exclude=/sys/* --exclude=/tmp/* --exclude=/run/* --exclude=/mnt/* --exclude=/media/* /path/to/backup/ 

6.6.2 使用tar备份

# 备份整个系统 sudo tar -cvpzf backup.tar.gz --exclude=/backup.tar.gz --exclude=/dev --exclude=/proc --exclude=/sys --exclude=/tmp --exclude=/run --exclude=/mnt --exclude=/media / 

6.6.3 使用Timeshift备份

Timeshift是一个系统备份工具,类似于Windows的系统还原和macOS的时间机器。

# 安装Timeshift sudo apt install timeshift # 启动Timeshift sudo timeshift 

7. 常见问题与解决方案

7.1 系统无法启动

7.1.1 检查引导加载程序

如果系统无法启动,可能是引导加载程序(GRUB)出现问题。

# 从安装介质启动并选择救援模式 # 进入救援模式后,尝试重新安装GRUB grub-install /dev/sda update-grub 

7.1.2 检查文件系统

文件系统错误也可能导致系统无法启动。

# 检查文件系统 fsck /dev/sda1 

7.2 网络连接问题

7.2.1 检查网络接口状态

ip a 

7.2.2 检查网络连接

ping 8.8.8.8 

7.2.3 检查DNS解析

nslookup example.com 

7.2.4 重启网络服务

sudo systemctl restart networking 

7.3 软件包管理问题

7.3.1 修复损坏的软件包

sudo apt --fix-broken install 

7.3.2 清理软件包缓存

sudo apt clean sudo apt autoclean 

7.3.3 重新配置软件包

sudo dpkg --configure -a 

7.4 权限问题

7.4.1 修复文件权限

# 修复/home目录权限 sudo chown -R username:username /home/username 

7.4.2 恢复sudo权限

如果失去sudo权限,可以通过以下步骤恢复:

# 重启系统进入恢复模式 # 选择root shell # 挂载文件系统为读写模式 mount -o remount,rw / # 将用户添加到sudo组 usermod -aG sudo username # 重启系统 reboot 

8. 结语

Debian是一个强大、稳定且灵活的Linux发行版,适合从个人桌面到企业服务器的各种应用场景。通过本教程,您应该已经掌握了Debian的基本安装、配置和日常维护技能。随着您对Debian的深入了解,您将能够更好地利用其强大的功能和灵活性来满足您的各种需求。

记住,学习Linux是一个持续的过程,不断实践和探索将帮助您更好地掌握这个强大的操作系统。祝您在Debian的世界里旅途愉快!