Linux安装
不同系统安装配置的步骤和难度也不同,但开始安装的前提往往都是包含安装文件的介质,以下两种工具均可将U盘制作为安装介质
以安装简易的Ubuntu系统为例,Ubuntu官网下载系统镜像
Ventoy
介绍:多系统启动U盘解决方案
使用:官网
下载软件安装到U盘,将系统镜像拷贝进U盘,将U盘插入主机
开机按esc(或对应键)进入BIOS,选择U盘为启动项启动,进入Ventoy
选择对应镜像进入,并根据提示一步步安装Ubuntu
UltraISO
介绍:光盘映像文件相关工具
使用:官网
下载安装软件(试用即可,若不行可用破解版)
文件-打开中选择系统镜像文件,打开
启动-写入硬盘镜像中选择硬盘驱动器为U盘,写入
将U盘插入主机,开机按esc(或对应键)进入BIOS,选择U盘为启动项启动,根据提示安装Ubuntu
系统设置
Curl
介绍:用于请求Web服务器的命令行工具,许多安装脚本会用到该工具
使用:文档 用法指南
Vim
介绍:命令行的文本编辑器
使用:文档 快速上手
1 2 3 4 5 6 7 8 9 10 11 12 13
| sudo apt install vim
vim xxx.sh i xxx esc : w q esc ZZ ZQ
|
Zerotier
介绍:在不同终端之间建立虚拟局域网
使用:官网 文档 同类软件Tailscale
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
|
curl -s https://install.zerotier.com | sudo bash
sudo zerotier-cli info
zerotier-cli join xxxxxxxxxxxxxxxx
zerotier-cli listnetworks
cd /var/lib/zerotier-one
zerotier-cli -h allowManaged=1 allowGlobal=0 allowDefault=0 allowDNS=0
|
1Panel
介绍:服务器面板
使用:官网 文档 安装脚本
1 2 3 4
| curl -sSL https://resource.fit2cloud.com/1panel/package/quick_start.sh -o quick_start.sh && sudo bash quick_start.sh
|
以下脚本可添加至计划任务来监测网络情况(用于解决网络连接偶尔断开):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| #!/bin/bash
SSID='ZJUWLAN-Secure'
ping -q -c 3 baidu.com > /dev/null if [ $? -eq 0 ] then echo "网络连接正常" echo "$(date '+%Y-%m-%d %H:%M:%S') 网络连接正常" >> /home/wifi.log else echo "网络已断开,正在尝试重新连接..." echo "$(date '+%Y-%m-%d %H:%M:%S') 网络已断开,正在尝试重新连接..." >> /home/wifi.log sudo systemctl restart NetworkManager nmcli radio wifi on sleep 5 nmcli device wifi connect $SSID fi
|
Docker
介绍:容器
使用:文档 快速上手
1 2 3 4 5 6 7 8 9 10 11
|
sudo apt update sudo apt install apt-transport-https ca-certificates curl gnupg-agent software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
sudo apt update sudo apt install docker-ce docker-ce-cli containerd.io
|
1 2 3 4 5 6 7 8 9 10 11
| sudo docker start/stop/rm xxx
sudo docker ps
sudo docker-compose up -d
sudo docker-compose stop
sudo docker-compose pull && docker-compose up -d
|
grub
新的Ubuntu系统可能启动时不显示grub,可通过以下设置使其显示
1 2 3 4 5 6 7 8
| sudo vim /etc/default/grub
sudo update-grub
|
shell proxy
设置终端代理以解决终端无法访问GitHub的问题
1 2 3 4 5 6 7 8
| vim ~/.bashrc
export http_proxy=http://127.0.0.1:7890 export https_proxy=http://127.0.0.1:7890 export all_proxy=socks5://127.0.0.1:7890
source ~/.bashrc
|
软件配置
qBittorrent
介绍:BT软件
使用:官网
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
| sudo apt install qbittorrent-nox
sudo cat >/etc/systemd/system/alist.service <<EOF [Unit] Description=qBittorrent-nox After=network.target network.service
[Service] ExecStartPre=/bin/sleep 30 ExecStart=/usr/bin/qbittorrent-nox Type=simple Restart=on-failure TimeoutStopSec=10
[Install] WantedBy=multi-user.target EOF
sudo systemctl daemon-reload
sudo systemctl enable qbittorrent-nox
sudo systemctl restart qbittorrent-nox
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| version: "3" services: qbittorrent: image: linuxserver/qbittorrent container_name: qbittorrent environment: - PUID=1000 - PGID=1000 - TZ=Asia/Shanghai - UMASK_SET=022 - WEBUI_PORT=8081 volumes: - /home/qb/config:/config - /media/username:/downloads ports: - 39873:39873 - 39873:39873/udp - 8081:8081 restart: unless-stopped
|
Alist
介绍:支持多种存储的文件列表程序
使用:文档
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| version: '3.3' services: alist: restart: always volumes: - '/etc/alist:/opt/alist/data' - '/media/uesrname:/media/username' ports: - '5244:5244' environment: - PUID=1000 - PGID=1000 - UMASK=022 container_name: alist image: 'xhofe/alist:latest'
|
1 2 3 4 5 6 7
|
curl -fsSL "https://alist.nn.ci/v3.sh" | sudo bash -s install
curl -fsSL "https://alist.nn.ci/v3.sh" | sudo bash -s update
curl -fsSL "https://alist.nn.ci/v3.sh" | sudo bash -s uninstall
|
DDNS-GO
介绍:自动获得公网 IPv4 或 IPv6 地址,并解析到对应的域名服务
使用:官网 Callback dynv6
1 2
| sudo docker run -d --name ddns-go --restart=always --net=host -v /opt/ddns-go:/root jeessy/ddns-go
|
1 2 3 4 5 6 7 8
|
http://IP:9876
https://dynv6.com/api/update?zone=domain&token=YOUR_TOKEN&ipv6=#{ip}
|
Reader
介绍:自建网页看小说
使用:文档 书源地址
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| apt install docker-compose -y
wget https://ghproxy.com/https://raw.githubusercontent.com/hectorqin/reader/master/docker-compose.yaml
vim docker-compose.yaml
esc :wq
docker-compose up -d
docker-compose stop
docker-compose pull && docker-compose up -d
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58
| version: '3.1' services:
reader: image: hectorqin/reader container_name: reader restart: always ports: - 4396:8080 networks: - share_net volumes: - /home/reader/logs:/logs - /home/reader/storage:/storage environment: - SPRING_PROFILES_ACTIVE=prod - READER_APP_USERLIMIT=50 - READER_APP_USERBOOKLIMIT=200 - READER_APP_CACHECHAPTERCONTENT=true - READER_APP_SECURE=true - READER_APP_SECUREKEY=adminpwd - READER_APP_INVITECODE=registercode
watchtower: image: containrrr/watchtower container_name: watchtower restart: always environment: - TZ=Asia/Shanghai volumes: - /var/run/docker.sock:/var/run/docker.sock command: reader watchtower --cleanup --schedule "0 0 4 * * *" networks: - share_net networks: share_net: driver: bridge
|
ChatGPT-Next-Web
介绍:使用api建立ChatGPT网页服务
使用:文档 azure-openai-proxy
1 2 3 4 5 6 7 8 9
| docker pull yidadaa/chatgpt-next-web
docker run -d --restart=always -p 3000:3000 \ -e OPENAI_API_KEY="sk-xxxx" \ -e CODE="页面访问密码" \ --net=host \ -e PROXY_URL="http://127.0.0.1:7890" \ yidadaa/chatgpt-next-web
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
| version: '3'
services: chatgpt-next-web: image: yidadaa/chatgpt-next-web container_name: chatgpt-next-web ports: - 3000:3000 environment: - OPENAI_API_KEY=xxx - CODE=xxx - BASE_URL=http://azure-openai:8080 depends_on: - azure-openai links: - azure-openai networks: - chatgpt-ns azure-openai: image: stulzq/azure-openai-proxy container_name: azure-openai-proxy ports: - 8410:8080 environment: AZURE_OPENAI_ENDPOINT: https://xxx.openai.azure.com/ AZURE_OPENAI_MODEL_MAPPER: gpt-3.5-turbo=xxx AZURE_OPENAI_API_VER: 2023-03-15-preview networks: - chatgpt-ns
networks: chatgpt-ns: driver: bridge
|
code-server
介绍:VS Code的服务器版,可通过网页使用VS Code
使用:项目地址
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
| curl -fsSL https://code-server.dev/install.sh | sh
code-server
vim ~/.config/code-server/config.yaml
bind-addr: 0.0.0.0:8848 auth: password passsword: 123456 cert: false
:wq
code-server
sudo cat >/etc/systemd/system/alist.service <<EOF [Unit] Description=code-server After=network.target
[Service] Type=simple ExecStart=/usr/bin/code-server Restart=always RestartSec=3
[Install] WantedBy=multi-user.target EOF
sudo systemctl daemon-reload
sudo systemctl enable code-server.service
sudo systemctl restart code-server.service
|
qinglong
介绍:定时任务管理平台
使用:官网
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| version: '3' services: web: image: whyour/qinglong:latest volumes: - ./data:/ql/data ports: - "0.0.0.0:5700:5700" environment: QlBaseUrl: '/' restart: unless-stopped
|