# linux-ubuntu+centos-note **Repository Path**: myanderson/linux-notes ## Basic Information - **Project Name**: linux-ubuntu+centos-note - **Description**: Linux Ubuntu && Centos 笔记 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-03-21 - **Last Updated**: 2026-05-02 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Linux Ubuntu && Centos 笔记 ## 目录 - [一、Ubuntu2204指南](#一Ubuntu2204指南) - [1.1 Ubuntu安装:Guided Storage Configuration](#11-ubuntu安装guided-storage-configuration) - [1.2 使用Netplan配置静态IP](#12-使用netplan配置静态IP) - [1.3 磁盘挂载](#13磁盘挂载) - 二、软件安装 - [1. php安装Redis扩展](二、软件安装/1.php安装Redis扩展.md) - [2. OpenClaw安装](二、软件安装/2.OpenClaw安装.md) - 三、图形界面 - [1. CentOS8安装GNOME3桌面并设置开机启动图形界面](三、图形界面/1.CentOS8安装GNOME3桌面并设置开机启动图形界面.md) - [2. win10远程连接centos7、8设置方法](三、图形界面/2.win10远程连接centos7、8设置方法.md) - 四、Docker - [1. 拉取CentOS镜像](四、Docker/1.拉取CentOS镜像.md) - [2. 镜像推送到DockerHub](四、Docker/2.镜像推送到DockerHub.md) - [3. ifconfig提示command not found](四、Docker/3.ifconfig提示commandnotfound.md) - [4. 访问局域网docker容器](四、Docker/4.访问局域网docker容器.md) - 五、Shell命令 - [1. ssh局域网级联登录](五、Shell命令/1.ssh局域网级联登录.md) - [2. ssh反向代理配置(实现内网穿透)](五、Shell命令/2.ssh反向代理配置(实现内网穿透).md) - [3. 账户安全控制](五、Shell命令/3.账户安全控制.md) - [4. 常用shell命令](五、Shell命令/4.常用shell命令.md) - [5. 防火墙设置](五、Shell命令/5.防火墙设置.md) - [六、宝塔](#六宝塔) - [1. 安装宝塔](#1-安装宝塔) - [2. node环境变量设置](#2-node环境变量设置) - [3. redis-server全局命令](#3-找到redis安装路径下的redis-server定义全局命令) - [4. 关闭安全入口](#4-关闭安全入口命令) - [5. MySQL存储位置迁移](#5-mysql存储位置迁移使用符号链接法) - 七、数据库常用脚本 - [1.一致性检查](七、数据库常用脚本/1.check_db_consistency.sh) - [2.反向同步](七、数据库常用脚本/2.reverse_sync_tables.sh) --- ## 一、Ubuntu2204指南 ### 1.1 Ubuntu安装:Guided Storage Configuration **步骤1:进入引导式存储配置界面** 在 Ubuntu Server 22.04 安装流程中,完成网络、语言、键盘等基础配置后,会进入 **Storage configuration** 界面,此时有两个核心选项: 1. **Use an entire disk**(引导式存储配置,自动分区) 2. **Custom storage layout**(手动分区,高级用户) 选择 **Use an entire disk** 即可进入引导式配置流程。 **步骤2:引导式存储配置不使用LVM,基础分区方案** 进入后,安装程序会列出服务器所有可用磁盘,选择目标磁盘后: - **适用场景**:单磁盘、无后期扩容需求、追求最简部署的场景(如测试服务器、小型服务)。 - **分区逻辑(默认)**: - **UEFI 启动**:自动创建 **EFI 系统分区(/boot/efi,512MB,FAT32)** + **根分区(/,ext4,占用剩余全部空间)**。 - **Legacy BIOS 启动**:自动创建 **/boot 分区(1GB,ext4)** + **根分区(/,ext4,占用剩余全部空间)**。 - **特点**:分区固定,**无法动态调整大小**,后期扩容需手动操作。 **步骤3:引导式配置详细操作步骤(以LVM方案为例)** 1. **选择目标磁盘**:在磁盘列表中选中要安装系统的磁盘(如 `/dev/sda`),按回车确认。 2. **选择分区方案**:选中 **Use an entire disk and set up LVM**,按回车。 3. **配置LVM空间分配(可选)**: - 界面提示 **Amount of volume group to use for guided storage configuration**(分配给LVM的空间比例)。 - 默认值为 **100%**(使用全部磁盘空间),可修改为更小比例(如80%),保留部分空间用于后续手动创建逻辑卷。 4. **查看分区摘要**:安装程序展示自动生成的分区/逻辑卷结构,包含: - 磁盘设备、分区类型、文件系统、挂载点、大小。 - 确认无误后,选择 **Done** 按回车。 5. **确认破坏性操作**:弹出警告框,提示“此操作会清空磁盘数据”,选择 **Continue** 确认写入分区表。 6. **完成存储配置**:返回安装主界面,继续后续系统安装步骤。 **步骤4:引导式配置的默认分区结构(UEFI + LVM 场景)** 以 500GB 磁盘为例,引导式LVM方案的默认分区如下: |分区/逻辑卷|设备路径|文件系统|挂载点|大小|说明| |---|---|---|---|---|---| |EFI系统分区|/dev/sda1|FAT32|/boot/efi|512MB|UEFI启动必需,存放引导程序| |/boot分区|/dev/sda2|ext4|/boot|1GB|独立分区,存放内核与initramfs| |LVM物理卷|/dev/sda3|LVM|-|498.5GB|纳入卷组 ubuntu-vg| |根逻辑卷|/dev/ubuntu-vg/ubuntu-lv|ext4|/|498.5GB|系统根目录,默认占用全部LVM空间| 注:Ubuntu Server 22.04 引导式配置**默认不创建交换分区/交换文件**,内存不足时可后期手动配置。 **步骤5:引导式 vs 手动存储配置对比** |维度|Guided Storage Configuration(引导式)|Custom storage layout(手动)| |---|---|---| |难度|低,一键完成|高,需手动规划分区| |灵活性|低,仅三种预设方案|高,可自定义所有分区参数| |适用人群|新手、快速部署、无特殊需求|高级用户、复杂存储场景| |功能支持|支持LVM、LUKS|支持LVM、LUKS、RAID、多磁盘挂载| |后期维护|简单,LVM可动态扩容|灵活,可按需调整所有分区| **步骤6:常见问题与注意事项** 1. **多磁盘选择**:引导式配置**仅支持单磁盘**,多磁盘需选择手动配置并创建LVM/RAID。 2. **加密密码丢失**:若选择加密LVM,丢失密码后**无法恢复数据**,务必妥善保管。 3. **swap 配置**:引导式不创建swap,内存≥8GB时通常无需配置;内存较小可后期通过 `fallocate` 创建交换文件。 4. **启动模式匹配**:确保安装时的启动模式(UEFI/Legacy)与服务器BIOS设置一致,否则可能无法引导系统。 5. **磁盘空间预留**:生产环境建议LVM方案中**预留10%-20%空间**,避免后期无空间扩容。 **步骤7:总结** **Guided Storage Configuration** 是 Ubuntu Server 22.04 提供的高效、安全的自动分区方案,**LVM方案** 兼顾易用性与扩展性,是大多数场景的首选;**加密LVM方案** 适合高安全需求场景。新手可直接使用引导式配置快速完成安装,高级用户可根据需求切换至手动配置。 需要我把这份文档整理成可直接复制的**安装操作速查表**,并补充**swap交换文件创建**与**LVM扩容**的完整命令吗? > (注:文档部分内容可能由 AI 生成) ### 1.2 使用Netplan配置静态IP Ubuntu Server 22.04 默认使用 **Netplan** 进行网络配置,配置文件位于 `/etc/netplan/` 目录。 **步骤1:查看当前网络配置** ```bash # 查看网络接口名称 ip addr show ``` 通常网卡名称为 `ens33`、`eth0` 或 `enp0s3` 等。 **步骤2:查看当前DNS配置** 在配置固定IP之前,务必先查看当前的DNS服务器配置,以便在新配置中保留相同的DNS设置。 ```bash # 使用resolvectl查看DNS配置 resolvectl status # **示例输出:** Global Protocols: -LLMNR -mDNS -DNSOverTLS DNSSEC=no/unsupported resolv.conf mode: stub Link 2 (enp0s31f6) Current Scopes: DNS Protocols: +DefaultRoute +LLMNR -mDNS -DNSOverTLS DNSSEC=no/unsupported Current DNS Server: 211.162.130.34 DNS Servers: 211.162.130.33 211.162.130.34 ``` **步骤3:备份原有配置** ```bash sudo cp /etc/netplan/*.yaml /etc/netplan/*.yaml.bak ``` **步骤4:编辑Netplan配置文件** ```bash sudo nano /etc/netplan/00-installer-config.yaml ``` 常见的配置文件名有: - `00-installer-config.yaml`(桌面版或手动安装) - `50-cloud-init.yaml`(云服务器或使用cloud-init安装) - `01-netcfg.yaml`(其他情况) **步骤5:配置静态IP(示例)** ```yaml network: version: 2 renderer: networkd ethernets: enp0s31f6: dhcp4: no addresses: [192.192.1.109/24] # 你的静态IP地址和子网掩码 routes: - to: default via: 192.192.1.1 # 网关地址 nameservers: addresses: [211.162.130.33,211.162.130.34] # 保留原来的DNS配置 ``` **步骤6:应用配置** ```bash # 测试配置是否正确 sudo netplan try # 如果测试通过,按Enter确认;如果失败,会自动回滚 # 直接应用配置(不测试) sudo netplan apply ``` ### 1.3 磁盘挂载 **步骤1: 查看磁盘分区信息** ```bash fdisk -l # Disk /dev/sdb: 111.8 GiB, 120034123776 bytes, 234441648 sectors # Disk model: ShineDisk M667 # Units: sectors of 1 * 512 = 512 bytes # Sector size (logical/physical): 512 bytes / 512 bytes # I/O size (minimum/optimal): 512 bytes / 512 bytes # Disklabel type: gpt # 分区表类型为GPT # Disk identifier: XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX # # Device Start End Sectors Size Type # /dev/sdb1 2048 4095 2048 1M BIOS boot # /dev/sdb2 4096 2101247 2097152 1G Linux filesystem # /dev/sdb3 2101248 10590207 8488960 4G Linux swap # /dev/sdb4 10590208 234440703 223850496 106.8G Linux filesystem ``` **步骤2: 查看分区文件系统 + 挂载点 + UUID** ```bash lsblk -f # NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS # sda 8:0 0 111.8G 0 disk # └─sda1 8:1 0 111.8G 0 part / # 120G固态,挂载根目录,设备名:sda # sdb 8:16 0 931.5G 0 disk # 1TB机械硬盘,设备名:sdb ``` **步骤3: 创建挂载点** ```bash sudo mkdir -p /mnt/windows_e # -p 参数确保目录不存在时创建,存在时不报错。 sudo mkdir -p /mnt/data ``` **步骤4: 挂载磁盘** ```bash # 1) 临时挂载-ext4磁盘:使用 mount命令挂载,重启后失效,适合测试。 sudo mount UUID="569b0405-eb89-4ec1-a8da-d02ddcd88320" /mnt/data # 或 sudo mount /dev/sdb4 /mnt/data # 2) 临时挂载-ntfs磁盘:使用ntfs-3g驱动的读写权限设置 # sudo apt update # sudo apt install ntfs-3g sudo mount -t ntfs-3g UUID="00062941000990BD" /mnt/windows_e -o uid=1000,gid=1000,umask=022 # sudo mount -t ntfs-3g UUID="00062941000990BD" /mnt/windows_e -o uid=mysql,gid=mysql,umask=022 # uid=1000, gid=1000: 将磁盘所有者设置为UID为1000的用户(通常是第一个创建的普通用户),使其拥有权限 # umask=022: 设置新建文件和目录的默认权限(目录755,文件644) # 3) 卸载临时挂载 sudo umount /mnt/windows_e # 通过挂载点卸载 sudo umount /dev/sdb4 # 或通过设备路径卸载(例如,设备为 /dev/sdb4) sudo umount -l /mnt/windows_e # 懒卸载:立即解除挂载点,但实际的卸载操作会延迟到所有进程都停止使用该设备后进行。 sudo umount -f /mnt/windows_e # 强制卸载:通常用于NFS等网络文件系统无法正常卸载的情况,可能导致数据问题。 ``` - 永久挂载:编辑 /etc/fstab 文件 ```bash # 4) 永久挂载:编辑 /etc/fstab 文件,添加以下内容: UUID="569b0405-eb89-4ec1-a8da-d02ddcd88320" /mnt/data ext4 defaults,nofail 0 2 UUID="00062941000990BD" /mnt/windows_e ntfs-3g defaults,nofail,uid=1000,gid=1000,umask=022 0 0 # nofail 选项表示挂载失败不阻止系统启动 # (先尝试移除nofail选项)测试配置(无报错则正常): sudo mount -a ``` **步骤5: 验证挂载是否成功** ```bash df -hT /mnt/windows_e ``` ## 六、宝塔 ### 1. 安装宝塔 **安装前准备** ```bash # 更新系统与驱动 sudo apt update && sudo apt upgrade -y # CentOS/RHEL 系统使用: # yum update -y ``` **执行安装脚本** ```bash wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sudo bash install.sh # 或 yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh ``` 如果无法访问面板尝试: ``` curl http://download.bt.cn/install/update_panel.sh|bash ``` ### 2. node环境变量设置 ``` ln -s /www/server/nvm/versions/node/12.xxx/bin/node /usr/local/bin/node ln -s /www/server/nvm/versions/node/12.xxx/bin/npm /usr/local/bin/npm ``` ### 3. 找到redis安装路径下的redis-server定义全局命令 ``` ln -s /www/server/redis/src/redis-server /usr/bin/redis-server ``` ### 4. 关闭安全入口命令 ``` rm -f /www/server/panel/data/admin_path.pl ``` ### 5. MySQL存储位置迁移(使用符号链接法) ``` # 1) 停止MySQL服务 sudo bt stop # 2) 迁移单个数据库的数据文件 sudo mv /www/server/data/数据库名 /mnt/目标路径/mysql/ # 3) 创建符号链接 sudo ln -s /mnt/目标路径/mysql/数据库名 /www/server/data/数据库名 # 4) 设置权限 sudo chown -R mysql:mysql /mnt/目标路径/mysql/数据库名 sudo chown -R mysql:mysql /www/server/data/数据库名 # 5) 启动MySQL服务 sudo bt start ```