linux 从home下给根目录分配空间(centos 7.9)

文章讲述了如何处理Linux系统中根目录空间不足的问题,包括备份home目录、扩大根目录空间、创建和格式化新的home逻辑卷以及恢复备份的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

如图系统有1块盘vda,有2个分区vda1和vda2,系统在vda2分区中,可以看到根目录/ 只有50G,已用100%,但是/home下有965G,还有858G没有使用,碰到的情况是根目录磁盘空间不够用了图1,

 图1

把根目录的部分文件挪走了才腾出部分空间继续操作,如图2

图2

注意事项:

接下来需要先把home备份,需要注意的是尽可能先把home下的大文件挪走,再把空间清理出来,不然后面备份home形成home.tar包会出现问题。(home.tar还是放在根目录下,所以一定要确保根目录的空间要比home.tar的空间大)

接下来:先安装psmisc,否则使用不了fuser命令

yum install -y psmisc
查看当前目录是否在被使用
fuser -m /home

这种情况说明/home目录还被占用着,

查看该进程的使用者
ps aux|grep 55319

检查并退出所有登录用,直到查不到使用home的目录位置。如下图

备份home目录(注意:如果此处home下文件比根目录的可用空间要大,备份会失败,必须确保根目录空间比备份的home.tar文件要大)

tar -cvf home.tar home

卸载/home的挂载

umount /home/

移除逻辑目录

lvremove /dev/mapper/centos-home

提示选Y

Do you really want to remove active logical volume centos/home? [y/n]: y
Logical volume "home" successfully removed

扩容根目录,这里500G根据实际的需求自己写

lvextend -L +500G /dev/mapper/centos-root

增加xfs文件系统的大小

xfs_growfs /dev/mapper/centos-root

创建home逻辑盘,大小用总的大小减去分配给根目录后,总的剩余大小

lvcreate -L 463G -n home centos

格式化

mkfs.xfs /dev/mapper/centos-home

再挂载home目录

mount /dev/mapper/centos-home /home

查询

df -h
lsblk

再解压home目录

tar -xvf home.tar

### 安装 Node.js 前的准备 为了确保顺利安装,在 CentOS 7.9 上操作前应先更新系统的软件包列表: ```bash sudo yum update -y ``` ### 方法一:通过官方节点源安装 一种方法是利用 NodeSource 提供的脚本来设置仓库并安装指定版本的 Node.js。对于较新的 LTS 版本,可以采用这种方式。 #### 添加 Node.js 软件源 执行以下命令来添加适合所需版本的 Node.js 源。这里以最新的长期支持版为例: ```bash curl -sL https://rpm.nodesource.com/setup_14.x | sudo bash - ``` 这一步骤会自动配置好 YUM 库以便后续能够正确获取 Node.js 及其依赖项[^2]。 #### 执行安装过程 一旦设置了正确的库之后,就可以继续安装 Node.js 和 npm(Node 包管理器)了: ```bash sudo yum install -y nodejs ``` 如果遇到依赖关系错误提示,可能是因为系统缺少必要的 C++ 标准库版本。此时建议尝试其他安装方式或手动解决缺失的依赖项[^1]。 ### 方法二:直接下载预编译二进制文件 另一种更为直观的方法是从官方网站下载适用于 Linux 平台的预构建压缩包,并按照个人喜好将其放置于合适的位置再做相应配置。 #### 获取 Node.js 文件 访问 [Node.js](https://nodejs.org/) 网站上的下载页面挑选合适的发行版链接进行下载。假设选择了 v16.18.0,则可使用 wget 或者浏览器下载工具将 .tar.xz 形式的存档拉取下来。 #### 解压与部署 接着把下载好的 tarball 移动至目标位置并解压它: ```bash tar -C /usr/local --strip-components=1 -xzf node-v16.18.0-linux-x64.tar.xz ``` 上述指令中的 `/usr/local` 是常见的安装路径之一;而 `--strip-components=1` 参数用于去除顶层目录名从而使得内容被提取到根级别下[^3]。 #### 设置环境变量 为了让全局范围内都能识别新安装的 Node.js,需编辑 shell 初始化文件如 `.bashrc` 或者全局生效的话就修改 `/etc/profile` ,追加如下两行定义 NODE_HOME 和调整 PATH : ```bash export NODE_HOME=/usr/local export PATH=$NODE_HOME/bin:$PATH ``` 保存更改后记得使这些改动立即生效: ```bash source /etc/profile ``` 验证是否成功安装可通过查看版本号确认: ```bash node -v && npm -v ``` ### 使用 NVM 进行多版本管理 对于那些希望在同一主机上轻松切换不同版本的需求来说,NVM(Node Version Manager)是一个不错的选择。只需简单几步就能实现这一点。 #### 安装 NVM 工具链 首先得准备好 git 和 curl/wget 环境,因为它们是用来克隆项目以及抓取远程资源所必需的组件。然后根据[NVM GitHub主页](https://github.com/nvm-sh/nvm#installing-and-updating)给出的方式完成安装流程。 #### 利用 NVM 安置 Node.js 实例 有了 NVM 后便能方便地安装任意想要测试的新旧版本: ```bash nvm install node # 默认安装最新稳定版 nvm use node # 开始使用该实例 ``` 也可以指明具体要安裝哪个次要版本系列: ```bash nvm install 20 # 明确指出安装第20大版本家族下的成员 ``` 这样不仅简化了跨平台开发的工作量还提高了效率[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值