Ubuntu 编译 vmfs-tool

Ubuntu 编译 vmfs-tool

VMFS 文件系统想要在 linux 里读取,需要使用vmfs-fuse,但是这个工具已经下架了,所以需要自己编译,

其实编译整理来说就是缺什么下什么,然后就编译完了。

我的系统:ubuntu 20.04

vmfs-tools 下载地址

如果只做读取使用这个就可以了

下载下来后,直接安装即可

1
opkg -i vmfs-tools_0.2.5-1_amd64.deb

挂载 VMFS 文件系统

其实挂载VMFS 文件系统很简单,类似 mount 命令

1
2
3
4
5
# 查看哪个是 VMFS
fdisk -l
# 挂载 /dev/sdb3
mkdir /tmp/vmfs
vmfs-fuse /dev/sdb3 /tmp/vmfs

或者你也可以手动编译

安装需要的库

1
apt install git build-essential gcc pkg-config xsltproc libfuse-dev uuid-dev

下载源码编译

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# 下载源码
cd /tmp
git clone https://github.com/glandium/vmfs-tools.git
cd vmfs-tools
# 开始编译
./configure
make
gcc -Wall -O2 -g -D_FILE_OFFSET_BITS=64 -Ivmfs-fuse -Ilibvmfs -I/usr/include/uuid -D_FILE_OFFSET_BITS=64 -I/usr/include/fuse -c -o vmfs-fuse/vmfs-fuse.o vmfs-fuse/vmfs-fuse.c
gcc -o vmfs-fuse/vmfs-fuse vmfs-fuse/vmfs-fuse.o libvmfs/libvmfs.a -luuid -lfuse -pthread
# 安装
make install
install -s -m 0755 debugvmfs/debugvmfs /usr/local/sbin/
install -s -m 0755 vmfs-lvm/vmfs-lvm /usr/local/sbin/
install -s -m 0755 vmfs-fuse/vmfs-fuse /usr/local/sbin/
install -s -m 0755 fsck.vmfs/fsck.vmfs /usr/local/sbin/

apt 禁止使用IPv6

apt 禁止使用IPv6

虽然IP v6很好,也开始普及了,但是也仅仅是能够获得IP v6地址和访问部分IP v6网站,路由基本一塌糊涂,apt 更新时经常会在IP v6上卡住,而又不想彻底抛弃IP v6,所以需要禁止 apt 使用IP v6。

1
echo 'Acquire::ForceIPv4 "true";' | tee /etc/apt/apt.conf.d/99force-ipv4

Ubuntu Server 迁移 Mongodb 数据到 XFS 文件系统

Ubuntu Server 迁移 Mongodb 数据到 XFS 文件系统

XFS 很强,具体有多强需要自己去查资料了,总之Mongodb使用是有好处的。

添加硬盘并格式化

  1. 首先添加一块硬盘,我这里的硬盘为/dev/sdb,并且格式化为 XFS,命令为 mkfs.xfs /dev/sdb
  2. 然后查看是否格式化成功df -Th,这里没有挂载的地址。
  3. 接下来准备修改fstab 文件,使用blkid /dev/sdb获取UUID(UUID比设备名稳定)。
  4. 然后创建一个文件夹用于挂载硬盘,我这里使用的/data
  5. 然后在/etc/fstab添加一行UUID=你的UUID /data xfs defaults,noatime,nobarrier 0 0
  6. 最后执行mount -a如无报错则使用df -Th就能看到已经成功挂载了。

修改配置

  1. 执行service mongodb stop停止服务。
  2. 创建文件夹mkdir /data/db
  3. 编辑/etc/mongodb.conf里的dbpath,修改为dbpath=/data/db

迁移数据

  1. 执行/var/lib/mongodb/* /data/db移动数据。
  2. 然后执行chown mongodb:mongodb -R /data/db恢复权限。

启动

  1. 执行service mongodb start恢复服务。
  2. 执行service mongodb status查看服务运行状态,显示active (running)则启动成功。
  3. 执行mongo查看是否还有XFS的提醒,如果没有则一切OK。

解决 Ubuntu MySQL 导出文件无法写入

解决 Ubuntu MySQL 导出文件无法写入

错误提示ERROR 1 (HY000): Can't create/write to file '' (Errcode: 13 - Permission denied)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# 查看是否有限制
aa-status | grep mysqld
# 如果有输出则表示有限制

# -----------------------------------

# 编辑配置,给指定的目录增加权限
nano /etc/apparmor.d/usr.sbin.mysqld
# 添加以下内容到/usr/sbin/mysqld {}
/to/path/ r,
/to/path/** rwk,
# 保存

# -----------------------------------
# 重新加载
/etc/init.d/apparmor reload
# 完毕

如何在 Ubuntu 18.04 中修改 DNS

如何在 Ubuntu 18.04 中修改 DNS

  1. 先安装 resolvconf

    1
    sudo apt install resolvconf
  2. 然后编辑配置文件

    编辑/etc/resolvconf/resolv.conf.d/head修改nameserver配置项,内容类似:

    1
    2
    nameserver 8.8.4.4
    nameserver 8.8.8.8
  3. 重启 reslovconf

    1
    sudo service resolvconf restart

修复 the following signatures couldn’t be verified because the public key is not available 错误

修复 public key is not available

the following signatures couldn’t be verified because the public key is not available

错误提示:

例如:

1
2
3
Err:6 https://dl.yarnpkg.com/debian stable InRelease

The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 23E7166788B63E1E

解决办法:

1
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 23E7166788B63E1E

PUBKEY 要一致,例如上文中的:23E7166788B63E1E