CentOS7更换系统软件源tags： 网站简介少数操作系统被替换过系统软件源（如VPS服务商预装的CentOS7），由于软件源的更新快慢参差不齐，仓库中可能缺少某些软件包，可更换系统软件源解决。在这里推荐清华大学TUNA协会创建并维护的清华大学镜像源，也是CentOS的官方镜像源之一，更新速度很快。而且清华大学作为中国的核心网络节点，国内外的访问速度都是很快的。清华大学开源镜像站内容异常丰富，基本主流的开源项目在这里都能找到镜像源，因此国内许多大学的镜像站也以清华大学镜像源作为源站来进行同步。赞美TUNA！清华大学TUNA协会主页：https://tuna.moe清华大学开源镜像站：https://mirrors.tuna.tsinghua.edu.cn（双栈解析，自动识别）。https://mirrors4.tuna.tsinghua.edu.cn（只解析 IPv4）。https://mirrors6.tuna.tsinghua.edu.cn（只解析 IPv6）。更换CentOS7软件源将CentOS7系统软件源（yum软件仓库）更换为清华大学镜像源。清理旧仓库# 清除缓存 yum clean all sudo rm -rf /var/cache/yum # 卸载epel仓库 yum remove epel-release # 删除所有旧仓库文件 # 注意，如有其它仓库文件请自行重装或选择性删除 rm -rf /etc/yum.repos.d/*建立仓库新建仓库文件。# 新建仓库文件 vi /etc/yum.repos.d/CentOS-Base.repo按insert进入编辑模式，粘贴以下内容（不可遗漏任何字符）。完成后按esc键，输入 :wq 保存。# CentOS-Base.repo # # The mirror system uses the connecting IP address of the client and the # update status of each mirror to pick mirrors that are updated to and # geographically close to the client. You should use this for CentOS updates # unless you are manually picking other mirrors. # # If the mirrorlist= does not work for you, as a fall back you can try the # remarked out baseurl= line instead. # # [base] name=CentOS-$releasever - Base baseurl=https://mirrors.tuna.tsinghua.edu.cn/centos/$releasever/os/$basearch/ #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 #released updates [updates] name=CentOS-$releasever - Updates baseurl=https://mirrors.tuna.tsinghua.edu.cn/centos/$releasever/updates/$basearch/ #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 #additional packages that may be useful [extras] name=CentOS-$releasever - Extras baseurl=https://mirrors.tuna.tsinghua.edu.cn/centos/$releasever/extras/$basearch/ #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 #additional packages that extend functionality of existing packages [centosplus] name=CentOS-$releasever - Plus baseurl=https://mirrors.tuna.tsinghua.edu.cn/centos/$releasever/centosplus/$basearch/ #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus gpgcheck=1 enabled=0 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7重建缓存 # 建立缓存 yum makecache # 重新安装EPEL仓库 yum install epel-release
fail2ban从黑名单中移除IPtags： 网站fail2ban从黑名单（ban list）中移除IP的方法：网上一堆教程长篇大论，废话连篇其实只需要一行命令。fail2ban-client set sshd unbanip 8.8.8.8此时再查看banlist会发现IP已移除。fail2ban-client status sshd
Linux安装Node.jstags： 网站本文介绍linux下node.js的安装步骤。node.js中文网站：https://nodejs.org/zh-cn# 下载node.js(8.11.3 LTS 64位版) wget https://nodejs.org/dist/v8.11.3/node-v8.11.3-linux-x64.tar.xz # 解压 xz -d node-v8.11.3-linux-x64.tar.xz tar -xvf node-v8.11.3-linux-x64.tar 解压完即可使用了，但为了方便在任何地方都能使用node命令，需要做一下软链接。# 软链接 # 要使用绝对路径，当前node文件夹路径为/home/whl/node-v8.11.3-linux-x64 # node ln -s /home/whl/node-v8.11.3-linux-x64/bin/node /usr/local/bin/node # npm ln -s /home/whl/node-v8.11.3-linux-x64/bin/npm /usr/local/bin/npm # npx ln -s /home/whl/node-v8.11.3-linux-x64/bin/npx /usr/local/bin/npx连接完成后，即可在任意地方运行node命令了。# 测试安装 # node node -v # npm npm -v # npx npx -v若安装无误会输出版本号。[root@template whl]# node -v v8.11.2 [root@template whl]# npm -v 5.6.0 [root@template whl]# npx -v 9.7.1 [root@template whl]#
迁移Docker到其它磁盘tags: 网站 Docker手里有一台某联不通的云服务器，系统盘只有可怜的20GB（还不算安装系统）。好在另外给了一块1TB的数据盘，于是各种占地方的玩意都要迁移到数据盘里。本文主要介绍Docker的迁移过程。Docker的安装过程详见文章CentOS7 安装 Docker。通过yum安装的docker默认使用/var/lib/docker目录。# 停止docker服务 systemctl stop dcoker # 迁移docker目录到数据盘vdb2 mv /var/lib/docker/* /mnt/vdb2/docker/ # 挂载docker目录至原目录 mount --bind /mnt/vdb2/docker /var/lib/docker # 添加挂载命令至开机脚本 vi /etc/rc.local # 在文件最后一行添加以下挂载命令 mount --bind /mnt/vdb2/docker /var/lib/docker # 保存退出 开机脚本无效的解决方案：请参考文章rc.local 开机启动脚本无效的解决办法
rc.local开机启动脚本无效的解决办法tags: 网站CentOS可通过修改/etc/rc.d/rc.local文件来实现开机执行指定命令，新装系统rc.local可能缺少权限导致文件内添加的命令无效。解决办法为给rc.local文件添加可执行权限。# 添加执行权限 chmod +x /etc/rc.d/rc.local
CentOS7更新内核并开启BBRtags：网站 LinuxCentOS7更新内核ELRepo官方网站：http://elrepo.orgkernel-ml官方网站：http://elrepo.org/tiki/kernel-ml安装ELRepo仓库# Import the public key: rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org # To install ELRepo for RHEL-7, SL-7 or CentOS-7: rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm # 清除缓存 yum clean all # 重建缓存 yum makecache 更新内核Linux Kernel 官方网站：https://www.kernel.org/截止2018年4月19日 最新内核版本为 4.16.3# 安装新内核 yum --enablerepo=elrepo-kernel install kernel-ml # 查看已安装内核 awk -F\\\' \'$1==\"menuentry \" {print i++ \" : \" $2}\' /etc/grub2.cfg输出结果类似以下内容：[root@host ~]# awk -F\\\' \'$1==\"menuentry \" {print i++ \" : \" $2}\' /etc/grub2.cfg 0 : CentOS Linux (4.16.2-1.el7.elrepo.x86_64) 7 (Core) 1 : CentOS Linux 7 Rescue 5a67985d75d94c9fa703a4a0773fd2d7 (3.10.0-693.21.1.el7.x86_64) 2 : CentOS Linux (3.10.0-693.21.1.el7.x86_64) 7 (Core) 3 : CentOS Linux (4.10.4-1.el7.elrepo.x86_64) 7 (Core) 4 : CentOS Linux (3.10.0-514.el7.x86_64) 7 (Core) 5 : CentOS Linux (0-rescue-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb) 7 (Core) [root@host ~]# 把新内核（4.16.2-1.el7.elrepo.x86_64）设置为默认：# 0 为内核前序号 grub2-set-default 0 重启主机reboot查看当前内核版本uname -r返回结果如下：[root@host ~]# uname -r 4.16.2-1.el7.elrepo.x86_64 [root@host ~]# 开启BBR编辑/etc/sysctl.conf 添加以下内容：net.core.default_qdisc = fq net.ipv4.tcp_congestion_control = bbr 关于IPV6开启BBRIPV6 在BBR开启后默认支持。原文Both sysctl (net.ipv4.tcp_allowed_congestion_control and net.ipv4.tcp_available_congestion_control) and /proc entries (/proc/sys/net/ipv4/tcp_congestion_control) applies to every IPv4 and IPv6 TCP connections.应用设置sysctl -p查看BBR开启状态lsmod | grep bbr若出输出如下结果，则开启成功。[root@host ~]# lsmod | grep bbr tcp_bbr 20480 14 [root@host ~]#
CentOS7安装Dockertags：网站 Docker本教程主要介绍Docker在CentOS7上的安装过程。docker官站：https://www.docker.com1.安装docker#删除旧版docker（可选） sudo yum remove docker docker-common docker-selinux docker-engine #安装依赖 sudo yum install -y wget yum-utils lvm2 #下载docker官方仓库文件 wget -O /etc/yum.repos.d/docker-ce.repo https://download.docker.com/linux/centos/docker-ce.repo #建立缓存 sudo yum makecache #安装docker-ce sudo yum install docker-ce 2.测试安装结果#查看docker版本 docker version若能成功显示Client版本信息，则安装成功。[root@localhost ~]# docker versionClient:Version: 17.05.0-ceAPI version: 1.29Go version: go1.7.5Git commit: 89658beBuilt: Fri May 5 15:36:11 2017OS/Arch: linux/amd64Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?[root@localhost ~]#结尾提示信息是由于docker daemon未运行导致。#启动docker daemon sudo systemctl start docker #查看docker版本 docker version此时server信息能正常显示[root@localhost ~]# docker versionClient:Version: 17.05.0-ceAPI version: 1.29Go version: go1.7.5Git commit: 89658beBuilt: Fri May 5 15:36:11 2017OS/Arch: linux/amd64Server:Version: 17.05.0-ceAPI version: 1.29 (minimum version 1.12)Go version: go1.7.5Git commit: 89658beBuilt: Fri May 5 15:36:11 2017OS/Arch: linux/amd64Experimental: false3.开启docker服务（docker开机自启）#docker 开机自启动 sudo systemctl enable docker #重启docker服务 sudo systemctl restart docker #查看docker服务状态 sudo systemctl status docker\#更换docker安装源由于docker官方服务器位于国外，下载速度可能异常缓慢，建议将官方源下载地址替换为清华大学镜像源后进行安装。#替换docker官方源下载地址 sudo sed -i \'s+download.docker.com+mirrors.tuna.tsinghua.edu.cn/docker-ce+\' /etc/yum.repos.d/docker-ce.repo #清除缓存 sudo yum clean all #重新建立缓存 sudo yum makecache #安装docker-ce sudo yum install docker-ce