Tuesday, July 22, 2025

Yearly Archives: 2016

CentOS升级kernel

一、手动档

手动档就是从源码开始编译内核安装,好处是可以自己选择任意版本的内核,缺点就是耗时长,编译安装消耗系统资源

1.1、获取 kernel 源码

这世界上最伟大的 Linux 内核源码下载地址是 kernel 官网,选择一个稳定版本下载即可

1.2、解压并清理

官方要求将其解压到 /usr/src 目录,其实在哪都可以,为了规范一点索性也解压到此位置,然后为了防止编译残留先做一次清理动作

# 下载内核源码
wget https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-6.4.1.tar.xz
# 解压并移动到 /usr/src
tar -Jxvf linux-6.4.1.tar.xz
mv linux-6.4.1 /usr/src/kernels
# 执行清理(没 gcc 的要装一下)
cd /usr/src/kernels/linux-6.4.1
make mrproper && make clean

1.3、生成编译配置表

kernel 在编译时需要一个配置文件(.config),用于描述开启哪些特性等,该文件一般可通过一下四种途径获得:

复制当前系统编译配置表,即 cp /boot/config-xxx .config;如果系统有多个内核,那么根据版本号选择最新的即可
使用 make defconfig 命令获取当前系统编译配置表,该命令会自动写入到 .config 中
使用 make localmodconfig 命令开启交互模式,然后根据提示生成编译配置表
使用 make oldconfig 命令根据旧的编译配置表生成新的编译配置表,刚方式会直接读取旧的便已配置表,并在以前没有设定过的配置时会自动开启交互模式
这里采用最后一种方式生成

1.4、编译并安装

内核配置表生成完成后便可进行编译和安装(需要安装 bc、openssl-devel等)

make
make modules
make modules_install
make install

最后执行重启验证即可,验证成功后可删除旧的内核

rpm -qa | grep kernel

二、自动档

相对于手动档编译安装,CentOS 还可以通过使用 elrepo 源的方式直接安装最新稳定版 kernel,脚本如下

For RHEL-7, SL-7 or CentOS-7:

# 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 yum install https://www.elrepo.org/elrepo-release-7.el7.elrepo.noarch.rpm # install kernel yum --enablerepo=elrepo-kernel install kernel-ml-devel kernel-ml -y # modify grub grub2-set-default 0 # reboot reboot

Read More »

CentOS开启TCP BBR拥塞控制算法

Linux kernel 4.9.x开始支持tcp_bbr,本文以CentOS 7 64bit系统为例,介绍如何升级kernel开启TCP BBR拥塞控制算法。

记得先把/etc/sysctl.conf文件中关于net.ipv4.tcp_congestion_control的配置注释掉。

Read More »

Debian/Ubuntu开启TCP BBR拥塞控制算法

BBR目的是要尽量跑满带宽,并且尽量不要有排队的情况,效果并不比锐速差。

Linux kernel 4.9.x开始支持tcp_bbr,下面简单讲述如何在Debian 9/Ubuntu 18.04 64bit系统中升级kernel开启TCP BBR拥塞控制算法。

查看当前系统内核:

uname -a

开启BBR

echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf
echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf

保存生效

sysctl -p

执行下面的命令,如果结果中有bbr, 则证明你的内核已开启BBR。

sysctl net.ipv4.tcp_available_congestion_control

执行下面的命令,看到有 tcp_bbr 模块即说明BBR已启动。

Read More »

ECC证书和RSA证书

HTTPS 通过 TLS 层和证书机制提供了内容加密、身份认证和数据完整性三大功能,可以有效防止数据被监听或篡改,还能抵御 MITM(中间人)攻击。TLS 在实施加密过程中,需要用到非对称密钥交换和对称内容加密两大算法。

对称内容加密强度非常高,加解密速度也很快,只是无法安全地生成和保管密钥。在 TLS 协议中,应用数据都是经过对称加密后传输的,传输中所使用的对称密钥,则是在握手阶段通过非对称密钥交换而来。常见的 AES-GCM、ChaCha20-Poly1305,都是对称加密算法。

Read More »

Webmin/Virtualmin申请配置Let’s Encrypt免费SSL/TLS证书

Webmin/Virtualmin支持在一个IP地址多个网站的情况下为每个网站单独配置SSL/TLS证书,而且新版的Webmin/Virtualmin可以非常简单的给网站申请配置Let’s Encrypt免费SSL/TLS证书,教程如下:

申请Let’s Encrypt证书

登录Webmin/Virtualmin,选择想配置SSL/TLS证书的网站如domain.com。

点击“编辑虚拟服务器”,在“已启用功能”中勾选“SSL网站已启用”,然后点击下方的“保存虚拟服务器”。

点击“服务器配置”,进入“管理SSL证书”,点击“Let’s Encrypt”,然后点击下方的“Request Certificate”。

Read More »

服务器架设:安装SoftEtherVPN Server For Linux

SoftEtherVPN是由日本筑波大学(University of Tsukuba)登 大遊 (Daiyu Nobori)在硕士论文中提出的开源、跨平台、多重协议的虚拟专用网方案。

本文CentOS/Debian安装环境为例,讲解如何安装SoftEtherVPN Server For Linux。

第一部分:安装SoftEtherVPN Server

安装编译环境(适用于CentOS)

yum -y install gcc

安装编译环境(适用于Debian)

apt-get update && apt-get upgrade
apt-get install build-essential -y

SoftEther下载中心下载SoftEtherVPN Server For Linux

wget https://www.softether-download.com/files/softether/v4.43-9799-beta-2023.08.31-tree/Linux/SoftEther_VPN_Server/64bit_-_Intel_x64_or_AMD64/softether-vpnserver-v4.43-9799-beta-2023.08.31-linux-x64-64bit.tar.gz

或者从GitHub下载SoftEtherVPN Server For Linux

wget https://github.com/SoftEtherVPN/SoftEtherVPN/releases/download/5.02.5185/SoftEtherVPN-5.02.5185.tar.xz

解压文件

tar -zxvf softether-vpnserver-*.tar.gz

进入到解压目录

cd vpnserver

启动安装脚本

./.install.sh

阅读License,根据提示,输入“1”然后回车确认。

如果提示不识别某些命令比如gcc,另行安装即可。如果没有异常则说明安装成功。

启动服务

./vpnserver start

(停止服务命令为:./vpnserver stop)

可以用systemd启动vpnserver,先新建启动脚本/etc/systemd/system/vpnserver.service:

[Unit] Description=SoftEther VPN Server After=network.target [Service] Type=forking ExecStart=/root/vpnserver/vpnserver start ExecStop=/root/vpnserver/vpnserver stop [Install] WantedBy=multi-user.target

Read More »

eMMC、UFS和NVMe

eMMC

eMMC的全称为“embedded Multi Media Card”,中文即:嵌入式的多媒体存储卡。是由MMC协会所订立的、主要是针对手机或平板电脑等产品的内嵌式存储器标准规格。

eMMC的一个明显优势是在封装中集成了一个控制器,它提供标准接口并管理闪存,eMMC利用的是它将主控制器、闪存颗粒整合到了一个小的BGA封装内。2015年前所有主流的智能手机和平板电脑都采用这种存储介质,多媒体存储卡在替代紧凑型闪存作为智能手机等移动设备的存储介质之后,就有新版本不断推出,速度也越来越快,eMMC 4.4的读取速度大约为104MB/s、eMMC 4.5则为200MB/s。而在2013年7月29日三星开始量产行业首款eMMC 5.0存储产品,其读取速度为400MB/s,而最新的eMMC 5.1规范来说,其理论带宽为600MB/s左右。

Read More »

iOS设备固件更新教程

通过OTA更新固件

将iOS设备开机,进入“设置”–>“通用”,点击“软件更新”即可。

通过iTunes更新固件

通过iTunes升级固件的过程非常简单,具体教程:
1、用数据线将设备连接上最新版iTunes,紧接着打开iTunes,
2、按住键盘上Shift,同时点击iTunes的“更新”功能;
3、根据iTunes弹出对话窗,选择对应版本的iOS固件,点击更新即可。

通过DFU模式更新固件

如果上述方法更新失败无法开机可进入DFU模式更新,DFU模式更新方法如下:
1、将iPhone连接电脑,然后开启iTunes。
2、同时按下iPhone手机电源和Home键10秒种时间,然后放开电源键并继续按住Home键。
3、随后,iTunes便会弹出一个通知,它表明设备已经成功进入DFU模式。
4、关闭对话框并点击“恢复iPhone”,iTunes会弹出一个确认对话框。点击“下一步”和“同意”之后,固件便会开始被刷入设备当中。

Read More »

蓟州的建置沿革

旧石器时代中早期,在距今至少10万年以前,就有早期人类在今蓟州地区活动。
新石器时代,州内北部沿山地区已有土地垦殖活动。
距今约六千年,今围坊一带已有人类活动并形成村庄。

西周(公元前11世纪~前7世纪),属燕国。
春秋中期(公元前7世纪~前6世纪),称无终子国,国都在今州境。
战国后期(公元前311~前222年),称无终邑,属燕国右北平郡。
秦朝(公元前221~前206年),置无终县,属右北平郡,并为郡治。
汉高帝五年(公元前202年),归西汉,称无终县,属右北平郡。
东汉,称无终县,属右北平郡。
三国魏(公元220~265年),称无终县,属右北平郡。
西晋(公元265-317年),称无终县,属北平郡。
东晋十六国时期,称无终县,属北平郡,先后属段匹磾(公元314-338年)、后赵(公元338~350年)、前燕(公元350-370年)、前秦(公元370-384年)、后燕(公元384-407年)、北燕(公元407-432年)。
南北朝时,称无终县。公元432~534年属北魏,北魏太平真君七年(公元446年),将北平郡全部辖区划归渔阳郡,始属渔阳郡。此后,属东魏(公元534-550年)、北齐(公元550-577年)、北周(公元577-580年),仍属渔阳郡。

Read More »

燕云十六州

燕云十六州,又称“幽云十六州”、“幽蓟十六州”,即今北京、天津全境,以及山西、河北北部地区。“燕云”一名最早见于《宋史·地理志》,包括燕(幽)、蓟、瀛、莫、涿、檀、顺、云、儒、妫、武、新、蔚、应、寰、朔,共十六州。

燕(幽)、蓟、瀛、莫、涿、檀、顺七州位于太行山北支的东南方,其余的云、儒、妫、武、新、蔚、应、寰、朔九州在太行山的西北,所处的地势居高临下,易守难攻。

907年,唐朝灭亡,朱温篡唐建立后梁。911年,幽州节度使刘守光不顾众将臣的反对,登极称帝,国号大燕,改元应天。桀燕建立后,即不断受到晋王李存勗(沙陀人,沙陀族为中国北方少数民族,原名处月,西突厥别部)的攻击。应天三年(913年),晋军攻陷幽州,俘获被囚禁已久的刘仁恭,而刘守光逃亡后不久亦被擒。

Read More »