1. 安装SCL源
SCL是Software Collections的缩写,由CentOS特别兴趣小组所维护。其收录了许多程序的新版本,例如gcc, PHP, git, python等。安装的软件可与旧版共存,包名多以rh-为前缀。
# 安装SCL源---建议手动配置国内源 # yum install -y centos-release-scl centos-release-scl-rh
安装完成后在/etc/yum.repos.d目录下会出现CentOS-SCLo-scl.repo和CentOS-SCLo-scl-rh.repo两个文件。安装后源默认启用。
2. 配置SCL国内源
# 备份原有配置文件 cp /etc/yum.repos.d/CentOS-SCLo-scl.repo /etc/yum.repos.d/CentOS-SCLo-scl.repo.backup cp /etc/yum.repos.d/CentOS-SCLo-scl-rh.repo /etc/yum.repos.d/CentOS-SCLo-scl-rh.repo.backup # 将 CentOS-SCLo-scl.repo 和 CentOS-SCLo-scl-rh.repo 中 baseurl 中的域名修改成 mirrors.aliyun.com # 刷新缓存 yum clean all && yum makecache && yum repolist
3. 错误处理
错误:安装软件提示“14: curl#6 - "Could not resolve host: mirrorlist.centos.org; Unknown error"”看报错是无法解析mirrorlist.centos.org 这个域名,参考本文处理好了。
原因:Centos7.x系统在6月30日生命周期终止(EOL) 终止了,官方不在维护yum源了。
解决方法:好在官方并没有直接停止服务,而是将源中的文件都迁移到了vault.centos.org这个地址上,将yum源中的 “mirrorlist.centos.org”替换为“vault.centos.org”即可解决。
替代方法:
# 先备份原来yum文件,以防止改错还可以还原 cp -r /etc/yum.repos.d /etc/yum.repos.d_backup # 执行
将以下脚本内容保存为文件 ping_log.sh
#!/bin/bash
if [ $# -ne 1 ]; then
echo "Usage: $0 <IP_ADDRESS>"
exit 1
fi
LOG_FOLDER=/var/log/ping
ip_address=$1
current_date=$(date +%Y%m%d)
log_file="${LOG_FOLDER}/${current_date}.ping"
mkdir -p "$(dirname "$log_file")"
while true; do
current_time=$(date +"%Y-%m-%d %H:%M:%S")
ping_result=$(ping -c 1 "$ip_address" | grep "seq=")
echo "$current_time | $ping_result" >> "$log_file"
sleep 1
done添加执行权限
chmod +x ping_log.sh
命令行执行
./ping_log.sh 192.168.1.100
在日志文件夹 /var/log/ping 就可以找到对应的日志文件了,内容格式如下:
2025-03-10 09:56:39 | 64 bytes from 192.168.1.100: seq=0 ttl=64 time=0.000 ms 2025-03-10 09:56:40 | 64 bytes from 192.168.1.100: seq=0 ttl=64 time=4.000 ms 2025-03-10 09:56:41 | 64 bytes from 192.168.1.100: seq=0 ttl=64 time=4.000 ms 2025-03-10 09:56:42 | 64 bytes from 192.168.1.100: seq=0 ttl=64 time=4.000 ms 2025-03-10 09:56:43 | 64 bytes from 192.168.1.100: seq=0 ttl=64 time=0.000 ms
Valgrind 是一款用于内存调试、内存泄漏检测和性能分析的软件开发工具。Valgrind 最初由 Julian Seward 设计,在发布之前的开发过程中曾被命名为 “Heimdall”,但因与一个安全软件包冲突而改名。其名称是对北欧神话中瓦尔哈拉主入口的参考。2006 年,Julian Seward 因其在 Valgrind 上的工作获得了第二届 Google-O'Reilly 开放源码奖。随着不断发展,有许多人对 Valgrind 做出了重要贡献。
目前我们的主要工作平台是基于 ARM926 的 CPU,架构为 ARMv5。但是 Valgrind 默认支持 ARMv7,不支持 ARMv5。即使正常编译过后,也不能正常运行。所以必须对源代码进行修改,以适配低版本的架构。
下载 Valgrind 的连接 https://sourceware.org/pub/valgrind,里面有各个版本的 Valgrind 源代码包,我们要下载的是 3.14.0 版本的源码包(因为补丁包是针对这个版本的)。
# https://sourceware.org/pub/valgrind wget https://sourceware.org/pub/valgrind/valgrind-3.14.0.tar.bz2 tar -xvjf valgrind-3.14.0.tar.bz2 cd valgrind-3.14.0 # https://bugs.kde.org/buglist.cgi?quicksearch=Valgrind%20ARMv5 # https://bugs.kde.org/show_bug.cgi?id=248998 wget https://bugsfiles.kde.org/attachment.cgi?id=117327 -O valgrind-armv5.patch patch -p1 < valgrind-armv5.patch
./configure --host=arm-linux-gnueabi --prefix=/user --enable-only32bit CC="arm-linux-gnueabi-gcc -march=armv5te -mcpu
IF ($args.Count -gt 0)
{
$ip = $args[0]
$count = $args[1]
$logfile = "ping_$ip.log"
while ($count)
{
$result = $(ping -n 1 $ip | Select-Object -Skip 2 | Select-Object -First 1 | Foreach {"{0} - {1}" -f (Get-Date),$_})
echo $result >> $logfile
echo $result
Start-Sleep -Milliseconds 1000
$count = $count - 1
}
}
ELSEIF ($args.Count -gt 1)
{
$ip = $args[0]
$logfile = "ping_$ip.log"
while (1)
{
# ping -n 1 $ip | Select-Object -Skip 2 | Select-Object -First 1 | Foreach {"{0} - {1}" -f (Get-Date),$_} >> $logfile
$result = $(ping -n 1 $ip | Select-Object -Skip 2 | Select-Object -First 1 | Foreach {"{0} - {1}" -f (Get-Date),$_})
echo $result >> $logfile
echo $result
Start-Sleep -Milliseconds 1000
}
}.\ping.ps1 www.baidu.com
.\ping.ps1 www.baidu.com 4
WSL 的 Linux 发行版都是储存在 vhdx 中的,而删除 vhdx 中的文件实际上不会减 小 vhdx 的体积,需要手动释放。
1. Linux 发行版的镜像文件默认安装在 "%USERPROFILE%\AppData\Local\Packages\" ,可通 过 Explorer 访问这个目录。
2. 搜索 vhdx,其中 ext4.vhdx 就是想要的文件。
3. 把 ext4.vhdx 剪贴到 C 盘根目录,这样方便操作。
4. PowerShell 依次如下代码:
wsl --shutdown diskpart # open window Diskpart select vdisk file="C:\ext4.vhdx" attach vdisk readonly compact vdisk detach vdisk exit
Windows 不支持直接挂载 EXT4 格式分区,但这可以通过 WSL2 实现。
wmic.exe 查看硬盘与分区信息通过 wmic 分别列举本机 Disk Drive 与 Partition 的信息:
wmic diskdrive list brief wmic partition list brief
根据信息找到需要挂载的分区,主要确定硬盘的 DeviceID。
以 \\.\PHYSICALDRIVE2 分区 1 为例,将该分区挂载到 WSL(需要管理员权限):
wsl --mount \\.\PHYSICALDRIVE2 --bare # wsl --mount \\.\PHYSICALDRIVE2 --partition 1
特别地,我们使用 --bare 表示希望仅仅将分区连接(attach)到 WSL,在 WSL 内部完成挂载。
登录 WSL,执行 lsblk,可以看到新的硬盘被挂载,此例中挂载到了 /dev/sdc。
使用 mount 挂载分区。例如,若要将 /dev/sdc2 挂载到 /mnt/nvme:
mount /dev/sdc2 /mnt/hd
此时硬盘已成功挂载。
当 WSL 启动时,可以通过 Windows 资源管理器访问 WSL 目录,从而访问该 EXT4 分区。
完成挂载后,在 WSL 中将挂载的分区 umount:
umount /dev/sdc2
然后在 Windows 中将该硬盘卸载(需要管理员权限):
wsl --unmount \\.\PHYSICALDRIVE2
64 位 Ubuntu 系统运行 32 位程序:
sudo dpkg --add-architecture i386 sudo apt update sudo apt install libc6:i386 libstdc++6:i386 # sudo apt install libncurses5-dev:i386 lib32z1:i386
仓库地址:http://ftp.gnu.org/pub/gnu/ncurses
# 编译宽字符库
./configure --host=arm-linux-gnueabihf --prefix=/root/cross-compile/armlibs CC=arm-linux-gnueabihf-gcc CXX=arm-linux-gnueabihf-g++ --with-shared --without-normal --without-debug --without-ada --with-cxx-binding --with-cxx-shared --enable-ext-colors --enable-ext-mouse --enable-overwrite --without-progs --enable-widec --with-termlib --enable-pc-files --with-pkg-config-libdir=/root/cross-compile/armlibs/lib/pkgconfig
# 不编译宽字体支持
./configure --host=arm-linux-gnueabihf --prefix=/root/cross-compile/armlibs CC=arm-linux-gnueabihf-gcc CXX=arm-linux-gnueabihf-g++ --with-shared --without-normal --without-debug --without-ada --enable-pc-files --with-cxx-binding --with-cxx-shared --enable-ext-colors --enable-ext-mouse --enable-overwrite --without-progs
# 编译及安装
make -j make install
仓库地址: https://github.com/libevent/libevent
./configure --host=arm-linux-gnueabihf --prefix=/root/cross-compile/armlibs CC=arm-linux-gnueabihf
对于大多数 Windows 用户来说,远程桌面协议(RDP)凭借其友好的图形界面,一直是远程管理的首选。但对于需要更精细控制的系统管理员而言,SSH 才是更适合的选择。它通过命令行实现与远程设备的交互,让管理工作变得更加高效。
过去,Windows 用户想要使用 SSH,通常需要借助像 PuTTY(开源)或 Xshell(商业)这样的第三方工具。现在,Microsoft 推出了内置于 Windows 的 OpenSSH 客户端和服务器,为我们带来了一种更加便捷的选择。
Windows 中的 OpenSSH 是一个可选功能(FoD),需要手动添加,它并不会随系统自动安装。本文将介绍如何在 Windows 11 或 Windows 10(1809 版本及以上)中安装、配置和使用 OpenSSH 客户端和服务器。
OpenSSH 是一款用于安全远程连接和计算机管理的工具套件,它通过加密技术来保障通信安全,其主要功能包括远程登录、命令执行、文件传输和端口转发等。
OpenSSH 包含客户端和服务器两部分,其中:
OpenSSH 最初是为 Linux 系统开发的,现在也支持包括 Windows 和 macOS 在内的多种操作系统。
在开始安装 OpenSSH 之前,请确保你的电脑满足以下条件:
1. 使用Windows + I快捷键打开「设置」,依次选择「系统」>「可选功能」。
2. 点击「查看功能」,在搜索框中输入OpenSSH进行筛选。
3. 根据需要勾选:
4. 选择好后点击「下一步」,然后点击「安装」开始安装过程。
1. 使用Windows + R快捷键打开「运行」对话框,输入powershell,然后按Ctrl
for name in `ls`; do mv $name ${name#xxxx}; done ${name#xxxx} 删除名字的前缀,这里使用了${var#str}的特殊用法,删除var中前面的str