V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
villivateur
V2EX  ›  程序员

刚刚我干了一件蠢事,导致一台 Linux 工控机再也没法正常启动,引以为戒

  •  2
     
  •   villivateur ·
    villivateur · 157 天前 · 8470 次点击
    这是一个创建于 157 天前的主题,其中的信息可能已经有所发展或是发生改变。

    公司一台 Linux 工控机需要排障,我准备把 /etc/profile.d/ 里面的一个脚本取消加载。用脚趾头想了一下,自信地在那个脚本开头加了一行 exit 0……

    于是我重启后再也登录不了任何账户了……

    也许安全模式能解决,但我现在在拆硬盘。

    63 条回复    2023-04-21 17:19:35 +08:00
    hefish
        1
    hefish  
       157 天前
    rescue 模式,挂硬盘,然后改回来吧。。。
    cephei
        2
    cephei  
       157 天前   ❤️ 5
    找个 U 盘,放个 Ubuntu 进 LiveCD 模式,挂载硬盘修改一下就可以了吧
    jayeli
        3
    jayeli  
       157 天前
    我一般是改文件后缀
    lingeo
        4
    lingeo  
       157 天前
    6 ,我之前也搞过一次,在客户那离线装环境,配置 vsftp 的时候不小心改了啥,开机直接进不去桌面,命令行操作所有命令无效报不存在,好在用绝对路径执行 /bin 目录下的命令还有用,赶紧改了回来。
    fengleiyidao
        5
    fengleiyidao  
       157 天前   ❤️ 15
    曾经在一台好几年都没人动过的机器上,pacman -Syu 了一下。
    结果公司内部的存储、日历等服务全崩了。整了 1 周才恢复回去。
    iloveayu
        6
    iloveayu  
       157 天前 via iPhone
    进单用户改回去呗
    proxytoworld
        7
    proxytoworld  
       157 天前
    @fengleiyidao 说明,能跑就不要动,是有道理的
    kkk123
        8
    kkk123  
       157 天前
    @fengleiyidao 不厚道的笑出声
    blankmiss
        9
    blankmiss  
       157 天前
    挂载个 livecd 就能救活了
    boris1993Jr
        10
    boris1993Jr  
       157 天前 via iPhone
    @fengleiyidao #5 槽点太多以至于不知道从哪开始笑
    公司服务器用 arch ,你还敢动它……
    Reficul
        11
    Reficul  
       157 天前   ❤️ 3
    @fengleiyidao #5 勇士,几年没滚的也敢滚。 另外,啥公司用 Arch ?
    liubaicai
        12
    liubaicai  
       157 天前   ❤️ 2
    刚工作第一年就把公司异地机房的 windows 服务器网卡禁用了
    mrzx
        13
    mrzx  
       157 天前   ❤️ 2
    这算什么,我们公司还有人 rm -rf /*
    还有人把 /etc/fstab 全部删光,然后重启不了,过来问我们怎么解决的。
    这都是我们公司的程序员干的。。你以为实在听故事,尤其是第一条。。
    villivateur
        14
    villivateur  
    OP
       157 天前
    @cephei 我傻了,一时没想到。但不清楚这个工控机支不支持 USB 引导
    fengleiyidao
        15
    fengleiyidao  
       157 天前
    @kkk123 @boris1993Jr @proxytoworld @Reficul
    系统是以前的人装的,我也不造为啥用 arch 啊。
    纯手欠,恢复到"能用"的状态后之后再也不敢动了。
    zzzxxyyxgv
        16
    zzzxxyyxgv  
       157 天前
    @liubaicai 那怎么办,出差过去开?
    ryan4yin
        17
    ryan4yin  
       157 天前
    @fengleiyidao 你司服务器用 arch 也是可以的
    ruidoBlanco
        18
    ruidoBlanco  
       157 天前   ❤️ 6
    Grub 界面,按 e ,编辑启动行,添加「 break 」,ctrl-x 启动,会到 initramfs 的提示符停住,mount 系统盘,编辑你的文件,重启。
    flyqie
        19
    flyqie  
       157 天前
    @fengleiyidao #15

    震惊, 原来真的有人用 arch 做正经服务器, 太厉害了。。。
    duke807
        20
    duke807  
       157 天前 via Android
    敢用 arch 做服务器也是牛
    我司用 gentoo 做服务器
    mrzx
        21
    mrzx  
       157 天前
    @duke807 说明你们公司规模不大。有折腾的时间,早期淘宝也是的,
    realpg
        22
    realpg  
       157 天前
    @flyqie #19
    信教的人,干出什么事儿都不意外
    qzwmjv
        23
    qzwmjv  
       157 天前   ❤️ 4
    你脚趾头真聪明
    xiri
        24
    xiri  
       157 天前 via Android
    这种都是小问题了,挂个 ubuntu live cd 改回来就好了。

    我上次手欠清理自己开发环境虚拟机已卸载内核遗留下来的 /lib/modules/xxx 文件夹,不小心多复制了个空格,直接把整个 /lib/modules 目录给删掉了,后面因为没有驱动,重启后文件系统都加载不起来(嵌入式 linux ,虚拟机里有几百个 G 的代码和 SDK 文件,从头配置环境会很麻烦)。

    不过最后我启动了个 ubuntu live cd ,直接挂载原硬盘,chroot 进去,把所有的 linux-image 都给卸载了,然后重新安装最新的成功给救回来了
    ianEros
        25
    ianEros  
       157 天前
    我之前有一次要搭个啥环境,提示 glibc 要升级,我就吧 glibc 删了,然后所有命令失效,退出登录再也登不上了🤡
    duzhuo
        26
    duzhuo  
       157 天前   ❤️ 1
    什么 现实世界里居然不能用 SL 大法 !
    villivateur
        27
    villivateur  
    OP
       157 天前
    @ianEros ssh 还连着的话,可以找一个 glibc 二进制传上去
    Les1ie
        28
    Les1ie  
       157 天前   ❤️ 3
    两天前,服务器 50T 的数据盘突然满了,我看日志找到了当事人,他说他清理下数据。

    过了三分钟,他给我说他把根目录删了。本来想输入 rm -rf ./*的,结果少写了个 . 惊出一身汗,还好他按 ctrl C 足够快,删了几秒钟就发现问题了。此时 /usr 和 /bin 路径已经被干掉了,啥命令都不好使。万幸的是,看日志能发现数据盘空间和 /home 占用没变,数据还在,去机房进 liveCD 把原来 /home 的数据拷到数据盘,重做系统,除了浪费了点时间,基本没啥损失。
    下次谁也不给 root 权限了 :(
    liuzhedash
        29
    liuzhedash  
       157 天前
    @villivateur

    之前在知乎还是哪看过一个帖子,这种情况其实传都不好传,因为没法新建 ssh 连接了。最后是把一个静态链接的 busybox 的每个字节用 printf 重定向到一个文件里
    fuge
        30
    fuge  
       157 天前
    @duzhuo 什么是 SL 大法,google 了一下只搜到了游戏相关。
    kennyCoretek
        31
    kennyCoretek  
       157 天前
    @Les1ie 我一直以为这只是个段子...
    corcre
        32
    corcre  
       157 天前
    @fuge #30 就是那个游戏相关的...进行有风险的操作之前先保存, 凉了就读档🐶
    misaka
        33
    misaka  
       157 天前
    工控机用 arch ?真的假的
    misaka
        34
    misaka  
       157 天前
    @fengleiyidao 公司内部服务器用 arch 还行
    corcre
        35
    corcre  
       157 天前   ❤️ 2
    我在老东家的时候, 有个客户说空间满了, 存不了数据了, 然后某运维(老板的亲戚, 专业不相关, 没有相关运维经验), 拿着硬盘就跑到客户那里, 带电从客户的 NAS 里面拔了一个硬盘下来...然后接新硬盘无法启动, 把原来的硬盘接回去还是无法启动, 数据丢没丢忘了, 反正那天从主管到大老板一个个的轮流跑到客户那里挨骂🐶
    mrzx
        36
    mrzx  
       157 天前
    这年头什么人都有,

    我们做运维的见过程序员离奇的操作多了去了。。。最后还要帮他们擦屎,今年我去学开发去了,说实话,公司里面的程序员们给我了很大的信心。。
    nba2k9
        37
    nba2k9  
       157 天前
    Linux 环境中敲命令真的得慎重,哎
    mosliu
        38
    mosliu  
       157 天前
    还以为一条指令把硬件废了呢 还想着进来学习下技术。
    能修复叫啥再也没法正常启动啊。。。
    DCELL
        39
    DCELL  
       157 天前
    @Les1ie 您说的这个操作不就是我么~ 这一天我都冷汗直冒,饭都没吃
    adoal
        40
    adoal  
       157 天前
    @ianEros 我以前有个同事把 Linux 的 libc 上传到远程服务器覆盖了 Solaris 的 libc……
    lovelylain
        41
    lovelylain  
       157 天前 via Android
    去年翻出一个旧笔记本,里面有个 arch 系统,5 年没用过了,ssh 支持的密码协议比较老旧不支持在用的客户端程序,于是想升级到最新系统,之前装的 yaourt 已经淘汰多年,直接 pacman 也不兼容新的包格式,参考网上帖子下载静态库的 pacman ,能用,于是更新了 pacman ,但是更新系统时挂了,因为部分库被替换后无法 dns 解析,没法继续下载,后来试着挂了个代理绕过 dns ,果然有效,顺利更新到了最新版本。
    lovelylain
        42
    lovelylain  
       157 天前 via Android
    @duzhuo btrfs 的快照不就相当于 SL 大法么,我的 openwrt 就是这么折腾的
    fantathat
        43
    fantathat  
       157 天前 via iPhone
    工控机是啥?工业上控制东西的机器吗?
    为啥 linux 一碰就死,灵活度太大了吗
    cstj0505
        44
    cstj0505  
       157 天前
    折腾显卡驱动把内核删了
    在一个目录下删除,结果 cd 打错没切过去,直接 rm -rf *把 home 目录删除了,这台机器是我的工作电脑
    xiaoranj
        45
    xiaoranj  
       157 天前
    @fengleiyidao 6 ,服务器也滚着玩儿
    Rooger
        46
    Rooger  
       157 天前
    @mrzx 导致执行 rm / 的结果可能有很多

    最常见的就是 rm $LOG_PATH/,结果 LOG_PATH 环境变量并未设置,有很多小白用户用的正好是 root 用户,或者是在命令前面加了 sudo
    flush9f
        47
    flush9f  
       157 天前
    @duke807 我司也用 gentoo ,客户机器太多已经没办法维护了。
    dddd1919
        48
    dddd1919  
       157 天前
    以前用 ubuntu 开发,下班后到生产服务器上更新个配置文件,然后习惯性的 shutdown -h now ,等了会发现电脑没反应。。。
    ruidoBlanco
        49
    ruidoBlanco  
       157 天前   ❤️ 1
    @dddd1919 这锅基本得 systemd 背,我用 arch 也偶有这种事情。
    xsen
        50
    xsen  
       157 天前
    曾经误操作做: sudo rm -rf /lib 。。。。。。
    其实我本意是:sudo rm -rf ./lib

    最后还是通过 livecd 进入系统,然后从别的系统拷贝 lib 过来
    mrzx
        51
    mrzx  
       157 天前
    @Rooger 我还是是小白的时候,知道个最简单的人生道理,不要碰自己不熟悉的东西,或者说最起码弄懂了在去碰.
    villivateur
        52
    villivateur  
    OP
       157 天前
    @misaka 是 Ubuntu 系的,arch 是下面有人评论的
    user100saysth
        53
    user100saysth  
       157 天前 via iPhone
    @liubaicai 我是打开了一下防火墙,然后屏幕就转圈了。
    bluetree2039
        54
    bluetree2039  
       157 天前 via iPhone
    @mrzx 我刚毕业出现过这个问题,不是直接写这个命令,是脚本有 bug 导致动态生成了这个命令并执行了。客户的网站没了,
    还好老板技术能力强,通宵搞定了😅
    flyqie
        55
    flyqie  
       157 天前
    @ruidoBlanco #49

    魔怔了?

    啥事都往 systemd 上推。。。

    shutdown -h now 本来不就是关机吗,有啥问题??
    flyqie
        56
    flyqie  
       157 天前
    @dddd1919 #48

    哈哈哈,似曾相识的操作,命令发错机器。
    zfjdif
        57
    zfjdif  
       157 天前
    曾经在自己玩儿的服务器上搞过 mv /*
    glouhao
        58
    glouhao  
       156 天前
    @zfjdif 握手🤝
    wm5d8b
        59
    wm5d8b  
       156 天前 via Android
    @mrzx 大多数所谓的程序员,只是根据《 xxx 语言入门》这本手册敲击键盘,并不知道自己在干嘛,至于为什么当程序员,因为 朋友 /公众号 /培训班 都说这份敲键盘的活赚得多
    XuanYuan
        60
    XuanYuan  
       156 天前   ❤️ 1
    突然想起,某次在一个展会上,亲眼看着有人用蓝牙鼠标关掉了 iMac 的蓝牙。
    Senorsen
        61
    Senorsen  
       156 天前 via iPhone
    哈哈,上大学时在自己笔记本 Linux 上做过一模一样的事情,后来好像也是找了个 U 盘启动 Live CD 进去,挂盘把文件改回来。拆硬盘也太麻烦了点
    genicsoft123
        62
    genicsoft123  
       156 天前
    所以,全部虚拟化然后,安全不够,快照来凑
    akzmmd
        63
    akzmmd  
       156 天前
    改过 ssh 文件,直接导致没法远程登录了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1087 人在线   最高记录 5930   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 47ms · UTC 23:18 · PVG 07:18 · LAX 16:18 · JFK 19:18
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.