01-Linux 系统管理

01 系统管理

系统启停和更新

  1. 系统启动过程

    • BIOS/UEFI 启动:检测硬件是否正常工作
    • 加载引导程序:从 MBR/EFI 分区加载引导程序,显示引导菜单
    • 内核初始化:硬件检测和加载驱动程序,根据启动参数设置系统参数,并挂载根文件系统
    • 启动初始化进程,启动系统服务
    • 显示用户登录界面
  2. 可以修改启动配置文件实现定制化启动,配置文件:/etc/default/grub。修改后执行 update-grub ​使配置生效。

  3. 关机和重启

    • 关机命令

      • sudo shutdown now:立即关闭系统.
      • sudo shutdown -h +time:在指定时间后关闭系统,time 为分钟数.
      • sudo shutdown -r now:立即重启系统.
      • sudo shutdown -r +time:在指定时间后重启系统.
      • sudo shutdown -c: 取消定时关机计划
    • 快速关机和重启

      • sudo poweroff:立即关闭系统.
      • sudo reboot:立即重启系统.
    • 查看系统运行时间和重启次数

      • uptime:显示系统运行时间和平均负载.
      • last reboot:显示系统重启记录.

系统更新

更新命令

bash 复制代码
# ubuntu
apt update
apt upgrade
apt full-upgrade
apt autoremove

# centos
yum/dnf check-update
yum/dnf update
yum/dnf upgrade
yum/dnf autoremove

锁定软件使其不受更新影响

bash 复制代码
# ubuntu
apt-mark hold nginx # 保持不更新
apt-mark unhold nginx 

# centos
# 安装插件,如果是 centos 8 以上的版本,则将 yum 换成 dnf
yum install -y yum-plugin-versionlock
yum versionlock add nginx
yum versionlock list
yum versionlock delete nginx
yum versionlock clear # 解除所有锁定

系统备份和还原

备份系统

  1. 使用 rsync 进行备份
bash 复制代码
rsync -aAXv --exclude=/dev/* --exclude=/proc/* --exclude=/sys/* --exclude=/tmp/* --exclude=/run/* --exclude=/mnt/* --exclude=/media/* --exclude=/lost+found / /path/to/backup/folder
  • -a:归档模式,保留文件的权限、时间戳等属性.
  • -A:保留 ACL(访问控制列表).
  • -X:保留扩展属性.
  • --exclude:排除不需要备份的目录.
  • /:表示备份根目录.
  • /path/to/backup/folder:备份文件存放的路径.
  1. 使用 dd 创建磁盘映像
bash 复制代码
sudo dd if=/dev/sda of=/path/to/backup.img bs=4M status=progress
  • if:输入文件,这里是磁盘设备(如 /dev/sda).
  • of:输出文件,备份映像文件的路径.
  • bs=4M:指定块大小为 4MB,提高备份速度.
  • status=progress:显示备份进度.
  1. 使用 tar 备份
bash 复制代码
sudo tar -czpvf /path/to/backup.tar.gz --exclude=/dev/* --exclude=/proc/* --exclude=/sys/* --exclude=/tmp/* --exclude=/run/* --exclude=/mnt/* --exclude=/media/* --exclude=/lost+found /
  • -c:创建新的归档文件.
  • -z:使用 gzip 压缩.
  • -p:保留文件权限.
  • -v:显示操作过程.
  • -f:指定备份文件的路径和名称.
  • --exclude:排除不需要备份的目录.

还原系统

  1. 使用 rsync 还原
bash 复制代码
sudo rsync -aAXv --exclude=/dev/* --exclude=/proc/* --exclude=/sys/* --exclude=/tmp/* --exclude=/run/* --exclude=/mnt/* --exclude=/media/* --exclude=/lost+found /path/to/backup/folder/ /
  1. 使用 dd 还原磁盘映像
bash 复制代码
sudo dd if=/path/to/backup.img of=/dev/sda bs=4M status=progress
  1. 使用 tar 还原
bash 复制代码
sudo tar -xzpvf /path/to/backup.tar.gz -C /

工具的使用场景

场景 推荐工具 原因
硬盘克隆(同硬件) dd​ 或 Clonezilla 需要逐字节复制磁盘内容
修复引导/分区表 dd​(仅备份关键部分) 直接操作磁盘扇区
日常系统备份 tar​、rsync 高效、灵活、节省空间
频繁系统快照 timeshift 快速创建和恢复,适合日常维护
企业级备份 Veeam​、Bacula 支持自动化、加密、远程存储等高级功能

相关推荐
坚定信念,勇往无前1 小时前
springboot单机支持1w并发,需要做哪些优化
java·spring boot·后端
老友@1 小时前
OnlyOffice:前端编辑器与后端API实现高效办公
前端·后端·websocket·编辑器·onlyoffice
风月歌2 小时前
基于springboot校园健康系统的设计与实现(源码+文档)
java·spring boot·后端·mysql·毕业设计·mybatis·源码
m0_748239473 小时前
Spring Boot框架知识总结(超详细)
java·spring boot·后端
m0_748236113 小时前
Spring Boot 实战:轻松实现文件上传与下载功能
linux·spring boot·后端
m0_748245923 小时前
Spring Boot(七):Swagger 接口文档
java·spring boot·后端
青灯文案14 小时前
如何在 SpringBoot 项目使用 Redis 的 Pipeline 功能
spring boot·redis·后端
m0_748249544 小时前
SpringBoot教程(三十二) SpringBoot集成Skywalking链路跟踪
spring boot·后端·skywalking
小咕聊编程5 小时前
【含文档+PPT+源码】基于Django的新闻推荐系统的设计与实现
后端·python·django
web150854159355 小时前
Spring Boot(十六):使用 Jenkins 部署 Spring Boot
spring boot·后端·jenkins