标签 Linux 下的文章

什么都不说了直接复制粘贴吧。 大佬原本是用的CNFaster的机器,我用的是Hetzner的机器+储存卷。大致的步骤都是差不多的,只不过有小部分有问题,通过gpt(真的是一个好东西)解决了,下面进入正题(部分图片直接偷盗)。 所以这篇教程旨在通过重装**将系统盘转换成lvm管理,并且将数据盘和系统盘合二为一**,直接搓成一个完整的大盘。

使用一键重装脚本,并重启到 netboot.xyz(可使用商家后台 VNC 手动安装)

curl -O https://raw.githubusercontent.com/bin456789/reinstall/main/reinstall.sh || wget -O reinstall.sh $_
bash reinstall.sh netboot.xyz
reboot

这个是我的


重启后,从Hetzner后台进入vnc

  • 进入 netboot.xyz

    输入后台提供的网络IP 子网掩码

    网关(事实证明Hetzner不需要自己手动设置ip这些)

    选择网络安装

    选择系统和版本(debian12)


    进入图形化安装界面

    设置语言,一路默认

    (我喜欢用中文,所以我选择了中文,键盘布局选择美国英语就行了)

    手动设置网络

    填入后台提供的IP地址掩码网关,DNS我用了8.8.8.8(Hetzner不需要,自动通过HDCP完成配置)

    这里的主机名可以随便


    设置root和新建账户密码


    这里会重新新建一个账户,这个是一会儿安装完毕之后登录的账户,之后在切换到root账户去

    **选择设置lvm管理硬盘** **(重要)**


    写入更改




    开始安装系统

  • 仅安装系统必要和ssh server

**设置grub**(**重要**)



引导安装完成,重启

**注意**:默认只支持用户账户登陆,所以用用户账户登陆后开启root ssh登陆

su

echo 'PermitRootLogin yes' >> /etc/ssh/sshd_config
systemctl restart ssh

开始扩容啦

然后使用exit断开连接,重新连接使用root用户登录

查看分区表

lsblk


显示sdb下面没有sdb1则继续,如果有sdb1则直接跳到“刷新分区”
运行 fdisk /dev/sdbparted /dev/sdb`来创建一个新的分区:

这时会提示红色的

不用管直接继续
fdisk 命令提示符下,按照以下步骤执行:

- n(新建分区)

  • 选择 p(主分区)
  • 1(分区号 1)
  • 直接回车(使用默认起始扇区)
  • 直接回车(使用整个磁盘)
  • t(修改分区类型)
  • 输入 8e(设置为 Linux LVM)
  • w(写入并退出)


安装parted用来刷新分区表

apt-get update
apt-get install parted -y

**刷新分区表**

有时候系统不会立即识别新分区,所以执行:

partprobe /dev/sdb

**检查分区**

确保 <code>/dev/sdb1</code> 存在:

lsblk /dev/sdb


然后运行,接下来的步骤要根据这里反馈的内容操作

lsblk
vgs
lvs

创建物理卷

pvcreate /dev/sdb1

扩展volume

vgextend static-vg /dev/sdb1

拓展所有剩余空间至逻辑卷

lvextend -l +100%FREE /dev/static-vg/root

resize卷,并查看是否添加成功

resize2fs /dev/static-vg/root
df -h

Docker-compose的官方库

首先安装docker

一键安装docker

curl -fsSL https://get.docker.com | bash -s docker

安装docker-compose


sudo curl -L "https://github.com/docker/compose/releases/download/v2.29.7/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose

安装完成后,你可以通过运行以下命令来验证安装是否成功:

docker-compose --version

然后就可以愉快的使用docker-compose了

通过对比目前较为受欢迎的WebDAV服务器端软件,https://github.com/hacdias/webdav 较为稳定(唯一遗憾的是,项目已经终止)。 此开源项目是使用GoLang开发的,因此兼容性非常强悍,仅作者预编译针对不同操作系统和CPU架构的二进制文件就有34种,可以说涵盖了几乎所有运行环境。 作者默认使用此软件的都是专业选手,因此没有手把手的文档可以参考。这对于非程序员甚至非GoLang程序员不太友好。

配置文件

作者给出的配置参考已经非常详细,但需要注意的是,你需要全部复制并做出对应修改,程序中并没有做默认值合并。注释中的will be merged仅仅针对当前配置文件下文的用户默认值。

二进制安装

访问https://github.com/hacdias/webdav/releases/,对应下载作者预编译的二进制版本。
参考Systemd Example,注册为*unix服务,实现开机自动启动。此步骤有疑问的话,搜索对应操作系统+systemd关键词。
需要特别注意的是:
二进制文件所在的执行目录需要和Systemd配置文件中的ExecStart目录保持一致。
作者说明了支持JSON, YAML and TOML配置文件格式,因此你需要加上相应后缀,否则配置文件不生效。例如JSON添加.json、YAML添加.yml。
OMV5(Debian)中二进制文件安装例子(解压提示路径错误,webdav解压到、/usr/bin目录就行):

wget https://github.com/hacdias/webdav/releases/download/v4.2.0/linux-amd64-webdav.tar.gz
tar -zxvf linux linux-amd64-webdav.tar.gz
mv /root/webdav /usr/bin

在opt下创建webdav.config.yml

# Server related settings
address: 0.0.0.0
port: 8080
auth: true
tls: false
prefix: /

# Default user settings (will be merged)
scope: .
modify: true
rules: []

cors:
enabled: false
credentials: false

users:
- username: admin
  password: "{bcrypt}$2a$12$NRf4qBRbBJ0/XR56S7UwaOWzlLIs8fTRDILiC02BGCbbol2g/dw2i"
  scope: /date
  modify:   true

scope即为根目录本地映射地址。password可以用明文,也可以加密,Bcrypt密码在线生成地址: https://bcrypt-generator.com/
然后添加服务
vim /etc/systemd/system/webdav.service

[Unit]
Description=WebDAV server
After=network.target

[Service]
Type=simple
User=root
ExecStart=/usr/bin/webdav --config /opt/webdav.config.yml
Restart=on-failure

[Install]
WantedBy=multi-user.target

最后,设置开机启动并启动服务:

systemctl enable webdav
systemctl start webdav
理论上所有linux系统都可以用这个方法