docker 退出集群模式的办法

当收到如下警告:

WARNING: The Docker Engine you’re using is running in swarm mode.

如果确认不需要/没有使用集群模式,可以使用以下命令退出:

docker swarm leave --force

linux 系统安全防范

添加黑名单

找出非法的登录尝试

less /var/log/secure | grep 'Did not receive'

找出频繁的 IP,例如 192.168.11.112,打开 /etc/hosts.deny,添加该 IP:

sshd:192.168.11.112

查看其他

正常登录

less /var/log/secure | grep 'Accepted'

密码有误

less /var/log/secure | grep 'Failed password'

manjaro 安装后的设置

禁用文件索引

文件索引会占用大量CPU

balooctl disable

pacman 中国源

sudo pacman-mirrors -m rank -c China

安装编译工具

安装 AUR 源之前必须安装

sudo pacman -Sy base-devel

安装中文字体

sudo pacman -S wqy-microhei wqy-bitmapfont wqy-zenhei

安装 YAY

sudo pacman -Sy yay
# 使用国内源
yay --aururl "https://aur.tuna.tsinghua.edu.cn" --save

国内应用源

/etc/pacman.conf 文件末尾添加以下两行:

[archlinuxcn]
Server = https://mirrors.tuna.tsinghua.edu.cn/archlinuxcn/$arch

导入签名

sudo pacman -Sy archlinuxcn-keyring

更多国内源设置:https://mirrors.tuna.tsinghua.edu.cn/help/archlinux/

中文输入

sudo pacman -Sy --noconfirm fcitx5 fcitx5-qt fcitx5-gtk fcitx5-qt4 fcitx5-chinese-addons fcitx5-configtool fcitx5-material-color fcitx5-pinyin-moegirl fcitx5-pinyin-zhwiki
# 编辑配置
sudo vim /etc/profile
export INPUT_METHOD="fcitx5"
export XMODIFIERS="@im=fcitx5"
export GTK_IM_MODULE="fcitx5"
export QT_IM_MODULE="fcitx5"

fcitx5 :fcitx5引擎本体
fcitx5-qt fcitx5-gtk fcitx5-qt4:对各种图形界面的支持模块
fcitx5-chinese-addons:fcitx5的中文输入支持插件
fcitx5-configtool:fcitx5的图形化配置工具
fcitx5-material-color:一个很好看的主题,详细说明:https://github.com/hosxy/Fcitx5-Material-Color
fcitx5-pinyin-moegirl:outloudvi根据萌娘百科创建的词库(涵盖了许多有意思的名词)
fcitx5-pinyin-zhwiki:felixonmars根据中文维基百科创建的词库(肥猫百万大词库nb!)

安装 google-chrome

yay -Sy google-chrome

安装DOCK

sudo pacman -Sy latte-dock

安装后首次从菜单中启动

其他常用

pacman

pacman -S package_name        # 安装软件  
pacman -S extra/package_name  # 安装不同仓库中的版本
pacman -Syu                   # 升级整个系统,y是更新数据库,yy是强制更新,u是升级软件
pacman -Ss string             # 在包数据库中查询软件
pacman -Si package_name       # 显示软件的详细信息
pacman -Sc                    # 清除软件缓存,即/var/cache/pacman/pkg目录下的文件
pacman -R package_name        # 删除单个软件
pacman -Rs package_name       # 删除指定软件及其没有被其他已安装软件使用的依赖关系
pacman -Qs string             # 查询已安装的软件包
pacman -Qi package_name       # 查询本地安装包的详细信息
pacman -Ql package_name       # 获取已安装软件所包含的文件的列表
pacman -U package.tar.zx      # 从本地文件安装
pactree package_name          # 显示软件的依赖树

--noconfirm 无需确认
--noprogressbar 无进度静默

yay

yay -Rc package
# 查询仓库
yay -Ss package
# 查询已安装
yay -Q package
yay -Q | grep package
# 清理安装包缓存
yay -Scc
清理孤立的软件包
sudo pacman -Rns $(pacman -Qtdq)
# 卸载所有无用的依赖。类比 apt-get autoremove
yay -c
# 清理日志
journalctl --vacuum-size=50M

更多命令:https://www.fujieace.com/blackarch-linux/pacman.html

AUR下载慢

试试临时使用代理

export ALL_PROXY=socket://ip:port
或
export HTTP_PROXY=http://ip:port

修复文件打开方式

sudo update-mime-database /usr/share/mime/

INTEL/NVIDIA 显卡切换

安装完驱动后,安装 optimus-manager

yay -S optimus-manager-qt

重启电脑,运行 optimus-manager-qt,设置开机启动。

linux-headers

解决例如安装 VMWare 时提示找不到 kernel 的错误。

yay -Sy linux-headers

需要选择当前一致的 linux-kernel 版本(uname -r 查看),安装 VMWare 的完整文档:https://wiki.archlinux.org/index.php/VMware_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)

postgresql 主键重新计数

在 pg12 中,使用 GENERATED BY DEFAULT AS IDENTITY 创建的主键重新计数的方法:

ALTER TABLE table  ALTER COLUMN "id" RESTART;

ALTER TABLE table  ALTER COLUMN "id" RESTART WITH 1;

CentOS 7 使用 Cockpit

Cockpit 是一个 Red Hat 赞助的开源项目,它是一个网页式用户界面,让用户可以通过浏览器来管理和监控Linux 服务器。除了一些常规的系统操作外,Cockpit 还支持 Docker、Kubernetes和KVM。 通过Cockpit Web UI可以轻松启动容器、管理存储、配置网络和检查日志。

安装过程如下:

yum install -y epel-release
yum clean all
yum makecache fast
yum install -y cockpit cockpit-dashboard cockpit-storaged cockpit-packagekit
systemctl enable cockpit.socket
systemctl start cockpit.socket

开启防火墙

firewall-cmd --permanent --add-service=cockpit
firewall-cmd --reload

管理 docker / k8s

yum install -y cockpit-docker cockpit-kubernetes

管理虚拟机

yum install -y cockpit-machines libvirt virt-install

安装完后访问服务器 9090 端口即可。

linux 设置时间

方法1

手动设置

date -s "20201204 13:50:00"
hwclock --systohc

网络校时

需要允许 udp/123 端口访问外网

ntpdate ntp.aliyun.com
hwclock --systohc

国内授时服务器

#NTP服务器
cn.ntp.org.cn
ntp.aliyun.com
ntp1.aliyun.com
ntp2.aliyun.com
ntp3.aliyun.com
ntp4.aliyun.com
ntp5.aliyun.com
ntp6.aliyun.com
ntp7.aliyun.com

#Time服务器
time1.aliyun.com
time2.aliyun.com
time3.aliyun.com
time4.aliyun.com
time5.aliyun.com
time6.aliyun.com
time7.aliyun.com

方法2

timedatectl set-time 15:58:30
timedatectl set-time 20151120
timedatectl set-time '16:10:40 2015-11-20'