首页
Search
1
解决visual studio code (vscode)安装时没有选择安装路径问题
320 阅读
2
如何在 Clash for Windows 上配置服务
214 阅读
3
Linux 下 Bash 脚本 bad interpreter 报错的解决方法
150 阅读
4
Arch Linux 下解决 KDE Plasma Discover 的 Unable to load applications 错误
149 阅读
5
uniapp打包app提示通讯录权限问题,如何取消通讯录权限
113 阅读
clash
服务器
javascript
全部
游戏资讯
登录
Search
加速器之家
累计撰写
1,179
篇文章
累计收到
0
条评论
首页
栏目
clash
服务器
javascript
全部
游戏资讯
页面
搜索到
1179
篇与
的结果
2024-08-12
Debian 10 Buster 升级 Debian 11 Bullseye
本文将指导如何升级 Debian 10 Buster 到 Debian 11 Bullseye。准备工作除非你是物理服务器,以及没有用过奇奇怪怪定制或修改的内核的 KVM 构架的 VPS 和云主机,否则升级大版本更新内核是有一定机率导致 Grub 加载失败的,切记备份重要数据!OpenVZ 6 和 LXC 构架的 VPS 是无法升级的,因为他们没有自己独立的内核再强调一遍,一定要备份重要数据!以下操作需要在 root 用户下完成,请使用 sudo -i 或 su root 切换到 root 用户进行操作更新系统首先需要更新你当前的系统apt update apt upgrade -y apt dist-upgrade -y apt autoclean apt autoremove -y 如果内核更新了,可以重启让最新的内核生效,也可以直接进行升级。升级系统首先更新 apt 源,替换 buster 为 bullseye:sed -i 's/buster\/updates/bullseye-security/g;s/buster/bullseye/g' /etc/apt/sources.list sed -i 's/buster/bullseye/g' /etc/apt/sources.list.d/*.list 如果是 Debian 9 更新到 Debian 10:sed -i 's/stretch/buster/g' /etc/apt/sources.list sed -i 's/stretch/buster/g' /etc/apt/sources.list.d/*.list 默认的系统 apt 源文件 /etc/apt/sources.list 应该是类似这样的:deb http://deb.debian.org/debian bullseye main contrib non-free deb-src http://deb.debian.org/debian bullseye main contrib non-free deb http://security.debian.org/debian-security bullseye-security main contrib non-free deb-src http://security.debian.org/debian-security bullseye-security main contrib non-free deb http://deb.debian.org/debian bullseye-updates main contrib non-free deb-src http://deb.debian.org/debian bullseye-updates main contrib non-free 国内服务器可以替换 deb.debian.org 和 security.debian.org 为 mirrors.tuna.tsinghua.edu.cn然后我们再次执行更新系统:apt update apt upgrade -y apt dist-upgrade -y 更新过程种会提示一些软件是否需要自动重启,选 Yes 即可,以及一些软件的配置文件是否需要更新,按照自己的情况选择即可,默认回车即视为使用旧的配置文件,一般会出现在 OpenSSH 等软件的更新上。提示是否自动重启服务:提示是否更新软件配置文件:提示是否更新 OpenSSH 配置文件:注意某些软件,比如 Mariadb 更新后可能会更新 systemd 服务配置,此时我们需要执行 systemctl daemon-reload 重新加载配置:更新后删除不必要的软件和依赖:apt autoclean apt autoremove -y 然后我们使用 reboot 命令重启系统,耐心等待后,查看最新的系统版本:root@debian ~ # cat /etc/debian_version 11.2 root@debian ~ # lsb_release -a No LSB modules are available. Distributor ID: Debian Description: Debian GNU/Linux 11 (bullseye) Release: 11 Codename: bullseye root@debian ~ # uname -a Linux server 5.10.0-11-amd64 #1 SMP Debian 5.10.92-1 (2022-01-18) x86_64 GNU/Linux 这时我们就已经更新到了最新的 Debian 11 Bullseye 和内核了。
2024年08月12日
11 阅读
0 评论
0 点赞
2024-08-12
Debian 双栈网络时开启 IPv4 优先
本文理论上适合任何 Linux 系统,其他系统未经测试,请自行测试使用。背景介绍双协议栈技术就是指在一台设备上同时启用 IPv4 协议栈和 IPv6 协议栈,这样就可以同时使用 IPv4 和 IPv6 的网络。所有现代化的操作系统和浏览器均会以 IPv6 优先,只有 IPv6 无法访问的时候才会尝试访问 IPv4,某些特定的应用和场景下,我们并不想要 IPv6 优先,这时候就需要修改一些配置文件让 IPv4 优先。修改 /etc/gai.conf在 Debian 等 Linux 系统下,有一个 /etc/gai.conf 文件,用于系统的 getaddrinfo 调用,默认情况下,它会使用 IPv6 优先,如果您安装了 curl 并且本地支持 IPv6,那么可以使用 curl ip.sb 测试:root@debian ~ # curl ip.sb 2001:db8::2 效果等同于 curl ip.sb -6如果你不想使用 IPv6 优先,可以在这个文件中找到:#precedence ::ffff:0:0/96 100 取消注释,修改为:precedence ::ffff:0:0/96 100 一句话命令:sed -i 's/#precedence ::ffff:0:0\/96 100/precedence ::ffff:0:0\/96 100/' /etc/gai.conf 此时再使用 curl ip.sb 测试root@debian ~ # curl ip.sb 192.0.2.2 效果等同于 curl ip.sb -4有时候又会需要强制 IPv6 优先 (怎么有些系统和用户那么奇怪?),因为目前 IANA 分配的公网 IPv6 还未进行到 3000:0000::/4,所以我们只要把这段之前的 IPv6 加到优先级列表即可,加入这两行 label 的优先级:label 2002::/16 1 label 2001:0::/32 1 禁用 IPv6有一些极端情况下,我们可能需要禁止系统的 IPv6 功能,这时候就需要修改 /etc/sysctl.conf 文件,首先找到你的网卡名称,这里以 eth0 为例,然后加入如下内容:net.ipv6.conf.all.autoconf = 0 net.ipv6.conf.default.autoconf = 0 net.ipv6.conf.all.accept_ra = 0 net.ipv6.conf.default.accept_ra = 0 net.ipv6.conf.all.disable_ipv6 = 1 net.ipv6.conf.default.disable_ipv6 = 1 net.ipv6.conf.lo.disable_ipv6 = 1 net.ipv6.conf.eth0.disable_ipv6 = 1 如果需要其他网卡则更改或添加 net.ipv6.conf.eth0.disable_ipv6 = 1 即可。一句话命令cat >> /etc/sysctl.conf << EOF net.ipv6.conf.all.autoconf = 0 net.ipv6.conf.default.autoconf = 0 net.ipv6.conf.all.accept_ra = 0 net.ipv6.conf.default.accept_ra = 0 net.ipv6.conf.all.disable_ipv6 = 1 net.ipv6.conf.default.disable_ipv6 = 1 net.ipv6.conf.lo.disable_ipv6 = 1 net.ipv6.conf.eth0.disable_ipv6 = 1 EOF 注意 cat 命令后的 >> 即为添加文件内容,如果使用 > 则是覆盖文件内容。然后使用 sysctl -p 来重新加载配置文件,此时查看 ip a 就可以发现 IPv6 已经被禁止了。使用前,我们可以看到无论是本地还是公网网卡都有 inet6,即都有 IPv6 地址:使用后,无论本地还是公网网卡均无 IPv6 地址:其他系统和软件Windows 下请参考这篇回答Firefox 下打开 about:config 然后把 network.dns.disableIPv6 改成 true 即可禁止 Firefox 请求 IPv6
2024年08月12日
17 阅读
0 评论
0 点赞
2024-08-12
Debian 使用 apt 时 Could not get lock /var/lib/dpkg/lock-frontend 的解决方法
本文同样适合 Ubuntu 系统,请使用 root 用户进行操作。问题复现很多时候我们不挂个 screen 就盲目更新服务器,然后遇到断网停电等不可控因素时,apt 进程就会一直卡住,导致我们重新进入服务器的时候,会遇到类似以下的错误提示:E: Could not get lock /var/lib/dpkg/lock-frontend - open (11: Resource temporarily unavailable) E: Unable to acquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend), is another process using it? E: Could not get lock /var/lib/dpkg/lock-frontend - open (11: Resource temporarily unavailable) E: Unable to acquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend), is another process using it? E: Could not get lock /var/cache/apt/archives/lock - open (11: Resource temporarily unavailable) E: Unable to lock the download directory E: Could not get lock /var/lib/dpkg/lock-frontend - open (11: Resource temporarily unavailable) E: Unable to acquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend), is another process using it? 解决办法一此时我们只要使用 kill 命令,关闭 apt 进程即可,首先查找 apt 进程的 pid:root@debian ~ # ps aux | grep -i apt root 5016 0.1 1.2 66788 50096 ? S Feb18 7:25 apt-get upgrade -y root 24835 0.0 0.0 6208 824 pts/2 S+ 08:36 0:00 grep --color=auto -i apt 我们可以看到这台服务器上的 apt 进程编号为 5016,然后直接 kill 它:kill 5016 接着我们就可以重新使用 apt update 等命令了,如果更新途中遇到类似这样的错误:E: dpkg was interrupted, you must manually run 'dpkg --configure -a' to correct the problem. 那么直接按照提示运行 dpkg --configure -a 即可解决方法二还有个比较暴力的解决方法,直接删除这几个文件rm /var/lib/dpkg/lock-frontend rm /var/lib/dpkg/lock rm /var/cache/apt/archives/lock 然后重新运行 apt update 即可,但是如果万一有其他程序的进程也在操作 apt 缓存,那么这个方法可能会无效,请自行承担风险。
2024年08月12日
14 阅读
0 评论
0 点赞
2024-08-12
Debian / Ubuntu 使用 parted 转换硬盘为 GPT 并挂载分区教程
本文将指导如何在 Debian 和 Ubuntu 下使用 parted 转换硬盘为 GPT 并分区挂载。为什么使用 GPT 格式?有时候我们会在 VPS 或服务器上挂载一块大于 2 TiB 的硬盘,默认的 MBR 格式是无法使用超过 2 TiB 的硬盘的,所以我们需要转换为 GPT 格式。使用 fdisk -l 命令可以看到这个硬盘已经安装,但是没有任何分区:对应的硬盘符是 /dev/vdb,有些机器可能是 /dev/sdb,请注意自行更换盘符。使用 parted 转换硬盘为 GPT 格式然后我们安装 parted:apt install parted -y 接着我们转换 /dev/vdb 为 GPT 格式,首先使用 parted /dev/vdb 命令选择硬盘,然后输入 mklabel gpt,回车确认后就转换完成了,此时可以用 print 命令查看这个硬盘是否已经是 GPT 格式:按下 ctrl + c 退出后也可以使用 fdisk -l 命令查看硬盘已经是 GPT 格式:使用 fdisk 进行分区挂载然后我们就可以使用 fdisk 命令来挂载硬盘,首先进入硬盘:fdisk /dev/vdb 输入 n 新建分区,没有特殊需求就都回车选默认,然后再输入 w 保存并退出:此时我们通过 fdisk -l 命令即可看到已经多出一个 /dev/vdb1 的硬盘设备:然后我们分区成 ext4 格式:mkfs -t ext4 /dev/vdb1 接着把他挂载到 /mnt 目录:mount /dev/vdb1 /mnt 设置开机自启:echo "/dev/vdb1 /mnt ext4 defaults 1 2" >> /etc/fstab 大功告成,使用 df -hT 命令查看挂载和格式是否正确:记得检查下重启后是否生效哦
2024年08月12日
14 阅读
0 评论
0 点赞
2024-08-12
Linux 下 Bash 脚本 bad interpreter 报错的解决方法
本文理论上适合所有 Linux 操作系统。问题复现有时候为了图方便,我们会直接在本机 git clone 一个 Github 的私有仓库,然后再使用 lrzsz 或 sftp 上传到服务器上,此时如果你本机是 Windows 系统,服务器是 Linux 系统,那么 git clone 下来的脚本文件编码就自动给你换成 Windows 的 CRLF,然后在 Linux 服务器上执行脚本时,会报错/bin/bash^M: bad interpreter: No such file or directory 解决方法一使用 VS Code 或者其他类似的软件,打开脚本手工转换编码为 UNIX (LF),一般情况下你可以在编辑器的右下角找到:然后换成 LF 并保存:再重新上传即可。解决方法二直接在 Linux 终端下运行:sed -i -e 's/\r$//' 脚本文件名 好了,就完事了 = =
2024年08月12日
150 阅读
0 评论
0 点赞
1
...
233
234
235
236