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