/boot 空间不足解决方式

centos7 /boot空间不足解决方式

/boot 默认为200M,解决思路:清理空间、增加空间

法一、清理空间

网络上所谓的删除多与的内核文件、一般系统没升级等操作是没用的。不过也是有文件可以删除的:initramfs-rescue*和initramfs-dump这两个是可以删的,主要用来恢复用的,一般情况下不用到,但是还是不建议删的

71M     initramfs-0-rescue-7ca1c4e83c504eba8cb4623cb272ed77.img
31M     initramfs-3.10.0-957.el7.x86_64.img
13M     initramfs-3.10.0-957.el7.x86_64kdump.img

法二、扩容磁盘空间

由于boot是磁盘分区不是lvm不能直接增加,只能新建分区再把引导迁移到新分区

增加磁盘空间,

  1. 我的环境是vmware虚拟机,直接修改磁盘大小数值即可
  2. 扫描刷新存储
ls /sys/class/scsi_disk/
32:0:0:0
echo 1 >/sys/class/scsi_disk/32\:0\:0\:0/device/rescan

这时候磁盘空间已经显示为新增空间后的大小了
3. 磁盘创建新分区
fdisk /dev/sda
n、w #方法不赘述了
创建分区后执行:partprobe 系统即可识别分区
4. 创建文件系统,并备份boot

mkfs.xfs /dev/sda3   #这里我的新分区是sda3
#备份boot目录
mkdir /boot_olg
cp -rp /boot/* /boot_old/
#卸载boot目录
umount /boot
mount /dev/sda3 /boot
cp -rp /boot_old/* /boot/
#查看blkid
blkid
#修改启动挂在点,使用boot挂在点的分区id
vi /etc/fstab
  1. 固化grub (网上有些教程到第4步就结束了,这是治标不治本的,删了以前的/boot分区就无法启动了咯)
grub2-mkconfig -o /boot/grub2/grub.cfg
grub-install --boot-directory=/boot /dev/sda

到这里就可以了,删除之前boot分区/dev/sda1也可以启动

如果你操作有问题,重启就出现grub rescue,如下方法进入系统

ls
ls (hd0,msdos3)/grub2        #hd0磁盘、msdos3分区 (根据自己的分区确定)
set root=(hd0,msdos3)/grub2
set prefix=(hd0,msdos3)/grub2
insmod normal
normal

进去后确定是这个那个分区,执行第五步就修复好了

### OmegaConf 配置管理简介 OmegaConf 是一个强大的 Python 库,用于处理复杂的配置文件。它支持多种数据结构(如字典、列表)以及 YAML 文件的解析和操作。以下是有关如何使用 OmegaConf 的详细介绍。 #### 创建配置对象 可以通过 `OmegaConf.create` 方法创建一个新的配置对象。该方法可以接受字典、YAML 字符串或其他兼容的数据结构作为输入[^1]。 ```python import omegaconf from omegaconf import OmegaConf config_dict = {"database": {"host": "localhost", "port": 6379}} config = OmegaConf.create(config_dict) print(OmegaConf.to_yaml(config)) # 将配置转换为 YAML 格式的字符串 ``` #### 加载外部 YAML 文件 如果需要加载外部 YAML 文件,可使用 `OmegaConf.load` 方法。这使得程序能够轻松读取并应用存储在磁盘上的配置文件。 ```python yaml_file_path = "./example_config.yaml" file_conf = OmegaConf.load(yaml_file_path) # 打印加载后的配置内容 print(file_conf.database.host) # 输出 'localhost' ``` #### 合并多个配置源 当存在多个配置来源时(如默认设置与命令行参数),可以使用 `OmegaConf.merge` 来无缝合并它们。此功能允许开发者优先级较高的配置覆盖较低级别的配置项。 ```python default_configs = OmegaConf.create({"model": {"type": "resnet50"}}) cli_args = OmegaConf.from_dotlist(["model.type=vgg16"]) merged_config = OmegaConf.merge(default_configs, cli_args) assert merged_config.model.type == "vgg16" # 命令行参数成功覆盖默认值 ``` #### 动态更新配置 除了静态定义外,还可以通过访问器动态修改现有配置中的字段。这种灵活性非常适合运行时调整某些超参数或环境变量。 ```python dynamic_update = file_conf.copy() dynamic_update.database.port = 8080 print(dynamic_update.database.port) # 输出新的端口号 8080 ``` #### 错误处理机制 为了防止非法赋值破坏整个系统的稳定性,OmegaConf 提供了严格的模式控制选项。启用严格模式后,任何未声明过的键都将引发异常提示用户修正错误。 ```python strict_mode_enabled = file_conf.copy() strict_mode_enabled.set_struct(True) # 开启只读保护状态 try: strict_mode_enabled.new_field = True # 此处会抛出 AttributeError 异常 except AttributeError as e: print(f"Catch expected error: {e}") ``` --- ### 总结 以上展示了 OmegaConf 在不同场景下的典型用法,包括但不限于初始化配置实、加载外部资源、融合多层设定逻辑以及实施安全防护措施等方面的功能特性。希望这些子能帮助快速掌握其核心概念和技术要点!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值