首页 游戏攻略 正文

linuxremount怎么用?新手一看就懂的详细教程!

哥几个,今天想跟你们聊个特别实用的玩意儿,就是Linux里的那个remount命令。别看它名字有点怪,用好了真能救命。我刚入行那会儿,没少因为它吃瘪,后来弄懂了,才发现这玩意儿真是个宝贝。

本站为89游戏官网游戏攻略分站,89游戏每日更新热门游戏,下载请前往主站地址:www.gm89.icu

那会儿我刚出来工作,在一家小公司打杂,就是维护几台Linux服务器。有一天,出大事儿了。我们公司那套老掉牙的财务系统,跑在一个专门的Linux服务器上,突然就不能正常更新了。系统更新程序总是在 `/var/tmp` 目录里报错,说什么权限不够,没法执行脚本。我当时就懵了。

我第一时间就跑过去看,ls -l /var/tmp,一看权限,没毛病,777,大家都可读可写可执行。然后又看属主属组,也都没问题。折腾了好久,各种chmodchown都试了一遍,屁用没有,还是一样的报错。

我当时真是急出了一身汗,想着是不是系统挂了,要不然就是硬盘坏了。那会儿对Linux还是一知半解,以为所有文件系统都是一样,只要权限对就能跑。后来实在没办法,我就去请教我们组的老大哥。他过来一看,没说直接敲了个命令:mount

我当时还纳闷,看挂载信息干结果他指着一行,上面写着 `/var/tmp on /dev/mapper/centos-var_tmp type xfs (rw,nosuid,nodev,noexec,seclabel)`。他手指一戳,就指着那个 noexec。我当时心里咯噔一下,noexec?这是啥玩意儿?老大哥看我一脸懵逼,就说:“你看,你这 `/var/tmp` 是不允许执行程序的。”

我这才反应过来,合着不是文件权限的问题,是文件系统挂载的时候就限制了!怪不得我改了半天文件权限都没用。老大哥接着说:“现在系统跑着,不能直接改 `/etc/fstab` 然后重启?用 remount 试试。”

他直接敲了一行命令:

sudo mount -o remount,rw,exec /var/tmp

敲完之后,他让我再跑一遍那个财务系统的更新程序。我心里七上八下的,一点击更新,这回竟然顺利地跑起来了!我当时真是感觉一下子从地狱回到了人间,看老大哥的眼神都充满了崇拜。那是我第一次接触到 remount 这玩意儿,简直是打开了新世界的大门。

后来自己慢慢琢磨,才知道这 remount 的套路。

简单的说,mount -o remount,新选项1,新选项2... /挂载点,就是让你在不卸载文件系统的情况下,直接修改它的挂载选项。比如说,你本来挂载的是只读的,想改成可读写,就可以这么搞:

  • 第一步:先看看你当前的挂载状态。

    你得先知道你目标目录的挂载信息,就用 mount grep /你的目录

    比如:mount grep /mnt/data

    可能显示:/dev/sdb1 on /mnt/data type ext4 (ro,relatime,data=ordered)

    你看,这里有个 ro,表示只读。

  • 第二步:尝试写入,看看是不是真的只读。

    touch /mnt/data/*

    如果报错:Read-only file system,那就是真的只读了。

  • 第三步:用 remount 把它改成可读写。

    命令就是 sudo mount -o remount,rw /mnt/data

    这里 rw 就是 read-write,可读写的意思。

  • 第四步:再检查一遍,确认改动生效。

    mount grep /mnt/data

    现在应该显示 (rw,relatime,data=ordered) 了。

  • 第五步:再次尝试写入。

    touch /mnt/data/*

    这回应该就能成功了。

还有一种情况,就是像我刚开始遇到的那个 noexec 问题。有些系统为了安全,会把像 /tmp/var/tmp 这些目录挂载成 noexec,不允许执行程序。但有时候你就是需要在里面跑个脚本,比如一些安装程序什么的,这时候 remount 就派上用场了。

你只需要记住一点,remount 命令后面跟着的选项,会替换掉或者追加到原来的选项上。如果你只写 remount,rw,那它可能只保留了 rw,把其他的选项都丢了。所以稳妥的办法是,你用 mount grep /你的目录 把原来的选项都看清楚,然后把需要保留的选项,加上你要改动的选项,一起写到 remount 命令里。比如:

原来是 (rw,nosuid,nodev,noexec),你想改成可以执行程序,就写成 sudo mount -o remount,rw,nosuid,nodev,exec /var/tmp

是不是感觉这个 remount 挺好用的?它能让你在系统不重启、不卸载文件系统的情况下,快速调整挂载参数,对于救急或者临时测试特别方便。这种方式只是临时生效的,如果服务器重启了,或者你系统重新挂载了,那么这些改动就没了。如果想永久生效,那还得去改 /etc/fstab 文件。

刚开始学Linux的时候,很多小细节搞不清楚,就容易犯错误。但就像这个 remount,一旦搞明白了,就能解决不少麻烦。所以说,多动手,多琢磨,好多东西看着挺玄乎,就一层窗户纸,捅破了就懂了。