Anolis 系统更新与密码设置&磁盘扩容

Anolis 系统更新与密码设置全程操作

一、系统全局更新

  1. 更新软件源缓存

    yum makecache

  2. 升级所有系统软件包

    yum update -y

  3. 仅升级系统内核

    yum install kernel kernel-devel -y

  4. 重启生效更新

    reboot

  5. 失败后的操作

    复制代码
    rm -f /etc/resolv.conf
    touch /etc/resolv.conf
    chmod 644 /etc/resolv.conf
    printf 'nameserver 223.5.5.5\nnameserver 119.29.29.29\n' > /etc/resolv.conf
    
    验证:
    
    cat /etc/resolv.conf
    getent hosts mirrors.openanolis.cn
    ping -c 3 mirrors.openanolis.cn
    yum clean all
    yum makecache

二、普通用户密码设置/修改

  1. 修改当前登录用户密码

    passwd

    按提示依次输入旧密码、新密码、确认新密码

  2. 修改指定用户密码(需root权限)

    passwd 用户名

    示例:passwd testuser

三、root管理员密码设置/重置

  1. 普通用户切换root后改密

    su root

    passwd

  2. 忘记root密码重置流程

    1. 开机进入GRUB引导界面,选中内核按 e 进入编辑
    2. 找到 linux16 开头行,末尾添加:rw init=/sysroot/bin/sh
    3. 按 Ctrl+x 进入单用户救援模式
    4. 执行切换系统环境
      chroot /sysroot
    5. 设置root密码
      passwd root
    6. 关闭SELinux上下文检测
      touch /.autorelabel
    7. 两次exit退出重启完成重置

四、密码安全配置(强制规则)

  1. 安装密码强度组件

    yum install pam_cracklib -y

  2. 编辑认证配置文件

    vi /etc/pam.d/system-auth

    添加缩进配置

    password requisite pam_cracklib.so retry=3 minlen=8 dcredit=1 ucredit=1 ocredit=1 lcredit=1

    字段说明:

    retry=3 输错3次退出

    minlen=8 密码最小8位

    dcredit 数字至少1位

    ucredit 大写字母至少1位

    lcredit 小写字母至少1位

    ocredit 特殊符号至少1位

五、锁定/解锁用户账号

  1. 锁定用户禁止登录

    passwd -l 用户名

  2. 解锁用户

    passwd -u 用户名

  3. 查看用户密码状态

    passwd -S 用户名

6 安装docker

问题原因

  1. download.docker.com 国内网络不稳定,curl 握手被重置,下载密钥失败,拿到空文件所以 gpg 报错;
  2. 你用 RHEL 官方源不适合 AnolisOS23,改用阿里云CentOS9 Docker源完美兼容龙蜥23(底层RHEL9),全程不走国外域名。

完整修复步骤(复制逐条执行)

1. 清理旧错误docker源

bash 复制代码
sudo rm -f /etc/yum.repos.d/docker-ce.repo
sudo dnf clean all

2. 安装必备依赖

bash 复制代码
sudo dnf install -y yum-utils gnupg2 curl

3. 添加阿里云Docker国内源(不走国外)

bash 复制代码
sudo dnf config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

4. 修改源文件:把$releasever强制替换成9(关键,解决404)

bash 复制代码
sudo sed -i 's/\$releasever/9/g' /etc/yum.repos.d/docker-ce.repo

5. 导入阿里云Docker GPG密钥(国内地址,不会连接重置)

bash 复制代码
sudo rpm --import https://mirrors.aliyun.com/docker-ce/linux/centos/gpg

6. 刷新yum缓存

bash 复制代码
sudo dnf makecache

7. 安装Docker(可选)

bash 复制代码
sudo dnf install -y docker-ce docker-ce-cli containerd.io
# 开机自启并启动
sudo systemctl enable docker --now

补充说明

  1. 之前报错 404 /centos/23:AnolisOS23 的 $releasever=23,但Docker没有centos23仓库,CentOS9源完全兼容龙蜥23;

  2. curl连接重置根源:download.docker.com 境外网络波动,阿里云镜像站国内直连,密钥下载稳定;

  3. 若后续拉取镜像慢,配置docker镜像加速器:

    bash 复制代码
    sudo mkdir -p /etc/docker
    sudo tee /etc/docker/daemon.json <<EOF
    {
    "registry-mirrors": ["https://docker.mirrors.ustc.edu.cn","https://mirror.ccs.tencentyun.com"]
    }
    EOF
    sudo systemctl restart docker

推荐方案:dnf 安装官方 Compose V2 插件(适配你 AnolisOS23,可随yum升级)

1. 一键完整安装(含docker+compose插件)

bash 复制代码
sudo dnf install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

单独只装compose插件(已装好docker时):

bash 复制代码
sudo dnf install -y docker-compose-plugin

2. 启动docker并开机自启

bash 复制代码
sudo systemctl enable docker --now

3. 两种使用命令说明

新版标准(插件模式,空格 docker compose

bash 复制代码
# 查看版本
docker compose version
# 启动yml
docker compose up -d
# 停止
docker compose down

兼容旧版短命令 docker-compose(横杠)

习惯老命令的话创建软链接:

bash 复制代码
sudo ln -s /usr/libexec/docker/cli-plugins/docker-compose /usr/bin/docker-compose
# 验证
docker-compose --version

4. 验证是否安装成功

bash 复制代码
docker compose version

输出版本号即正常。

备选方案(网络差、yum下载失败时手动二进制安装)

bash 复制代码
# ghproxy国内加速下载,避免GitHub连接超时
sudo curl -L "https://ghproxy.com/https://github.com/docker/compose/releases/latest/download/docker-compose-linux-x86_64" -o /usr/libexec/docker/cli-plugins/docker-compose
sudo chmod +x /usr/libexec/docker/cli-plugins/docker-compose
# 验证
docker compose version

补充区分 Compose V1 / V2

  1. docker-compose-plugin(V2,推荐)
    集成进docker cli,docker compose,支持新语法,yum统一升级维护,无Python依赖;
  2. 老旧 docker-compose(V1,已废弃)
    Python编写,不再更新,不建议安装。

完整一套操作流程(你当前环境直接复制执行)

bash 复制代码
# 1. 刷新源缓存(之前已改好centos9源)
sudo dnf makecache
# 2. 安装docker+compose
sudo dnf install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin
# 3. 启动自启
sudo systemctl enable docker --now
# 4. 兼容旧命令
sudo ln -s /usr/libexec/docker/cli-plugins/docker-compose /usr/bin/docker-compose
# 5. 校验
docker --version
docker compose version
docker-compose --version

内核相关

复制代码
先检查当前状态

  cat /etc/os-release
  uname -r
  rpm -qa | grep -E '^kernel' | sort
  查看官方仓库提供的更新:
  yum check-update kernel
  # 或
  dnf check-update kernel
  你当前存在 DNS/仓库访问故障,应当先把 yum makecache 修好,再判断有没有官方内核更新。
  如果确实需要升级
  优先进行常规系统安全更新,或者只更新官方内核包:
  yum update kernel
  安装后先不要删除旧内核,确认已安装版本:
  rpm -q kernel
  grubby --default-kernel
  grubby --info=ALL
  然后安排维护窗口重启:
  reboot
  重启后确认:
  uname -r
  dmesg --level=err,crit,alert,emerg
  systemctl --failed
  至少保留一个已验证可启动的旧内核,出现问题时可以从 GRUB 选择旧内核回滚。

磁盘扩展

复制代码
查看并确认新空间
# 查看磁盘和分区情况,确认系统已识别到扩容后的磁盘大小
lsblk
# 或
fdisk -l
方法二:使用 parted 命令(次选,较为安全)
parted 支持直接按百分比或终点调整,同样无需手动算扇区。
# 1. 进入 parted 交互模式
parted /dev/sda
# 2. 将第 3 个分区的结束位置调整到磁盘的 100%(即末尾)
resizepart 3 100%
# 3. 退出
quit

让内核识别新分区大小  partprobe /dev/sda

扩展 LVM 并生效(接续步骤)
分区变大后,LVM 物理卷(PV)本身还不知道空间变大了,需要手动告知:
步骤 1:调整物理卷(PV)大小
bash
pvresize /dev/sda3
执行后用 pvdisplay 查看,Free PE 应显示有新增的约 50G 空闲空间。
步骤 2:扩展逻辑卷(LV)
假设你要把这 50G 全部分给根目录:   df -h  确认盘符
lvextend -l +100%FREE /dev/mapper/ao_anolis-root
步骤 3:扩展文件系统
# 先确认文件系统类型
df -hT /
# 如果是 xfs
xfs_growfs /
# 如果是 ext4
resize2fs /dev/mapper/ao_anolis-root
步骤 4:验证
df -h
查看根目录容量是否已增加。
相关推荐
kyson_1 小时前
大文件切片上传:从“能传”到“可靠”的 Vue 3 + Java 全栈实现
后端
张龙6871 小时前
uv 全面指南:比 pip 快 100 倍的 Python 包管理器,从安装到团队落地
后端·python
mqiqe1 小时前
线程调度与 Schedulers:Project Reactor 并发模型的核心引擎
java·开发语言·网络
我命由我123451 小时前
Android 开发问题:unexpected element <service> found in <manifest>
android·java·java-ee·android studio·android jetpack·android-studio·android runtime
正在走向自律2 小时前
飞算JavaAI能搞定充电站故障处置吗?
java·ai编程·java开发·飞算javaai·java代码生成·ai coding模型·springboo
用户40966601317512 小时前
Guava 不止有 Lists 和 Maps:Cache、EventBus、Multimap 实战
java·后端
一只叫煤球的猫2 小时前
从 Java 21 到 Java 25:ThreadLocal 以外的选择—— ScopedValue
java·后端·架构
用户3169353811833 小时前
SpringBoot + Vue 项目生产环境部署完整指南
前端·后端