diff --git a/source/_posts/Docker.md b/source/_posts/Docker.md index 6e2a189..b3a13f3 100644 --- a/source/_posts/Docker.md +++ b/source/_posts/Docker.md @@ -403,6 +403,8 @@ docker load < image.tar 将A服务器宿主机的目录备份到B服务器上 +## Docker 网络 network + ## Docker 容器与宿主机时间不同步 @@ -1022,7 +1024,7 @@ docker run -d -p 15432:5432 --name postgres16 --restart=always -v /usr/local/doc ## Docker 安装 Timescaledb ```shell -docker run -d -p 15433:5432 --name timescaledb-pg16 --restart=always -v /usr/local/docker/timescaledb-pg16/pgdata/data:/var/lib/postgresql/data -e POSTGRES_PASSWORD=Wyd210213 timescale/timescaledb:latest-pg16 +docker run -d -p 15433:5432 --name timescaledb-pg16 --restart=always -v /usr/local/docker/timescaledb-pg16/pgdata/data:/var/lib/postgresql/data -v /etc/localtime:/etc/localtime:ro -e POSTGRES_PASSWORD=Wyd210213 -e TZ=Asia/Shanghai timescale/timescaledb:latest-pg16 ``` diff --git a/source/_posts/Linux.md b/source/_posts/Linux.md index 31842c6..388d38e 100644 --- a/source/_posts/Linux.md +++ b/source/_posts/Linux.md @@ -1129,12 +1129,197 @@ xfs_growfs /dev/rl/root ## 转换分区格式 -### 确认当前文件系统类型 +### Microsoft 基本数据 -> Linux 文件系统 ```shell +fdisk -l +... +Disk /dev/sdb:2.18 TiB,2400476553216 字节,4688430768 个扇区 +磁盘型号:DL2400MM0159 +单元:扇区 / 1 * 512 = 512 字节 +扇区大小(逻辑/物理):512 字节 / 4096 字节 +I/O 大小(最小/最佳):4096 字节 / 4096 字节 +磁盘标签类型:gpt +磁盘标识符:6C271C0A-2A82-416E-8A0F-A49EF6D9BA33 +设备 起点 末尾 扇区 大小 类型 +/dev/sdb1 2048 4688429055 4688427008 2.2T Microsoft 基本数据 +... ``` +通过查看都为 Microsoft 基本数据 硬盘类型,需要转换成Linux系统能够识别的 Linux 文件系统 +先将 /dev/sdb 进行转换 +```shell +fdisk /dev/sdb +# 输入 t 命令 代表转换分区类型 +t +# 20 代表 Linux file system +20 +# 输入 w 命令 代表改动由内存写入到硬盘中 +``` + +手动挂载硬盘 + +```shell +mkdir /sdb +mount -t ext3 /dev/sdb1 /sdb +``` + +没有报错后,可查看磁盘情况 + +```shell +df -Th +devtmpfs devtmpfs 4.0M 0 4.0M 0% /dev +tmpfs tmpfs 16G 0 16G 0% /dev/shm +tmpfs tmpfs 6.2G 19M 6.2G 1% /run +efivarfs efivarfs 304K 129K 171K 43% /sys/firmware/efi/efivars +/dev/mapper/almalinux-root xfs 382G 16G 367G 5% / +/dev/sda2 xfs 960M 416M 545M 44% /boot +/dev/sda1 vfat 200M 7.1M 193M 4% /boot/efi +tmpfs tmpfs 3.1G 100K 3.1G 1% /run/user/0 +/dev/sdb1 ext3 2.2T 72G 2.0T 4% /sdb +``` + +看到已经挂载上了,也可以访问了 + +系统重启后,挂载会失效,需再改动 /etc/fstab 文件,让其自动挂载 + +```shell +vim /etc/fstab +# +# /etc/fstab +# Created by anaconda on Fri May 16 02:20:43 2025 +# +# Accessible filesystems, by reference, are maintained under '/dev/disk/'. +# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info. +# +# After editing this file, run 'systemctl daemon-reload' to update systemd +# units generated from this file. +# +/dev/mapper/almalinux-root / xfs defaults 0 0 +UUID=d99ec15b-05d5-4311-b5c7-497945d4805d /boot xfs defaults 0 0 +UUID=0EAB-5879 /boot/efi vfat umask=0077,shortname=winnt 0 2 +/dev/mapper/almalinux-swap none swap defaults 0 0 +# 此处追加下面硬盘信息 +/dev/sdb1 /sdb ext3 defaults 0 0 +``` + +修改 /etc/fstab 文件后,需系统重载配置,才可应用 + +```shell +systemctl daemon-reload +``` + +### ext3 升级 ext4 + +确认当前文件系统类型 + +```shell +df -Th | grep /dev/sdb1 +/dev/sdb1 ext3 2.2T 60G 2.0T 3% /sdb +``` + +卸载目标分区(⚠️ 注意:不能对正在使用的根分区操作) + +```shell +umount /dev/sdb1 +``` + +检查并修复文件系统 + +```shell +e2fsck -f /dev/sdb1 + +e2fsck 1.46.5 (30-Dec-2021) +第 1 步:检查inode、块和大小 +第 2 步:检查目录结构 +第 3 步:检查目录连接性 +第 4 步:检查引用计数 +第 5 步:检查组概要信息 +/dev/sdb1:26748/146513920 文件(15.5% 为非连续的), 24877668/586053376 块 +``` + +确保文件系统无错误。 + +将 ext3 转换为 ext4 + +```shell +tune2fs -O has_journal,extent,huge_file,flex_bg,uninit_bg,dir_nlink,extra_isize /dev/sdb1 +tune2fs 1.46.5 (30-Dec-2021) +``` + +查看转换是否成功 + +```shell +dumpe2fs -h /dev/sdb1 | grep features +dumpe2fs 1.46.5 (30-Dec-2021) +Filesystem features: has_journal ext_attr resize_inode dir_index filetype extent flex_bg sparse_super large_file huge_file uninit_bg dir_nlink extra_isize +Journal features: journal_incompat_revoke +``` + +确认输出中包含你刚刚添加的特性,例如: + +extent +huge_file +flex_bg +uninit_bg +dir_nlink +extra_isize +如果有这些关键字,说明已经成功启用了这些功能,也就是成功转换成ext4。 + +再次检查文件系统 + +```shell +e2fsck -f /dev/sdb1 +``` + +挂载并验证文件系统类型 + +```shell +mount -t ext4 /dev/sdb1 /sdb +df -Th | grep /dev/sdb1 +/dev/sdb1 ext4 2.2T 60G 2.0T 3% /sdb +``` + +修改 /etc/fstab 文件 + +```shell +/dev/mapper/almalinux-root / xfs defaults 0 0 +UUID=d99ec15b-05d5-4311-b5c7-497945d4805d /boot xfs defaults 0 0 +UUID=0EAB-5879 /boot/efi vfat umask=0077,shortname=winnt 0 2 +/dev/mapper/almalinux-swap none swap defaults 0 0 +/dev/sdb1 /sdb ext4 defaults 0 0 +``` + +保存并重载配置 + +```shell +systemctl daemon-reload +``` + +## 挂载远程卷 + +### Windows + +首先创建本地的挂载目录,一般在`/mnt`下 + +这里以 `/mnt/wdshare`为例 + +```shell +mkdir -p /mnt/wdshare/ +``` + +安装`cifs-utils` + +```shell +dnf install -y cifs-utils +``` + +进行挂载 + +```shell +mount -t cifs -o username=user,password=backup //192.168.0.1/备份 /mnt/wdshare/ +``` ## 分配Swap @@ -2654,6 +2839,10 @@ path = /root/mysql_bakup read only = yes ``` +### 命令 + + + ## 安装 Jenkins 安装 Java @@ -2753,3 +2942,63 @@ Environment="JAVA_OPTS=-Djava.awt.headless=true -Duser.language=C.UTF-8" systemctl daemon-reload ``` +## 安装 Certbot + +**Certbot** 是由 **Electronic Frontier Foundation (EFF)** 提供的一个开源命令行工具,用于自动化从 Let’s Encrypt 获取和管理 SSL 证书。Certbot 会自动为你处理证书申请、安装和续期等过程。,用于自动化整个 SSL 证书的管理流程。它可以做以下几件事: + +- **申请证书**:使用 ACME 协议从 Let’s Encrypt 获取证书。 +- **验证域名所有权**:通过 HTTP-01 或 DNS-01 验证确保你拥有该域名。 +- **安装证书**:将证书自动安装到你的 Web 服务器,并配置相关的加密参数。 +- **续期证书**:定期自动续期证书,避免证书过期。 + +Certbot 的核心工作是通过 **ACME 协议**(自动证书管理环境)与 Let’s Encrypt 通信。ACME 是一套标准协议,用于自动化证书申请、验证和安装的过程。Certbot 使用 ACME 协议与 Let’s Encrypt 进行通信,确保你的网站能够通过安全的 HTTPS 连接。 + +推荐使用 Linux 的 snap 包管理工具安装Certbot + +首先需要安装 snap 包管理工具 + +> [Installing snap on Rocky Linux | Snapcraft documentation参考官网](https://snapcraft.io/docs/installing-snap-on-rocky) + +### AlmaLinux 安装 snapd + +AlmaLinux OS的快照包可以在Enterprise Linux Extra Packages(EPEL)存储库中找到。使用以下命令将EPEL存储库添加到AlmaLinux OS系统: + +```shell +dnf install epel-release +dnf upgrade +``` + +将EPEL存储库添加到AlmaLinux OS安装中后,只需安装Snapd包(以root/或sudo身份): + +```shell +dnf install snapd +``` + +安装后,需要启用管理主快照通信插座的systemd单元: + +```shell +systemctl enable --now snapd.socket +``` + +要启用经典snap支持,请输入以下内容以在`/var/lib/snapd/snap`和`/snap`之间创建符号链接: + +```shell +ln -s /var/lib/snapd/snap /snap +``` + +退出并再次重新登录或重新启动系统以确保快照的路径正确更新。 +Snap现已安装完毕,即可运行! + +支持snap后可以使用如下命令安装Certbot + +```shell +snap install --classic certbot +``` + +创建一个符号链接,确保可以执行certbot命令(相当于快捷方式) + +```shell +ln -s /snap/bin/certbot /usr/bin/certbot +``` + +### 范