Ubuntu 18.04 / 20.04 快速开启 TCP BBR
在 Linux 服务器上做网络优化时,经常会看到一个关键词:BBR。 BBR 的全称是 Bottleneck Bandwidth and RTT,是一种 TCP 拥塞控制算法。它的目标不是简单粗暴地“把速度拉满”,而是根据网络链路的瓶颈带宽和往返时延,尽量让连接保持较高吞吐,同时减少不必要的排队延迟。 简单理解,传统拥塞控制算法很多时候会把丢包当成网络拥塞的…
在 Linux 服务器上做网络优化时,经常会看到一个关键词:BBR。 BBR 的全称是 Bottleneck Bandwidth and RTT,是一种 TCP 拥塞控制算法。它的目标不是简单粗暴地“把速度拉满”,而是根据网络链路的瓶颈带宽和往返时延,尽量让连接保持较高吞吐,同时减少不必要的排队延迟。 简单理解,传统拥塞控制算法很多时候会把丢包当成网络拥塞的…
在 Ubuntu Server 20.04 中,系统默认可能会安装 cloud-init 。刚开始看到这个服务时,很多人会有点疑惑:自己明明是在物理机或普通虚拟机里安装的 Ubuntu,并不是云服务器,为什么启动时还会出现 cloud-init 的执行过程? cloud-init 主要是为了云计算环境设计的。它可以在系统第一次启动时,根据云平台提供的 met…
在 Ubuntu 20.04 上配置网络时,有时候会遇到 DNS 解析不稳定的问题。比如内网主机名解析不了、访问网页偶尔很慢、服务器能 ping 通 IP 但无法解析域名,或者系统自动获取到的 DNS 服务器并不是自己想用的地址。 这种情况下,可以通过 systemd-resolved 来手动指定 DNS 服务器。这个方法比较适合服务器、开发机、内网环境、虚…
apt 更新时报 No module named debian.deb822 的处理方法 # 在 Ubuntu 系统中执行 apt update 或系统更新时,有时会遇到一些和 Python 模块相关的报错。表面上看是 apt 出了问题,但实际原因可能是某个系统组件或安装包在更新过程中调用了 Python 脚本,而脚本依赖的模块不存在或环境异常。 我之前遇到…
原始操作记录 # 可以卸载 Ubuntu 16 自带的 Python3.5,然后安装 Python3.8,在卸载的时候会卸载一堆软件包,初步测试发现不会影响基础系统,如果没有特殊需求可以尝试此方案。 Bash 复制代码 apt remove python3.5* libpython3.5* apt autoremove dpkg -l | grep ^rc…
原始操作记录 # 有时在Linux下卸载某些包时,会出现类似如下错误: YAML 复制代码 dpkg: error processing glx-diversions (--remove) : subprocess installed post-removal script returned error exit status 2 configured to…
原始操作记录 # 编辑 /etc/netplan/ 下的某个 .yaml 文件,文件名不固定,需要自行查看。 格式如下: YAML 复制代码 network : ethernets : eth0 : addresses : - 10.0.0.20/24 gateway4 : 10.0.0.1 nameservers : addresses : - 10.0.…
操作前说明 # 在 Linux 环境中执行系统级命令前,建议先确认发行版版本、当前用户权限和目标路径。涉及网络、磁盘、包管理、iptables 或系统服务的操作,最好先在测试环境验证,再放到生产服务器上执行。 原始操作记录 # ubuntu18.04 改用 systemd 管理启动系统,虽说对于系统来说更加规范,但是丢失了 rc.local 的便捷。 所以,…
操作前说明 # 在 Linux 环境中执行系统级命令前,建议先确认发行版版本、当前用户权限和目标路径。涉及网络、磁盘、包管理、iptables 或系统服务的操作,最好先在测试环境验证,再放到生产服务器上执行。 原始操作记录 # 今天闲来无事,折腾了一个 Ubuntu 镜像,发现该镜像在控制台登录的时候,有一些提示信息,经过 google 之后,原来是藏在 /…
原始操作记录 # 在语言选择界面选择英文,然后按 F6,再按 ESC,在最下边的命令行里,把结尾的 quiet 替换成 all_generic_ide,回车就可以正常安装了。 可以在接下来的语言选择界面再次选择中文。 关键理解 # 这类笔记最重要的不是把命令背下来,而是弄清楚它解决的是什么问题、依赖什么环境、执行后会改变什么。以后再次遇到类似情况时,可以先根…
原始操作记录 # 今天装了一台 Ubuntu 16.04 的虚拟机,发现网卡名从 eth 变成 ens 了,通过命令查看发现是被系统重命名了 TEXT 复制代码 # dmesg |grep eth [ 2.244937] virtio_net virtio0 ens3: renamed from eth0 [ 2.249486] virtio_net vir…
操作前说明 # 在 Linux 环境中执行系统级命令前,建议先确认发行版版本、当前用户权限和目标路径。涉及网络、磁盘、包管理、iptables 或系统服务的操作,最好先在测试环境验证,再放到生产服务器上执行。 原始操作记录 # 安装 samba Bash 复制代码 apt-get install samba 添加系统账号 TEXT 复制代码 groupadd…
操作前说明 # 在 Linux 环境中执行系统级命令前,建议先确认发行版版本、当前用户权限和目标路径。涉及网络、磁盘、包管理、iptables 或系统服务的操作,最好先在测试环境验证,再放到生产服务器上执行。 原始操作记录 # TEXT 复制代码 mount -o remount,rw / 重新以读写方式挂载根即可 关键理解 # 这类笔记最重要的不是把命令背…
操作前说明 # 在 Linux 环境中执行系统级命令前,建议先确认发行版版本、当前用户权限和目标路径。涉及网络、磁盘、包管理、iptables 或系统服务的操作,最好先在测试环境验证,再放到生产服务器上执行。 原始操作记录 # 编辑文件“vi ~/.fonts.conf” TEXT 复制代码 vi ~/.fonts.conf 输入以下内容 HTML 复制代码…
操作前说明 # 在 Linux 环境中执行系统级命令前,建议先确认发行版版本、当前用户权限和目标路径。涉及网络、磁盘、包管理、iptables 或系统服务的操作,最好先在测试环境验证,再放到生产服务器上执行。 原始操作记录 # TEXT 复制代码 sudo apt-get purge libreoffice-core sudo apt-get autorem…
操作前说明 # 在 Linux 环境中执行系统级命令前,建议先确认发行版版本、当前用户权限和目标路径。涉及网络、磁盘、包管理、iptables 或系统服务的操作,最好先在测试环境验证,再放到生产服务器上执行。 原始操作记录 # 安装字体 如果在 Ubuntu 下可直接打开字体文件,点击右上角“安装”按钮即可安装 如果无法打开字体文件,则复制字体文件到“/us…