首页
统计
壁纸
关于
Search
1
记录一下脚本命令
2,039 阅读
2
Scaleway Stardust(星尘)实例使用netboot.xyz重装系统
258 阅读
3
记录一下 Rclone 常用命令参数
243 阅读
4
简记一下Arch Linux安装部署
220 阅读
5
记录下LNMP环境下使用CDN后获取访客真实IP的方法
220 阅读
默认分类
登录
Search
标签搜索
Linux
Centos
Arch
Debian
Scaleway
Ubuntu
Manjaro
安卓
Docker
Hexo
Oneui
Oracle
三星
甲骨文
Tony
累计撰写
13
篇文章
累计收到
0
条评论
首页
栏目
默认分类
页面
统计
壁纸
关于
搜索到
9
篇与
的结果
2023-06-12
使用Cloudflare WARP给VPS添加IPv4/IPv6 双栈网络出口
安装wireguard等依赖Debianapt update -y && apt install wireguard sudo curl vim openresolv -yArch Linuxyay -S wireguard-tools openresolv wgcf vim dnsutils linux-headers --needed安装wgcfDebiancurl -fsSL git.io/wgcf.sh | sudo bash注册账户wgcf register生成配置文件wgcf generate编辑配置文件vim wgcf-profile.conf配置文件样式[Interface] PrivateKey = 这里会自动生成 Address = 172.16.0.2/32 Address = 这里会自动生成 DNS = 8.8.8.8,8.8.4.4,2001:4860:4860::8888,2001:4860:4860::8844 MTU = 1280 [Peer] PublicKey = bmXOC+F1FxEMF9dyiK2H5/1SUtzH0JuVo51h2wPfgyo= AllowedIPs = 0.0.0.0/0 AllowedIPs = ::/0 Endpoint = engage.cloudflareclient.com:2408更改engage.cloudflareclient.com为IPV4/6地址(如双栈网络接入忽略)[root@archlinux ~]# nslookup engage.cloudflareclient.com Server: 1.1.1.1 Address: 1.1.1.1#53 Non-authoritative answer: Name: engage.cloudflareclient.com Address: 162.159.192.1 Name: engage.cloudflareclient.com Address: 2606:4700:d0::a29f:c001接入WARP IPV4删除配置文件中的AllowedIPs = ::/0接入WARP IPV6删除配置文件中的AllowedIPs = 0.0.0.0/0启动wireguard复制配置文件到wireguard文件夹cp wgcf-profile.conf /etc/wireguard/wgcf.conf启动 wireguardwg-quick up wgcf检查网络连通# IPv4 Only VPS curl -6 ip.p3terx.com # IPv6 Only VPS curl -4 ip.p3terx.com关闭wgcf接口wg-quick down wgcf将wireguard启用守护进程systemctl start wg-quick@wgcf systemctl enable wg-quick@wgcf参考P3terx企鹅大大
2023年06月12日
124 阅读
0 评论
0 点赞
2023-03-01
Scaleway Stardust(星尘)实例使用netboot.xyz重装系统
首先 在网页上或使用官方CLI连接串行控制台官方Github仓库在安装配置好CLI的情况下,使用这个命令连接控制台scw instance server console 实例id zone=区域然后将 VM 重新启动到 UEFI设置 (机器能正常启动的情况下)systemctl reboot --firmware然后就会跳转到这个界面选择Device Manager-> Network Device List->HTTP Boot Configuration->Boot URI输入地址http://boot.netboot.xyz/ipxe/netboot.xyz.efi保存后返回主页选择Boot Manager UEFI HTTP然后就会进入netboot.xyz界面了转到Utilities (UEFI)->Kernel cmdline params并输入console=ttyS0修改好之后按两下esc返回主界面使用第二个选项进行安装系统下面说一下 进不了系统的情况下如何重装首先在后台把机子重启到救援模式然后把硬盘设置成启动项进入救援模式下,下载netboot的iso文件wget https://boot.netboot.xyz/ipxe/netboot.xyz.iso直接把镜像d进硬盘,启动就能看到netboot界面了[note type="danger flat"]最后说明,此方法需在有IPV4的环境下进行 安装好系统之后可以配置好网络 再把IPV4删除[/note]题外Sacleway-cli 用法创建服务器scw instance server create type=STARDUST1-S zone=fr-par-1 image=debian_bullseye root-volume=l:10G name=Denian ip=none ipv6=true project-id=UUID查看服务器,获取机器的UUIDscw instance server list开机scw instance server start UUID自动开机脚本来源#!/usr/bin/env bash MACHINE_UUID="" BOT_API="" CHAT_ID="" STAR_MACHINE() { scw instance server start "${MACHINE_UUID}" } SEND_NOTIFY(){ curl -X POST \ -H 'Content-Type: application/json' \ -d '{"chat_id": '${CHAT_ID}', "text": "Your Sacleway machine is opening now."}' \ https://api.telegram.org/bot${BOT_API}/sendMessage } while true; do STATUS=$(scw instance server list | sed -n '2p' | awk '{print $4}') if [[ ${STATUS} == "starting" ]]; then echo "Your server status is ${STATUS}" echo "Starting...Wait for 60 seconds to check again..." sleep 60 elif [[ ${STATUS} == "archived" ]]; then echo "Your server status is ${STATUS}" echo "Now we start your machine..." STAR_MACHINE sleep 60 else SEND_NOTIFY break fi done
2023年03月01日
258 阅读
0 评论
0 点赞
2023-01-29
记录下LNMP环境下使用CDN后获取访客真实IP的方法
在lnmp安装目录/root/lnmp下找到lnmp.conf并编辑Nginx_Modules_OptionsNginx_Modules_Options='--with-http_realip_module'保存后执行./upgrade.sh nginx升级下Nginx。找到网站配置文件,即/usr/local/nginx/conf/vhost/xx.com.conf并编辑。在任意一个location里加入以下参数: set_real_ip_from 0.0.0.0/0; real_ip_header X-Forwarded-For;题外proxy_pass代理配置 location / { proxy_pass http://127.0.0.1:3000; proxy_http_version 1.1; proxy_cache_bypass $http_upgrade; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Forwarded-Host $host; proxy_set_header X-Forwarded-Port $server_port; }关闭防跨站sed -i 's/^fastcgi_param PHP_ADMIN_VALUE/#fastcgi_param PHP_ADMIN_VALUE/g' /usr/local/nginx/conf/fastcgi.conf启用被禁用的函数sed -i 's/,system//g' /usr/local/php/etc/php.ini sed -i 's/,proc_open//g' /usr/local/php/etc/php.ini sed -i 's/,proc_get_status//g' /usr/local/php/etc/php.ini
2023年01月29日
220 阅读
0 评论
0 点赞
2022-12-19
记录一下 Rclone 常用命令参数
设置命令说明rclone config添加、删除、管理网盘等操作rclone config file显示配置文件的路径rclone config show显示配置文件信息root@SunPma:~# rclone config Current remotes: Name Type ==== ==== DB dropbox GD drive e) Edit existing remote n) New remote d) Delete remote r) Rename remote c) Copy remote s) Set configuration password q) Quit config e/n/d/r/c/s/q>语法# 本地到网盘 rclone [功能选项] <本地路径> <配置名称:路径> [参数] [参数] # 网盘到本地 rclone [功能选项] <配置名称:路径> <本地路径> [参数] [参数] # 网盘到网盘 rclone [功能选项] <配置名称:路径> <配置名称:路径> [参数] [参数] # [参数]为可选项示例# 复制到网盘,并显示实时传输进度,设置并行上传数为8 rclone copy -P /home/SunPma GD:/home/SunPma --transfers=8 # 如果需要服务端对服务端的传输可加以下参数(不消耗本地流量) rclone copy 配置名称:网盘路径 配置名称:网盘路径 --drive-server-side-across-configs功能命令说明rclone copy复制rclone move移动,如果要在移动后删除空源目录,加上 --delete-empty-src-dirs 参数rclone sync同步:将源目录同步到目标目录,只更改目标目录rclone size查看网盘文件占用大小rclone delete删除路径下的文件内容rclone purge删除路径及其所有文件内容rclone mkdir创建目录rclone rmdir删除目录rclone rmdirs删除指定环境下的空目录。如果加上 --leave-root 参数,则不会删除根目录rclone check检查源和目的地址数据是否匹配rclone ls列出指定路径下的所有的文件以及文件大小和路径rclone lsl比上面多一个显示上传时间rclone lsd列出指定路径下的目录rclone lsf列出指定路径下的目录和文件参数命令说明-n = --dry-run测试运行,查看Rclon在实际运行中会进行哪些操作-P = --progress显示实时传输进度,500mS刷新一次,否则默认1分钟刷新一次--cache-chunk-size 5M块的大小,默认5M越大上传越快,占用内存越多,太大可能会导致进程中断--onedrive-chunk-size 100M提高OneDrive上传速度适用于G口宽带服务器(默认为320KB)--drive-chunk-size 64M提高Google Drive上传速度适用于G口宽带服务器(默认为8M)--cache-chunk-total-size SizeSuffix块可以在本地磁盘上占用的总大小,默认10G--transfers=N并行文件数,默认为4--config string指定配置文件路径,string为配置文件路径--ignore-errors跳过错误--size-only根据文件大小校验,不校验hash--drive-server-side-across-configs服务端对服务端传输日志有4个级别的日志记录:ERROR NOTICE INFO DEBUG默认情况下Rclon将生成ERROR NOTICE日志命令说明-qrclone将仅生成ERROR消息-vrclone将生成ERROR NOTICE INFO 消息-vvrclone 将生成ERROR NOTICE INFO DEBUG 消息--log-level LEVEL标志控制日志级别输出日志到文件使用--log-file=FILE选项rclone会将Error Info Debug消息以及标准错误重定向到FILE这里的FILE是你指定的日志文件路径例如rclone sync -v Onedrive:/DRIVEX Gdrive:/DRIVEX > "~/DRIVEX.log" 2>&1过滤命令说明--exclude排除文件或目录--include包含文件或目录--filter文件过滤规则,相当于上面两个选项的其它使用方式。包含规则以+开头,排除规则以-开头文件类型过滤例如--exclude "*.bak" --filter "- *.bak"排除所有bak文件例如--include "*.{png,jpg}" --filter "+ *.{png,jpg}"包含所有png和jpg文件,排除其他文件例如--delete-excluded删除排除的文件。需配合过滤参数使用,否则无效目录过滤目录过滤需要在目录名称后面加上/否则会被当做文件进行匹配以/开头只会匹配根目录(指定目录下),否则匹配所目录,这同样适用于文件--exclude ".git/"排除所有目录下的.git目录--exclude "/.git/"只排除根目录下的.git目录--exclude "{Video,Software}/"排除所有目录下的Video和Software目录--exclude "/{Video,Software}/"只排除根目录下的Video和Software目录--include "/{Video,Software}/**"仅包含根目录下的Video和Software目录的所有内容大小过滤默认大小单位为kBytes但可以使用k M或G后缀--min-size过滤小于指定大小的文件。比如--min-size 50表示不会传输小于50k的文件。--max-size过滤大于指定大小的文件。比如--max-size 1G表示不会传输大于1G的文件。实际使用中发现大小过滤两个选项不能同时使用过滤规则文件--filter-from <规则文件>从文件添加包含/排除规则比如--filter-from filter-file.txt过滤规则文件示例:- secret*.jpg + *.jpg + *.png + file2.avi - /dir/Trash/** + /dir/** - *环境变量rclone中的每个选项都可以通过环境变量设置。环境变量的名称可以通过长选项名称进行转换,删除--前缀,更改-为_大写并添加前缀RCLONE_环境变量的优先级会低于命令行选项,即通过命令行追加相应的选项时会覆盖环境变量设定的值。比如设置最小上传大小--min-size 50使用环境变量是RCLONE_MIN_SIZE=50当环境变量设置后,在命令行中使用--min-size 100那么此时环境变量的值就会被覆盖常用环境变量命令说明RCLONE_CONFIG自定义配置文件路径RCLONE_CONFIG_PASS若 rclone 进行了加密设置,把此环境变量设置为密码,可自动解密配置文件RCLONE_RETRIES上传失败重试次数,默认 3 次RCLONE_RETRIES_SLEEP上传失败重试等待时间,默认禁用,单位s、m、h分别代表秒、分钟、小时CLONE_TRANSFERS并行上传文件数RCLONE_CACHE_CHUNK_SIZE块的大小,默认5MRCLONE_CACHE_CHUNK_TOTAL_SIZE块可以在本地磁盘上占用的总大小,默认10GRCLONE_IGNORE_ERRORS=true跳过错误挂载GoogleDrive for EMBY参数优化cat > /etc/systemd/system/coalition.service <<EOF [Unit] Description=Rclone AssertPathIsDirectory=/home/gd After=network-online.target [Service] Type=notify ExecStart=/usr/bin/rclone mount gd1: /home/gd --use-mmap --umask 000 --default-permissions --no-check-certificate --allow-other --allow-non-empty --dir-cache-time 24h --vfs-cache-max-age 24h --cache-dir=/home/cache --vfs-cache-mode full --buffer-size 256M --vfs-read-ahead 512M --vfs-read-chunk-size 32M --vfs-read-chunk-size-limit 128M --vfs-cache-max-size 30G --low-level-retries 200 --config /root/.config/rclone/rclone.conf ExecStop=/bin/fusermount -qzu /home/gd Restart=on-abort User=root [Install] WantedBy=default.target EOF卸载挂载目录fusermount -qzu LocalFolder
2022年12月19日
243 阅读
0 评论
0 点赞
2022-09-30
简记一下Arch Linux安装部署
U盘引导进入系统之后停止reflector服务 禁止自动更新服务器列表systemctl stop reflector.service连接网络有线连接 若是连接到已经有网的路由器可以自动联网如无法连接上网络可尝试使用dhcpcd命令无线连接(WIFI)iwctl列出无线网卡设备device list 用wlan0网卡扫描网络station wlan0 scan列出网络station wlan0 get-networks连接网络网络SSID不支持中文station wlan0 connect 无线网名字输入密码,连接成功后使用exit或者quit同步网络时间timedatectl set-ntp true修改软件源把中国的服务器排在前列nano /etc/pacman.d/mirrorlistServer = https://mirrors.ustc.edu.cn/archlinux/$repo/os/$arch # 中国科学技术大学开源镜像站 Server = https://mirrors.tuna.tsinghua.edu.cn/archlinux/$repo/os/$arch # 清华大学开源软件镜像站 Server = https://repo.huaweicloud.com/archlinux/$repo/os/$arch # 华为开源镜像站 Server = http://mirror.lzu.edu.cn/archlinux/$repo/os/$arch # 兰州大学开源镜像站刷新软件包pacman -Sy安装ssh远程软件pacman -S openssh启用sshd服务systemctl start sshdpasswd设置当前root账户的密码ip a查看ip地址局域网内使用其他设备连接SSH操作更方便磁盘分区lsblk显示当前磁盘和分区情况cfdisk /dev/nvme0n1系统格式可使用Btrfs或者EXT4首先创建 Swap 分区。选中 Free space > 再选中操作 [New] > 然后按下回车 Enter 以新建 swap 分区(类似 Windows 的交换文件)我们再只需要一个分区即可(因为使用 Btrfs 文件系统,所以根目录和用户主目录在一个分区上),所以类似的:选中 Free space > 再选中操作 [New] > 然后按下回车 Enter 以新建分区分区类型默认即可,无需更改。接下来选中操作 [Write] 并回车 Enter > 输入 yes 并回车 Enter 确认分区操作选中操作 [Quit] 并回车 Enter 以退出 cfdisk 分区工具EFI引导分区可使用Windows的ESP分区。如没有可自行创建300MB的EFI引导分区格式化 Swap 分区mkswap /dev/nvme0n1px格式化 Btrfs 分区或者EXT4(二选一)mkfs.btrfs -L Arch /dev/nvme0n1pxmkfs.ext4 /dev/nvme0n1px挂载分区Btrfs文件格式将 Btrfs 分区挂载到 /mnt 下mount -t btrfs -o compress=zstd /dev/nvme0n1px /mnt创建 Btrfs 子卷通过以下命令创建两个 Btrfs 子卷,之后将分别挂载到 / 根目录和 /home 用户主目录:btrfs subvolume create /mnt/@ btrfs subvolume create /mnt/@home复查子卷情况btrfs subvolume list -p /mnt子卷创建好后,我们需要将 /mnt 卸载掉,以挂载子卷umount /mnt挂载/目录mount -t btrfs -o subvol=/@,compress=zstd /dev/nvme0n1px /mnt创建home目录mkdir /mnt/home挂载/home目录mount -t btrfs -o subvol=/@home,compress=zstd /dev/nvme0n1px /mnt/home创建 /boot/efi 目录mkdir -p /mnt/boot/efi 挂载 /boot/efi 目录mount /dev/nvme0n1px /mnt/boot/efiEXT4文件格式mount /dev/nvme0n1px /mnt创建 /boot/efi 目录mkdir -p /mnt/boot/efi 挂载 /boot/efi 目录(使用Windows系统ESP分区)mount /dev/nvme0n1px /mnt/boot/efi挂载交换分区swapon /dev/nvme0n1px安装系统往/mnt目录里安装系统其中最基础的四个包是base base-devel linux linux-firmwarepacstrap /mnt base base-devel linux linux-firmware dhcpcd iwd vim sudo bash-completion nano net-tools openssh man git wget zsh fish生成 fstab 文件genfstab -U /mnt >> /mnt/etc/fstab复查一下 /mnt/etc/fstab 确保没有错误:cat /mnt/etc/fstabchange root使用以下命令把系统环境切换到新系统下:arch-chroot /mnt设置主机名与时区首先在 /etc/hostname 设置主机名:nano /etc/hostname然后在 /etc/hosts 设置与其匹配的条目:127.0.0.1 localhost ::1 localhost 127.0.1.1 myarch.localdomain myarch随后设置时区,在 /etc/localtime 下用 /usr 中合适的时区创建符号链接:ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime硬件时间设置hwclock --systohc设置 LocaleLocale 决定了软件使用的语言、书写习惯和字符集。编辑 /etc/locale.gen,去掉 en_US.UTF-8 UTF-8 以及 zh_CN.UTF-8 UTF-8 行前的注释符号(#):nano /etc/locale.gen然后使用如下命令生成 localelocale-gen向 /etc/locale.conf 输入内容:echo 'LANG=en_US.UTF-8' > /etc/locale.conf为 root 用户设置密码passwd root开启 32 位支持库与 Arch Linux 中文社区仓库(archlinuxcn)nano /etc/pacman.confctrl+w 搜索Color注意大小写 删除#号系统报错会彩色显示 方便用户排查[multilib]这两行前面的#号删除再手动添加[archlinuxcn]源我这里以中科大和网易开源镜像站为例其他地址 如清华 阿里云 或者你所在的高校有archlinuxcn源 可以自行添加[archlinuxcn] Server = https://mirrors.ustc.edu.cn/archlinuxcn/$arch Server = http://mirrors.163.com/archlinux-cn/$arch官方源[archlinuxcn] Server = https://repo.archlinuxcn.org/$arch添加非 root 用户新建用户名arch 可自行更改用户名useradd -m -G wheel -s /bin/bash arch设置arch用户名的密码passwd arch编辑arch用户的权限EDITOR=nano visudoctrl+w搜索%wheel找到# %wheel ALL=(ALL:ALL)ALL删除前面的#号安装CPU微码和引导软件通过以下命令安装对应芯片制造商的微码:intel-ucode # Intel amd-ucode # AMD os-prober #查找已安装的操作系统 pacman -S intel-ucode grub efibootmgr os-prober安装 GRUB 到 EFI 分区:grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=Arch接下来 编辑 /etc/default/grub 文件:nano /etc/default/grub进行如下修改:去掉 GRUB_CMDLINE_LINUX_DEFAULT 一行中最后的 quiet 参数把 loglevel 的数值从 3 改成 5。这样是为了后续如果出现系统错误,方便排错加入 nowatchdog 参数,这可以显著提高开关机速度为了引导 win10,则还需要添加新的一行 GRUB_DISABLE_OS_PROBER=false# GRUB boot loader configuration GRUB_DEFAULT=0 GRUB_TIMEOUT=5 GRUB_DISTRIBUTOR="Arch" GRUB_CMDLINE_LINUX_DEFAULT="loglevel=5 nowatchdog" GRUB_CMDLINE_LINUX="" GRUB_DISABLE_OS_PROBER=false ...最后生成 GRUB 所需的配置文件:grub-mkconfig -o /boot/grub/grub.cfg如遇到报错或无法引导Windows分区可使用下面的命令sudo LANG=C grub-mkconfig -o /boot/grub/grub.cfg安装KDE桌面 字体 浏览器等软件包pacman -S plasma-meta konsole dolphin # plasma-meta 元软件包、konsole 终端模拟器和 dolphin 文件管理器pacman -S ntfs-3g **可以读取ntfs格式磁盘 ** pacman -S os-prober **查找已安装的操作系统 **中文字体 这里如果不安装 之后设置语言的时候都是框框不好辨认pacman -S adobe-source-han-serif-cn-fonts adobe-source-han-sans-cn-fonts wqy-zenhei wqy-microhei noto-fonts-cjk noto-fonts-emoji noto-fonts-extra ttf-dejavu 安装火狐浏览器等软件pacman -S firefox ark gwenview packagekit-qt5 packagekit appstream-qt appstream man neofetch net-tools networkmanager openssh git wget pamac开机启动 登陆管理器 网络管理 SSHsystemctl enable NetworkManager sddm sshd立即启动登陆管理器systemctl start sddm安装完成卸载本机的/mnt目录umount -R /mnt重启reboot输入密码登录进桌面环境安装aur助手 前提是开启aur中国源sudo pacman -S archlinuxcn-keyring yay启动蓝牙(若有)sudo pacman -S bluez bluez-utils sudo systemctl enable --now bluetooth安装音频驱动sudo pacman -S alsa-utils pulseaudio pulseaudio-alsa pulseaudio-bluetooth安装显卡驱动Intel 核芯显卡sudo pacman -S mesa lib32-mesa vulkan-intel lib32-vulkan-intel不建议安装 xf86-video-intel,而应使用 Xorg 的 modesetting 驱动(也就是什么都不用装的意思)注意,只有 Intel HD 4000 及以上的核显才支持 vulkan。不建议安装 xf86-video-intel,而应使用 Xorg 的 modesetting 驱动(也就是什么都不用装的意思)注意,只有 Intel HD 4000 及以上的核显才支持 vulkan。题外如果太久没更新 密钥环失效sudo pacman -Sy archlinux-keyringpacman-key --refresh-keys以下省略几千字懒得写了更换LTS内核pacman -S linux-lts linux-lts-headers pacman -Rsdd linux grub-mkconfig -o /boot/grub/grub.cfg开启BBRecho "tcp_bbr" > /etc/modules-load.d/modules.conf echo "net.core.default_qdisc=fq" > /etc/sysctl.d/bbr.conf echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.d/bbr.conf校验sysctl net.ipv4.tcp_congestion_control
2022年09月30日
220 阅读
0 评论
1 点赞
1
2