resize2fs: Bad magic number in super-block

Submitted by Dot on Mon, 09/05/2016 - 20:25

这是在CentOS 7上扩展lv时遇到的问题。

当时为了给TrinityCore配置环境,需要编译较新的gcc。但之前只给这个CentOS虚拟机分配了8G的硬盘,编译时gcc目录竟然涨到了近5G,No space left one device,进行不下去了。

第一反应是扩展lv。
先添加一块硬盘,然后执行:
pvcreate /dev/sdb
vgextend centos /dev/sdb
lvextend -l +100%free /dev/mapper/centos-root
但是最后resize2fs报错:
resize2fs: Bad magic number in super-block while trying to open /dev/mapper/centos-root

最后在这里找到了答案

原来CentOS 7默认采用xfs而非ext4,resize2fs自然无效了。

CentOS 7.2 上编译 TrinityCore

Submitted by Dot on Sun, 09/04/2016 - 18:18

00 前言

  • TrinityCore 是什么?黑话,一个网络游戏框架;白话,一个魔兽世界服务器端
  • 本文描述在 CentOS 7.2 上部署 TrinityCore
  • 编译流程官方 wiki 讲的很详细,不赘述。这里只讲一些可能遇到的问题,以及 wiki 遗漏的一些细节
  • linux 上的编译可以借助这个脚本,它可以完成编译中几乎所有的步骤

01 Requirements

  • Processor with SSE2 support 
  • Boost ≥ 1.55
  • MySQL ≥ 5.1.0 
  • OpenSSL ≥ 1.0.0 
  • CMake ≥ 3.0
  • GCC ≥ 4.9.0 or Clang  ≥ 3.5 (recommended)
  • zlib ≥ 1.2.7

git引发的inode变化

Submitted by Dot on Tue, 08/23/2016 - 17:20

本文暂只说明现象,原因则有待研究。

我们删掉git目录下的一个文件foo1,如果foo1是其他文件foo的硬链接,此时虽然可以用git checkout foo1恢复文件,但恢复出来的这个foo1拥有的是不同的inode,和目标文件foo已失去了对应关系,俨然一个新文件。这倒不难理解。

但如果说这一举动会导致目标文件foo的inode也发生变化,就有些匪夷所思了。
来看看下面这个例子。