206
云计算
负载均衡
产品简介
产品价格
快速入门
用户指南
实践操作
常见问题
购买指南
云服务器
产品简介
计费规则
购买指导
控制台使用指南
常见问题
云数据库
产品简介
计费规则
购买指导
快速入门
连接实例
控制台使用指南
对象存储
产品简介
控制台使用指南
程序员百科
Python
Linux实例中如何修改文件为Unix格式?-阿里云服务器ECS使用教程

产品推荐:

1、安全稳定的云服务器租用,2核/2G/5M仅37元,点击抢购>>>

2、高防物理服务器20核/16G/50M/500G防御仅350元,点击抢购>>>

3、百度智能建站(五合一网站)仅880元/年,点击抢购>>> 模板建站(PC+手机站)仅480元/年,点击抢购>>>

4、阿里云服务器2核2G3M仅99元/年、2核4G5M仅199元/年,新老同享,点击抢购>>> 

5、腾讯云服务器2核2G4M仅99元/年、新老同享,点击抢购>>>   


点击这里点击这里进入阿里云ECS官方页面,立即免费体验云服务器ECS>>>

在Linux实例中,如果一些关键文件的格式不是Unix格式,可能导致该实例无法被远程连接。您可以通过实例健康诊断工具进行问题修复。

前提条件

Linux实例已通过实例健康诊断工具进行诊断,诊断结果中实例无法启动场景的系统关键文件格式检查未通过。

背景信息

问题描述:Linux实例中因部分关键文件的格式不是Unix格式,导致的实例无法被远程连接。

可能原因:出现问题的关键文件可能由Windows系统中编辑后上传至Linux实例,或因其它不当操作导致文件格式不是Unix。

解决方案

  1. 远程连接问题实例。
    当ECS实例处于正在挂载修复盘的模式下时,只能通过VNC远程连接。具体操作,请参见通过密码认证登录Linux实例。
  2. 查看问题实例原有系统盘的挂载信息。
    在临时挂载的修复盘中,问题实例原有系统盘的文件系统会被挂载到某一临时目录下。您可以通过以下任一方式查看所在的临时目录信息:
    • 在系统盘详情页的挂载实例进行查看,对应的临时目录格式示例为:/tmp/ecs-offline-diagnose_disk-bp19bspzms79kqse****,其中bp19bspzms79kqse****为实例原有系统盘的云盘序列号。
    • 在临时挂载的修复盘中,运行mount命令查看。例如,问题实例原有系统盘的设备路径为/dev/vda,命令示例如下所示:
       
      mount | grep /dev/vda
      返回结果如下所示:
       
      /dev/vda1 on /tmp/ecs-offline-diagnose_disk-bp19bspzms79kqse**** type ext4 (rw,relatime)
  3. 运行chroot命令,将根目录切换为问题实例原有系统盘所在的临时路径,并进入chroot环境。
    您需要在问题实例原有系统盘所在的临时路径中进行文件修复。例如,临时路径为/tmp/ecs-offline-diagnose_disk-bp19bspzms79kqse****,命令如下所示:
     
    chroot /tmp/ecs-offline-diagnose_disk-bp19bspzms79kqse****
  4. chroot环境中,运行vim命令,编辑指定文件。
    编辑前,您需要注意以下事项:
    • 编辑关键文件前,请先运行cp命令对文件进行备份。

      例如,备份实例原有系统盘中的/etc/passwd文件命令为cp /etc/passwd /etc/passwd.bak

    • 当前编辑的文件均为问题实例原有系统盘中的文件,如果您需要编辑该系统盘挂载点之外的文件,请先运行exit命令退出chroot环境。
    • 当前处于chroot环境,因此命令中不需要加上/tmp/ecs-offline-diagnose_disk-bp19bspzms79kqse****路径地址。

      例如,实例原有系统盘中的/etc/passwd文件,编辑命令为vim /etc/passwd,不需要添加/tmp/ecs-offline-diagnose_disk-bp19bspzms79kqse****路径地址。

     
    vim [$File]
    其中[$File]变量为指定的非Unix格式的文件名。本文以/etc/passwd文件为例,命令示例如下所示:
     
    vim /etc/passwd
  5. 调整文件格式。
    1. 在文件内,按下Shift+:组合键,并输入set ff=unix后按下Enter键。
      unix
    2. 按下Shift+:组合键,并输入wq后按下Enter键,保存退出文件。
  6. 修复完成后,退出修复环境,然后检查问题实例的当前状态。
    1. 运行exit命令,退出chroot环境。
    2. 在ECS控制台的实例健康诊断页面,卸载临时挂载的修复盘并恢复问题实例至正常模式。
    3. 远程连接已修复的ECS实例,确认成功登录。


这条帮助是否解决了您的问题? 已解决 未解决

提交成功!非常感谢您的反馈,我们会继续努力做到更好! 很抱歉未能解决您的疑问。我们已收到您的反馈意见,同时会及时作出反馈处理!