Linux中var空间不足的解决办法

Linux中var空间不足的解决办法,第1张

使用以下命令 sudo apt-get clean sudo apt-get autoremove autoremove的作用是卸载所有自动安装且不再使用的软件包。 autoremove这种方式容易将必要的软件删除掉,尽量不要使用。 首先了解下Linux链接的概念。 链接是为某一个文件在另外一个位置建立一个不同的链接,分为硬链接和软链接。 Linux软链接:它只会在你选定的位置上生成一个文件的镜像,不会占用磁盘空间,命令:ln -s xxx Linux硬链接:它会在你选定的位置上生成一个和源文件大小相同的文件,命令:ln xx 无论是软链接还是硬链接,文件都保持同步变化。 因此,使用软链接可以将/var目录下占用空间较大的目录移动到富足的空间区块(如/home)下,使得/var下不再占用空间。 具体实现(www目录为例): mv /var/www /home  #将var下的www目录移动到home或者其他空间富足的区块中 ln -s  /home/www /var  #/var/www指向/home/www,这样www目录将不再占用/var目录的空间3. 未单独分区情况如果/var没有单独分区,则系统默认共享使用/home目录,若此时提示/var空间不足,则说明/home空间不足,这种情况可以清理一下/home目录或者重新安装系统,重新规划分区结构,当然使用软链接方式也是可以的,只要还有其他空间富足的区块。 也可以通过如下命令给/var扩容:fdisk -l  查看分区表 fdisk /dev/sdb 锁定要分的区  pvcreate /dev/sdb 创建物理卷  vgscan 扫描虚拟卷组  vgextendcl /dev/sdb 给虚拟卷扩容  lvextend -L +50G /dev/mapper/cl-var 给虚拟卷扩容50G到va  xfs_growfs /dev/mapper/cl-var  让扩容生效,如果此命令不行换这个  resize2fs -f /dev/mapper/cl-var df -h  查看磁盘容量

Linux下没有盘符的概念,而是将各分区通过挂载到目录(挂载点)来访问实际的磁盘分区,有时候我们想知道某个文件或目录是在哪个分区上,

有如下几种方法:

1、最简单的,直接 df  -h 目录名

比如我要查看工作目录下的baidupan目录在哪个分区

# df -h baidupan

可以看到,baidupan在vda1分区下

2、用df 或 fdisk -l查看分区挂载情况,直接输入mount或者也可以用cat /etc/mtab,然后pwd找最接近的挂载点信息

拓展内容

Linux 的分区规定

1. 设备管理

在 Linux 中,每一个硬件设备都映射到一个系统的文件,对于硬盘、光驱等 IDE 或 SCSI 设备也不例外。Linux 把各种 IDE 设备分配了一个由 hd 前缀组成的文件;而对于各种 SCSI 设备,则分配了一个由 sd 前缀组成的文件。

对于ide硬盘,驱动器标识符为“hdx~”,其中“hd”表明分区所在设备的类型,这里是指ide硬盘了。“x”为盘号(a为基本盘,b为基本从属盘,c为辅助主盘,d为辅助从属盘),“~”代表分区,前四个分区用数字1到4表示,它们是主分区或扩展分区,从5开始就是逻辑分区。例,hda3表示为第一个ide硬盘上的第三个主分区或扩展分区,hdb2表示为第二个ide硬盘上的第二个主分区或扩展分区。对于scsi硬盘则标识为“sdx~”,scsi硬盘是用“sd”来表示分区所在设备的类型的,其余则和ide硬盘的表示方法一样,不在多说。

例如,第一个 IDE 设备,Linux 就定义为 hda;第二个 IDE 设备就定义为 hdb;下面以此类推。而 SCSI 设备就应该是sda、sdb、sdc 等。

2. 分区数量

要进行分区就必须针对每一个硬件设备进行 *** 作,这就有可能是一块IDE硬盘或是一块SCSI硬盘。对于每一个硬盘(IDE 或 SCSI)设备,Linux 分配了一个 1 到 16 的序列号码,这就代表了这块硬盘上面的分区号码。例如,第一个 IDE 硬盘的第一个分区,在 Linux 下面映射的就是 hda1,第二个分区就称作是 hda2。对于 SCSI 硬盘则是 sda1、sdb1 等。

3. 各分区的作用

在 Linux 中规定,每一个硬盘设备最多能有 4个主分区(其中包含扩展分区)构成,任何一个扩展分区都要占用一个主分区号码,也就是在一个硬盘中,主分区和扩展分区一共最多是 4 个。对于早期的 DOS 和 Windows(Windows 2000 以前的版本),系统只承认一个主分区,可以通过在扩展分区上增加逻辑盘符(逻辑分区)的方法,进一步地细化分区。

主分区的作用就是计算机用来进行启动 *** 作系统的,因此每一个 *** 作系统的启动,或者称作是引导程序,都应该存放在主分区上。

这就是主分区和扩展分区及逻辑分区的最大区别。

我们在指定安装引导 Linux 的 bootloader 的时候,都要指定在主分区上,就是最好的例证。Linux 规定了主分区(或者扩展分区)占用 1 至 16 号码中的前 4 个号码。以第一个 IDE 硬盘为例说明,主分区(或者扩展分区)占用了 hda1、hda2、hda3、hda4,而逻辑分区占用了 hda5 到 hda16 等 12 个号码。因此,Linux 下面每一个硬盘总共最多有 16 个分区。对于逻辑分区,Linux 规定它们必须建立在扩展分区上(在 DOS 和 Windows 系统上也是如此规定),而不是主分区上。因此,我们可以看到扩展分区能够提供更加灵活的分区模式,但不能用来作为  *** 作系统 的引导。 除去上面这些各种分区的差别,我们就可以简单地把它们一视同仁了。

4. 分区指标

对于每一个 Linux 分区来讲,分区的大小和分区的类型是最主要的指标。容量的大小读者很容易理解,但是分区的类型就不是那么容易接受了。分区的类型规定了这个分区上面的文件系统的格式。Linux 支持多种的文件系统格式,其中包含了我们熟悉的FAT32、FAT16、NTFS、HP-UX,以及各种 Linux 特有的 Linux Native和 Linux Swap分区类型。在 Linux 系统中,可以通过分区类型号码来区别这些不同类型的分区。各种类型号码在介绍Fdisk的使用方式的时候将会介绍。

如果安装Linux系统时没有单独划分/var,并且磁盘上有剩余的未使用分区,可将/var目录移到单独的分区中,以空出root分区的磁盘空间。步骤如下:

1、放入Solaris安装光盘,从光盘引导进入单用户。

ok boot cdrom -s

2、将原root分区(例中为c0t0d0s0)挂载到/a目录

 # mount /dev/dsk/c0t0d0s0 /a

3、将未使用的分区(例中为c0t0d0s4,先执行newfs进行格式化)挂载到/mnt目录

# mount /dev/dsk/c0t0d0s4 /mnt

4、将/a/var目录中的所有文件拷贝到/mnt目录中(a、b两种方法都可以)

a)使用tar进行归档拷贝

# cd /a/var

# tar cvf /mnt/var.tar *

# cd /mnt

# tar xvf var.tar

# rm var.tar

b)使用cpio进行拷贝

# cd /a/var

# find * | cpio -pdum /mnt

5、检查新/var分区文件系统

# cd /

# umount /mnt

# fsck /dev/dsk/c0t0d0s4

6、确认上步 *** 作成功后,修改vfstab文件(建议先备份原文件)

# vi /a/etc/vfstab

//增加一行

/dev/dsk/c0t0d0s4  /dev/rdsk/c0t0d0s4 /var    ufs     1       no      -

7、删除原/var目录内容以释放root分区磁盘空间(也可将其归档备份到其他分区中以防止上面 *** 作失误导致无法启动时方便进行恢复)

# cd /a/var

# rm -r *

8、重启

# reboot

系统启动后执行df命令可以看到/var目录的变化。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/7412771.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-05
下一篇2023-04-05

发表评论

登录后才能评论

评论列表(0条)

    保存