分类 Linux 下的文章

今天弄了一台虚拟机想安装宝塔面板,发现 wget 一直卡着无法下载。
加个超时测试:

wget -T10 https://dg1.bt.cn/install/4/phpmyadmin.sh
root@xserver:/var/app# wget -T10 https://dg1.bt.cn/install/4/phpmyadmin.sh
--2023-11-06 06:28:05--  https://dg1.bt.cn/install/4/phpmyadmin.sh
Resolving dg1.bt.cn (dg1.bt.cn)... 240e:a5:4200:89::256, 42.157.129.47
Connecting to dg1.bt.cn (dg1.bt.cn)|240e:a5:4200:89::256|:443... failed: Connection timed out.
Connecting to dg1.bt.cn (dg1.bt.cn)|42.157.129.47|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 3496 (3.4K) [application/octet-stream]
Saving to: ‘phpmyadmin.sh’

phpmyadmin.sh                 100%[=================================================>]   3.41K  --.-KB/s    in 0s

2023-11-06 06:28:15 (75.8 MB/s) - ‘phpmyadmin.sh’ saved [3496/3496]

发现IPv6连不上,IPv4没问题,测试 curl 正常,可能 curl 优先使用 ipv4吧。
为了能正常使用 wget,于是禁用掉 wget 的 ipv6:

vim /etc/wgetrc

加一行:inet4_only = on
保存,测试,搞定。。。

注:/etc/wgetrc 是全局的,对所有用户生效,如果只想对当前用户生效,修改文件 $HOME/.wgetrc 即可

DD-WRT 安装 Entware,以使用 OPKG 安装其它软件

先到web管理页打开以下选项:

[x] Core USB Support
[x] USB 2.0 Support
[x] USB Storage Support
[x] Automatic Drive Mount

在 Disk mount point 下拉列表中选择 /opt,然后单击 Save 按钮。

准备 U 盘

保存并应用设置后,磁盘现在将显示在操作系统中。此时我们可以使用 fdisk 对 U 盘进行分区。
操作教程:How to - Format and Partition External Storage Device 手册制作 ext2/ext 分区。

安装Entware-ng

连接 USB 存储,打开 telnet/ssh 控制台并输入以下命令:
在 ARM 设备:

wget -O - http://pkg.entware.net/binaries/armv7/installer/entware_install.sh | sh

在 MIPS 设备:

wget -O - http://pkg.entware.net/binaries/mipsel/installer/installer.sh | sh

把 DD-WRT 升级成 OpenWRT

在web后台服务中,启用 sshd
将下载好的文件传到 /tmp
ssh 登录到路由:

cd /tmp
mtd -f write openwrt-your-router-factory.bin linux
reboot

如果是把 OpenWRT 转成 DD-WRT,命令稍不同:

mtd write /tmp/factory-to-ddwrt.bin firmware

查看磁盘占用情况:

df -h

查找大文件(. 为路径,根据需要修改,全盘搜索就直接 / ):

find . -type f -size +800M

查找哪个目录占用大空间:
先查找根目录:

du -ah --max-depth=1 /

看哪个目录占用大,然后进去再查看下一层,比如 var 目录大,则:

cd /var
#不指定目录默认为当前目录
du -ah --max-depth=1

一层一层下去就可以找到目标目录。

首先,在 vmware 中扩展硬盘空间,这个很简单,不用多说。做好后,到系统中:

fdisk /dev/sda

按 n 创建新分区,全部按默认的即可,新系统一般有 /dev/sda1 - sda3,默认创建为 /dev/sda4
然后创建物理卷:

pvcreate  /dev/sda4

可以用 pvscan 查看情况,sda3 在卷组 “ubuntu-vg” 里,而 sda4 不在内。然后用vgextend,把新物理卷加到卷组:

vgextend ubuntu-vg /dev/sda4

查看卷组的命令是:vgdisplay
接下来是要扩容逻辑卷,使用 lvextend 命令,使用前,请先用 df -h 得到物理磁盘路径,默认为:/dev/mapper/ubuntu--vg-ubuntu--lv

lvextend -l +100%FREE /dev/mapper/ubuntu--vg-ubuntu--lv

最后,运行 resize2fs,让逻辑卷的扩容生效:

resize2fs /dev/mapper/ubuntu--vg-ubuntu--lv

搞定!

另外,在 vmware 中扩容后,开始使用 fdisk 命令,会有红色错误提示:

GPT PMBR size mismatch (41943039 != 125829119) will be corrected by write.

这个很简单,直接运行 fdisk /dev/sda 后,按 w 保存修改就会自动修复了。

创建系统服务:

vim /etc/systemd/system/chat.service
[Unit]
Description=Chat-Server

[Service]
ExecStart=/var/www/chat/server.js
Restart=always
User=nobody
Group=nogroup
Environment=PATH=/usr/bin:/usr/local/bin
Environment=NODE_ENV=production
WorkingDirectory=/var/www/chat

[Install]
WantedBy=multi-user.target

修改权限:

chmod 644 /etc/systemd/system/chat.service

重新加载服务信息:

systemctl daemon-reload

设定自动启动服务:

systemctl enable chat

运行:

service chat start