- Forever Young https://www.luxiyue.com/tag/ubuntu/ Share Happiness,Enjoy Life~ Wed, 10 Sep 2025 05:54:41 +0000 zh-Hans hourly 1 https://wordpress.org/?v=6.8.3 https://www.luxiyue.com/wp-content/uploads/cropped-lovely-ina512-1-1-150x150.png - Forever Young https://www.luxiyue.com/tag/ubuntu/ 32 32 从零开始使用Ubuntu Server搭建家用NAS服务器(五) https://www.luxiyue.com/personal/%e4%bb%8e%e9%9b%b6%e5%bc%80%e5%a7%8b%e4%bd%bf%e7%94%a8ubuntu-server%e6%90%ad%e5%bb%ba%e5%ae%b6%e7%94%a8nas%e6%9c%8d%e5%8a%a1%e5%99%a8%ef%bc%88%e4%ba%94%ef%bc%89/ https://www.luxiyue.com/personal/%e4%bb%8e%e9%9b%b6%e5%bc%80%e5%a7%8b%e4%bd%bf%e7%94%a8ubuntu-server%e6%90%ad%e5%bb%ba%e5%ae%b6%e7%94%a8nas%e6%9c%8d%e5%8a%a1%e5%99%a8%ef%bc%88%e4%ba%94%ef%bc%89/#respond Tue, 09 Sep 2025 02:57:31 +0000 https://www.luxiyue.com/?p=6739 前言 距离上次写这个栏目已经很久了,主要是因为之前的那些东西已经够用了,基本没有改动。 今天继续之前的文章,是因为通过Ubuntu Server搭建SMB服务来做共享感觉不太够用,主要的问题在于外网访问,外网的环境下明显WebDav比SMB协议快的非常多,其次,SMB的另一个劣势也是历史问题,出现过一些比较严重的漏洞(如永恒之蓝EternalBlue),WebDav相对来说则比较安全一些。 特性 […]

从零开始使用Ubuntu Server搭建家用NAS服务器(五)最先出现在Forever Young

]]>
前言

距离上次写这个栏目已经很久了,主要是因为之前的那些东西已经够用了,基本没有改动。

今天继续之前的文章,是因为通过Ubuntu Server搭建SMB服务来做共享感觉不太够用,主要的问题在于外网访问,外网的环境下明显WebDav比SMB协议快的非常多,其次,SMB的另一个劣势也是历史问题,出现过一些比较严重的漏洞(如永恒之蓝EternalBlue),WebDav相对来说则比较安全一些。

特性 SMB WebDAV
设计初衷 局域网(LAN) 文件共享和打印服务 广域网(WAN/Internet) 上的文档协作与管理
底层协议 直接运行在TCP/IP之上(或更早的NetBIOS),使用非标准端口(445, 139) 运行在HTTP/HTTPS之上,使用标准Web端口(80, 443)
通信模式 有状态连接:客户端和服务器需要建立一个复杂的、持续的会话,维护连接状态。 无状态连接:基于HTTP的请求-响应模式,每个请求都是独立的。
数据包结构 密集的二进制格式,包含大量小数据包进行协商和确认。 基于文本的XML和标准HTTP头,数据包更大、更整合。

内容

这篇文章就是放弃SMB,选择WebDav,以及WebDav的搭建、优化,并记录在搭建过程遇到的问题,以及解决方案,最终达到一个相对比较满意的结果。

问题

在搭建过程中,我遇到的一些比较大的问题:

使用Nginx搭建WebDav

  1. 网页端能访问,但是手机平板上的流媒体App无法访问

    解决方法:安装dav_ext_methods模块,可以参考上一篇文章:使用Nginx搭建WebDav的注意事项补充(流媒体访问) - Forever Young

  2. 解决了流媒体App的访问后,在Windows映射网络驱动,出现了以下问题:

    • 上传文件时 Windows 提示要覆盖文件

    • 上传失败

    • 目标位置只留下一个 0KB 文件

    尝试了很多方法,均无法解决。这是因为Nginx WebDAV 模块和 Windows 自带 WebDAV 客户端不兼容。

如果不需要映射磁盘,后续对文件编辑直接在终端进行就能满足的话,可以直接使用Nginx搭建,如果需要映射到本地,像本地硬盘一样进行访问、编辑的话,那就只能放弃使用Nginx搭建WebDav。

方案

更换WebDav服务器,使用Apache2来解决磁盘映射的问题,因为Apache mod_dav完整支持 LOCK/UNLOCK,和 Windows 兼容。

因此,可以考虑:

🔹 方案 1:只用 Apache2 提供 WebDAV

最简单,只用Apache2搭建WebDAV,Nginx 继续跑其他应用。

🔹 方案 2:Nginx 前端 + Apache2 后端(反向代理)

Apache2搭建WebDAV后使用Nginx反向代理,从而统一管理。

因为考虑到最终使用HTTPS,对证书、服务配置的简洁化,选用方案2

步骤

第一步:安装Apache2

sudo apt install apache2
sudo a2enmod dav dav_fs  # 启用 WebDAV 模块

第二步:建立WebDav目录

sudo mkdir -p /var/www/webdav
sudo chown -R www-data:www-data /var/www/webdav
sudo chmod -R 755 /var/www/webdav

第三步:配置WebDav服务

新建 /etc/apache2/sites-available/webdav.conf 配置文件:

<VirtualHost *:8080>
    ServerName webdav.local

    DocumentRoot /var/www/webdav
    <Directory /var/www/webdav>
        Options Indexes
        AllowOverride None
        Dav On

        Require valid-user
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/webdav_error.log
    CustomLog ${APACHE_LOG_DIR}/webdav_access.log combined
</VirtualHost>

tips:如果服务器有ddns解析,为了防止外网可以通过 http://域名:端口号 进行不安全的访问,可以相应限制,只允许内网设备访问。

 <VirtualHost 10.0.0.11:8080>  # 更换自己的服务器IP+代理的端口号
  ServerName webdav.local

  DocumentRoot /var/www/webdav
  <Directory /var/www/webdav>
      Options Indexes
       AllowOverride None
       Dav On

       Require valid-user
      Require ip 10.0.0.0/24 # 只允许局域网访问,更换自己的内网IP地址段
  </Directory>

  ErrorLog ${APACHE_LOG_DIR}/webdav_error.log
  CustomLog ${APACHE_LOG_DIR}/webdav_access.log combined
</VirtualHost>

第四步:配置端口号

根据上述服务监听的端口,需要在 /etc/apache2/ports.conf 添加对应的端口:

Listen 8080 # 添加,其他的都可以注释掉

第五步:启用WebDav服务

sudo a2ensite webdav.conf  # 启用配置
systemctl restart apache2  # 重启并应用apache2
systemctl enable apache2   # apache2自启动 

到这一步,已经可以通过 http://<ip>:<port> 访问WebDav了(无账户密码)。

特别注意:我这边后面是使用Nginx做身份验证的,如果只用Apache2的话,配置文件中务必添加身份验证的配置!!!

加上身份验证完整的配置应该是:

 <VirtualHost 10.0.0.11:8080>  # 更换自己的服务器IP+代理的端口号
  ServerName webdav.local

  DocumentRoot /var/www/webdav
  <Directory /var/www/webdav>
      Options Indexes
       AllowOverride None
       Dav On

       # 身份验证
       AuthType Digest
       AuthName "WebDAV"
       AuthUserFile /etc/apache2/webdav.passwd

       Require valid-user
      Require ip 10.0.0.0/24 # 只允许局域网访问,更换自己的内网IP地址段
  </Directory>

  ErrorLog ${APACHE_LOG_DIR}/webdav_error.log
  CustomLog ${APACHE_LOG_DIR}/webdav_access.log combined
</VirtualHost>

身份验证:

sudo a2enmod auth_digest  # 启用Digest Auth认证
echo -n "username:WebDAV:password" | md5sum  # 假设用户名 username,认证域 WebDAV,密码 password,主要还是不喜欢用 sudo htdigest -c /etc/apache2/webdav.passwd "WebDAV" username来创建,还要安装apache2-utils
5f4dcc3b5aa765d61d8327deb882cf99  -  # 得到这样的输出
echo "username:WebDAV:5f4dcc3b5aa765d61d8327deb882cf99" | sudo tee -a /etc/apache2/webdav.passwd  # 用户密码写入 webdav.passwd 文件
systemctl restart nginx

第六步:Nginx身份认证

确定可以正常访问后,说明Apache2已经配置好了,接下来要配置Nginx的反向代理了,先配置Nginx的身份认证,直接用auth_basic认证方式就行,使用上面的auth_digest认证方式还要安装第三方模块,没必要。

sudo openssl passwd -6 <你的密码>

得到以 $6$ 开头的密码字符串。

echo "<你的用户名>:<生成的密码字符串>" | sudo tee -a /etc/nginx/webdav.htpasswd

第七步:Nginx反向代理

编辑WebDav配置文件:

# /etc/nginx/site-enable/webdav.conf

# HTTP配置
server {
    listen 80;
    listen [::]:80;

     server_name yourdomain.com;

    location / {
        # 启用 Basic Authentication
        auth_basic "Restricted Area";
        auth_basic_user_file /etc/nginx/webdav.htpasswd;

        proxy_pass http://10.0.0.11:8080/;  # 反代 Apache WebDAV

        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}

# HTTPS配置
server {
    listen 443 ssl;
    listen [::]:443 ssl;
    http2 on;

    server_name  _;

    ssl_certificate     /path/to/your-domain/certs/fullchain.pem;
    ssl_certificate_key /path/to/your-domain/certs/privkey.key;

    location / {
        # 启用 Basic Authentication
        auth_basic "Restricted Area";
        auth_basic_user_file /etc/nginx/webdav.htpasswd;

        proxy_pass http://127.0.0.1:8080;

        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}

重启Nginx:systemctl restart nginx

结尾

经过我测试下来,这种方法完美地支持网页端以及应用端,不管是使用网页直接浏览、Infuse或者nPlayer播放音视频、Windows磁盘映射以及MacOS直接连接,都能正常使用。

不过使用这种方法稍显复杂,对初学者来说有点挑战,建议提前备份,避免造成资料误删。


更新于2天后

初步使用了一下,只有Windows磁盘映射时会报错误,这个错误下篇文章进行修复,真的非常麻烦,脑细胞再生速度都不如消耗的速度。

从零开始使用Ubuntu Server搭建家用NAS服务器(五)最先出现在Forever Young

]]>
https://www.luxiyue.com/personal/%e4%bb%8e%e9%9b%b6%e5%bc%80%e5%a7%8b%e4%bd%bf%e7%94%a8ubuntu-server%e6%90%ad%e5%bb%ba%e5%ae%b6%e7%94%a8nas%e6%9c%8d%e5%8a%a1%e5%99%a8%ef%bc%88%e4%ba%94%ef%bc%89/feed/ 0
Command terminated with exit status 1的解决办法 https://www.luxiyue.com/server/command-terminated-with-exit-status-1%e7%9a%84%e8%a7%a3%e5%86%b3%e5%8a%9e%e6%b3%95/ https://www.luxiyue.com/server/command-terminated-with-exit-status-1%e7%9a%84%e8%a7%a3%e5%86%b3%e5%8a%9e%e6%b3%95/#respond Sat, 31 Aug 2024 03:03:56 +0000 https://www.luxiyue.com/?p=6541 前言 最近Ubuntu Server升级到24.04.1的渠道已经开放,于是就顺着升级一下试试看。 按照常规的 do-release-upgrade 方法升级,发现总是提示如下错误: Invalid package information After updating your package information, the essential package 'ubuntu-mini […]

Command terminated with exit status 1的解决办法最先出现在Forever Young

]]>
前言

最近Ubuntu Server升级到24.04.1的渠道已经开放,于是就顺着升级一下试试看。

按照常规的 do-release-upgrade 方法升级,发现总是提示如下错误:

Invalid package information

After updating your package information, the essential package 'ubuntu-minimal' could not be located. This may be because you have no official mirrors listed in your software sources, or because of excessive load on the mirror you are using. See /etc/apt/sources.list for the current list of configured software sources. In the case of an overloaded mirror, you may want to try the upgrade again later.

Restoring original system state

Aborting

g package lists...5% 
*** Collecting problem information

The collected information can be sent to the developers to improve the application. This might take a few minutes.

Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
.
=== Command terminated with exit status 1 (Fri Aug 30 21:15:04 2024) ===

根据错误信息,大致可以判断是由于第三方软件源引起的。

解决方法

直接运行以下命令升级:

sudo RELEASE_UPGRADER_ALLOW_THIRD_PARTY=1 do-release-upgrade
  • RELEASE_UPGRADER_ALLOW_THIRD_PARTY=1: 这个环境变量允许从第三方软件源进行升级。

这个方法比较暴力,就是不解决问题直接升级,等升级后再排出问题所在。

注意:升级前确保做好备份!!!

Command terminated with exit status 1的解决办法最先出现在Forever Young

]]>
https://www.luxiyue.com/server/command-terminated-with-exit-status-1%e7%9a%84%e8%a7%a3%e5%86%b3%e5%8a%9e%e6%b3%95/feed/ 0
从零开始使用Ubuntu Server搭建家用NAS服务器(四) https://www.luxiyue.com/personal/%e4%bb%8e%e9%9b%b6%e5%bc%80%e5%a7%8b%e4%bd%bf%e7%94%a8ubuntu-server%e6%90%ad%e5%bb%ba%e5%ae%b6%e7%94%a8nas%e6%9c%8d%e5%8a%a1%e5%99%a8%ef%bc%88%e5%9b%9b%ef%bc%89/ https://www.luxiyue.com/personal/%e4%bb%8e%e9%9b%b6%e5%bc%80%e5%a7%8b%e4%bd%bf%e7%94%a8ubuntu-server%e6%90%ad%e5%bb%ba%e5%ae%b6%e7%94%a8nas%e6%9c%8d%e5%8a%a1%e5%99%a8%ef%bc%88%e5%9b%9b%ef%bc%89/#respond Sat, 10 Feb 2024 07:29:29 +0000 https://www.luxiyue.com/?p=6316 前言 之前部署了百度网盘以及qBittorrent后,发现针对http(s)或者ftp等协议的下载无法进行,于是就准备再加一个Aria2,完全打通各个协议。 简介 aria2 is a utility for downloading files. The supported protocols are HTTP(S), FTP, SFTP, BitTorrent, and Metalink. ar […]

从零开始使用Ubuntu Server搭建家用NAS服务器(四)最先出现在Forever Young

]]>
前言

之前部署了百度网盘以及qBittorrent后,发现针对http(s)或者ftp等协议的下载无法进行,于是就准备再加一个Aria2,完全打通各个协议。

简介

aria2 is a utility for downloading files. The supported protocols are HTTP(S), FTP, SFTP, BitTorrent, and Metalink. aria2 can download a file from multiple sources/protocols and tries to utilize your maximum download bandwidth. It supports downloading a file from HTTP(S)/FTP/SFTP and BitTorrent at the same time, while the data downloaded from HTTP(S)/FTP/SFTP is uploaded to the BitTorrent swarm. Using Metalink's chunk checksums, aria2 automatically validates chunks of data while downloading a file like BitTorrent.

Aria2 是一个用于下载文件的实用程序。支持的协议包括 HTTP(S)、FTP、SFTP、BitTorrent 和 Metalink。Aria2 可以从多个来源/协议下载文件,并尝试利用您的最大下载带宽。它支持同时从 HTTP(S)/FTP/SFTP 和 BitTorrent 下载文件,同时从 HTTP(S)/FTP/SFTP 下载的数据上传到 BitTorrent 群。使用 Metalink 的块校验和,aria2 在下载 BitTorrent 等文件时自动验证数据块。

步骤

Aria2安装

输入以下命令安装:

apt install aria2

安装完成后暂时只能通过命令行 aria2c <url> 进行下载。

配置

我们计划将 conf配置文件放置在: /root/.aria2/aria2.conf 以及 session文件也放在 /root/.aria2/aria2.session

aria2.session 的内容为空。

aria2.conf 的内容如下:

## '#'开头为注释内容, 选项都有相应的注释说明, 根据需要修改 ##
## 被注释的选项填写的是默认值, 建议在需要修改时再取消注释  ##

## 文件保存相关 ##

# 文件的保存路径(可使用绝对路径或相对路径), 默认: 当前启动位置
dir=/NAS/Downloads/Aria2
# 启用磁盘缓存, 0为禁用缓存, 需1.16以上版本, 默认:16M
#disk-cache=32M
# 文件预分配方式, 能有效降低磁盘碎片, 默认:prealloc
# 预分配所需时间: none < falloc ? trunc < prealloc
# falloc和trunc则需要文件系统和内核支持
# NTFS建议使用falloc, EXT3/4建议trunc, MAC 下需要注释此项
#file-allocation=none
# 断点续传
continue=true

## 下载连接相关 ##

# 最大同时下载任务数, 运行时可修改, 默认:5
#max-concurrent-downloads=5
# 同一服务器连接数, 添加时可指定, 默认:1
max-connection-per-server=5
# 最小文件分片大小, 添加时可指定, 取值范围1M -1024M, 默认:20M
# 假定size=10M, 文件为20MiB 则使用两个来源下载; 文件为15MiB 则使用一个来源下载
min-split-size=10M
# 单个任务最大线程数, 添加时可指定, 默认:5
#split=5
# 整体下载速度限制, 运行时可修改, 默认:0
#max-overall-download-limit=0
# 单个任务下载速度限制, 默认:0
#max-download-limit=0
# 整体上传速度限制, 运行时可修改, 默认:0
#max-overall-upload-limit=0
# 单个任务上传速度限制, 默认:0
#max-upload-limit=0
# 禁用IPv6, 默认:false
#disable-ipv6=true
# 连接超时时间, 默认:60
#timeout=60
# 最大重试次数, 设置为0表示不限制重试次数, 默认:5
#max-tries=5
# 设置重试等待的秒数, 默认:0
#retry-wait=0

## 进度保存相关 ##

# 从会话文件中读取下载任务
input-file=/root/.aria2/aria2.session
# 在Aria2退出时保存`错误/未完成`的下载任务到会话文件
save-session=/root/.aria2/aria2.session
# 定时保存会话, 0为退出时才保存, 需1.16.1以上版本, 默认:0
#save-session-interval=60

## RPC相关设置 ##

# 启用RPC, 默认:false
enable-rpc=true
# 允许所有来源, 默认:false
rpc-allow-origin-all=true
# 允许非外部访问, 默认:false
rpc-listen-all=true
# 事件轮询方式, 取值:[epoll, kqueue, port, poll, select], 不同系统默认值不同
#event-poll=select
# RPC监听端口, 端口被占用时可以修改, 默认:6800
#rpc-listen-port=6800
# 设置的RPC授权令牌, v1.18.4新增功能, 取代 --rpc-user 和 --rpc-passwd 选项
rpc-secret=<TOKEN>
# 设置的RPC访问用户名, 此选项新版已废弃, 建议改用 --rpc-secret 选项
#rpc-user=<USER>
# 设置的RPC访问密码, 此选项新版已废弃, 建议改用 --rpc-secret 选项
#rpc-passwd=<PASSWD>
# 是否启用 RPC 服务的 SSL/TLS 加密,
# 启用加密后 RPC 服务需要使用 https 或者 wss 协议连接
#rpc-secure=true
# 在 RPC 服务中启用 SSL/TLS 加密时的证书文件,
# 使用 PEM 格式时,您必须通过 --rpc-private-key 指定私钥
#rpc-certificate=/path/to/certificate.pem
# 在 RPC 服务中启用 SSL/TLS 加密时的私钥文件
#rpc-private-key=/path/to/certificate.key

## BT/PT下载相关 ##

# 当下载的是一个种子(以.torrent结尾)时, 自动开始BT任务, 默认:true
#follow-torrent=true
# BT监听端口, 当端口被屏蔽时使用, 默认:6881-6999
listen-port=51413
# 单个种子最大连接数, 默认:55
#bt-max-peers=55
# 打开DHT功能, PT需要禁用, 默认:true
enable-dht=false
# 打开IPv6 DHT功能, PT需要禁用
#enable-dht6=false
# DHT网络监听端口, 默认:6881-6999
#dht-listen-port=6881-6999
# 本地节点查找, PT需要禁用, 默认:false
#bt-enable-lpd=false
# 种子交换, PT需要禁用, 默认:true
enable-peer-exchange=false
# 每个种子限速, 对少种的PT很有用, 默认:50K
#bt-request-peer-speed-limit=50K
# 客户端伪装, PT需要
peer-id-prefix=-TR2770-
user-agent=Transmission/2.77
peer-agent=Transmission/2.77
# 当种子的分享率达到这个数时, 自动停止做种, 0为一直做种, 默认:1.0
seed-ratio=0
# 强制保存会话, 即使任务已经完成, 默认:false
# 较新的版本开启后会在任务完成后依然保留.aria2文件
#force-save=false
# BT校验相关, 默认:true
#bt-hash-check-seed=true
# 继续之前的BT任务时, 无需再次校验, 默认:false
bt-seed-unverified=true
# 保存磁力链接元数据为种子文件(.torrent文件), 默认:false
bt-save-metadata=true

其中 rpc-secret=<TOKEN><TOKEN> 的值务必设置。其他的根据自己需求逐行配置。

可以参考:

基础配置:https://aria2c.com/usage.html

详细配置:https://aria2.github.io/manual/en/html/aria2c.html

系统服务

默认Aria2没有系统进程,我们可以创建一个:

vim /lib/systemd/system/aria2c.service

内容为:

[Unit]
Description=Aria2c

[Service]
TimeoutStartSec=0
ExecStart=/usr/bin/aria2c --conf-path=/root/.aria2/aria2.conf   #aria2.conf的路径
ExecReload=/bin/kill -HUP $MAINPID
KillMode=process
Restart=on-failure
RestartSec=30s

[Install]
WantedBy=multi-user.target

然后输入以下命令自启动:

systemctl enable aria2c
systemctl restart aria2c
systemctl status aria2c

如果输出的结果中含有 Active: active (running) 字样,则Aria2c自启动服务注册成功。

下载AriaNG

AriaNG的Github地址为:https://github.com/mayswind/AriaNg

在Releases界面将程序下载下来上传到NAS,我的目录为 /var/www/AriaNg ,并使用 unzip 进行解压。

apt install unzip   #没有unzip的先行安装
unzip AriaNg-*.zip
chown -R www-data:www-data /var/www/AriaNg  #权限
chmod -R 755 /var/www/AriaNg

Nginx部署AriaNG WebUI

这边需要申请一个AriaNG WebUI的访问域名,比如 aria2.yydnas.com

部署Nginx的网站配置 aria2.conf ,内容为:

server {
    listen 80;
    listen [::]:80;

    root /var/www/AriaNg;

    server_name aria2.yydnas.com;
    index index.php index.html index.htm;
    return 301 https://$server_name$request_uri;
}

server {
    listen 443  ssl;
    listen [::]:443 ssl;
    http2 on;

    root /var/www/AriaNg;

    server_name aria2.yydnas.com;
    index index.php index.html index.htm;

    ssl_protocols   TLSv1.2 TLSv1.3;
    ssl_ciphers     ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256;

    ssl_certificate     /etc/nginx/certs/aria2.yydnas.com_nginx/aria2.yydnas.com_bundle.pem;
    ssl_certificate_key /etc/nginx/certs/aria2.yydnas.com_nginx/aria2.yydnas.com.key;

    add_header Strict-Transport-Security            "max-age=31536000; includeSubDomains; preload"    always;

    location / {
        try_files $uri $uri/ =404;
    }
}

将其放置在 /etc/nginx/sites-enabled/ 目录下面以应用。

重启Nginx以载入:

systemctl restart nginx

注意:如果新加域名,需要在 ddns-go 界面增加相应的域名解析。

访问AriaNG WebUI

第一步需要来到 【AriaNG设置】 - 【RPC】界面,输入 【Aria2 RPC密钥】,即之前配置的 Token 值,重新载入后查看状态显示已连接及完成配置。

使用

最后我们回到主界面添加链接,我这边添加了3个链接,分别是蜘蛛侠的4k remux版本,海贼王1092集,ubuntu-desktop版本(https),可以看到除了蜘蛛侠,另外两个速度基本上是满速(300M宽带),蜘蛛侠可能是资源比较老,但是说实话也不应该是这个速度啊。。后续我再测试一下吧。

总体来说,已经能满足我的需求了,比某网盘不知道好多少了,某盘已经挂着下了好几天了,遥遥无期,真的想开会员了,哭哭惹~

最后

赶着春节期间,稍微玩一会儿,折腾一下,等春节假期结束就要进入上班模式了,估计就很少玩NAS了~到时候也不知道有啥想玩的了。平时估计也就下载些电影看看,都是一些不是紧急的,挂在NAS上面下载,啥时候下载完啥时候看。

从零开始使用Ubuntu Server搭建家用NAS服务器(四)最先出现在Forever Young

]]>
https://www.luxiyue.com/personal/%e4%bb%8e%e9%9b%b6%e5%bc%80%e5%a7%8b%e4%bd%bf%e7%94%a8ubuntu-server%e6%90%ad%e5%bb%ba%e5%ae%b6%e7%94%a8nas%e6%9c%8d%e5%8a%a1%e5%99%a8%ef%bc%88%e5%9b%9b%ef%bc%89/feed/ 0
从零开始使用Ubuntu Server搭建家用NAS服务器(三) https://www.luxiyue.com/personal/%e4%bb%8e%e9%9b%b6%e5%bc%80%e5%a7%8b%e4%bd%bf%e7%94%a8ubuntu-server%e6%90%ad%e5%bb%ba%e5%ae%b6%e7%94%a8nas%e6%9c%8d%e5%8a%a1%e5%99%a8%ef%bc%88%e4%b8%89%ef%bc%89/ https://www.luxiyue.com/personal/%e4%bb%8e%e9%9b%b6%e5%bc%80%e5%a7%8b%e4%bd%bf%e7%94%a8ubuntu-server%e6%90%ad%e5%bb%ba%e5%ae%b6%e7%94%a8nas%e6%9c%8d%e5%8a%a1%e5%99%a8%ef%bc%88%e4%b8%89%ef%bc%89/#respond Wed, 07 Feb 2024 05:55:11 +0000 https://www.luxiyue.com/?p=6308 前言 前面我们已经将Ubuntu Server NAS的搭建、部署,Docker应用以及Nginx的反向代理部署完毕,这次针对一些我遇到的一些小问题来解决一下。 个人网盘 等同于群晖的Synology Drive,可以通过手机app在线查看文档、图片等应用,推荐使用 NextCloud。 可以使用docker部署,也可以直接通过php搭建,网上教程有很多,实际操作上个人感觉php直接搭建会简单一点 […]

从零开始使用Ubuntu Server搭建家用NAS服务器(三)最先出现在Forever Young

]]>
前言

前面我们已经将Ubuntu Server NAS的搭建、部署,Docker应用以及Nginx的反向代理部署完毕,这次针对一些我遇到的一些小问题来解决一下。

个人网盘

等同于群晖的Synology Drive,可以通过手机app在线查看文档、图片等应用,推荐使用 NextCloud。

可以使用docker部署,也可以直接通过php搭建,网上教程有很多,实际操作上个人感觉php直接搭建会简单一点,docker的话也不是很麻烦。

docker可以访问https://github.com/nextcloud/all-in-one#nextcloud-all-in-one查看具体部署流程。

这两类网上教程都很多,而且我个人也用不到,就不部署了。

如果不需要手机访问文档、图片等功能,可以不用安装,直接通过smb协议访问即可。

百度网盘

百度网盘对于我来说会下载一些音乐文件,主要是没有开会员,用家里的windows电脑挂着龟速下载有点大材小用。

找了很久找到了一个还算比较好的docker版百度网盘:johngong/baidunetdisk

具体可以访问其网页进行配置。

转换成 docker-compose.yml 为:

version: '3.8'

services:
  baidunetdisk:
    image: johngong/baidunetdisk:latest
    container_name: baidunetdisk
    volumes:
      - ./config:/config
      - /NAS/Downloads:/config/baidunetdiskdownload #替换前面的映射下载目录
    environment:
      - GROUP_ID=1000
      - USER_ID=1000
      - NOVNC_LANGUAGE="zh_Hans"
      - VNC_PASSWORD=123456789  #VNC访问密码
    ports:
      - "5800:5800"
      - "5900:5900"
    restart: unless-stopped

GROUP_IDUSER_ID 通过终端使用 id [用户名] 查看。

访问其页面后输入VNC访问密码即可登陆百度网盘账号,

下载目录需要选择容器内部的 /config/baidunetdiskdownload 目录。

这边说个题外话,前几个月还在使用黑群晖的百度网盘,它针对群晖系统有NAS专项会员,一年79元,于是就开通了,但是由于中间被我反复折腾,重新安装两次黑群晖后,出现了下面的提示:

这个设定真的是一点都不人性化,而且还没办法解除其绑定,对于白群晖来说是可以直接登陆白群账号那边解除绑定的,黑群就一点办法都没有了。

惨痛的教训,又交学费了~

图片管理

图片管理应用其实上文说到的NextCloud就可以,而且手机app直接自动上传,但是NextCloud功能不单单这一个,它的图片功能无法进行人脸识别以及查看更多的比如拍摄地点等信息,被我pass掉了。

这边推荐一个 PhotoPrism,Github地址为:https://github.com/photoprism/photoprism

这是专门用来管理照片的应用,适合各种设备,具体安装可以参考:https://docs.photoprism.app/getting-started/

效果如下:

我个人感觉还不错,就是没有专门的ios应用,第三方的 PhotoSync 上传原图要购买会员,一年好像是49元;但是Andriod应用就没有这个限制。

启动时间

默认的启动引导时间是30s,可以通过修改 /boot/grub/grub.cfg 文件:

terminal_output gfxterm
if [ "${recordfail}" = 1 ] ; then
  set timeout=30                # 修改这个数值
else

#...中间省略

if [ $grub_platform = efi ]; then
  set timeout=30                # 修改这个数值
  if [ x$feature_timeout_style = xy ] ; then
    set timeout_style=menu
  fi
fi

其他

其他类似 Jellyfin 或者 Emby 等流媒体服务等话,访问其官方文档都可以自行搭建,基本没有难度。

最后

在我抛弃黑群晖,改用Ubuntu Server NAS的这段时间内(截止到现在2周时间),已经达到了我所有的预期功能,除了在系统方面没有图形管理界面外,和专用的NAS已经没有两样了。

这个方法不一定适合所有人,适用群体可能5%都不到,但是体验下来我个人是比较满意的,同时也希望那些喜欢折腾的同学试着折腾一下,过程大于结果,何况结果还不错。

到这里,Ubuntu Server NAS的这一系列应该是结束了,如果后期有遇到问题的话,再做补充吧。

从零开始使用Ubuntu Server搭建家用NAS服务器(三)最先出现在Forever Young

]]>
https://www.luxiyue.com/personal/%e4%bb%8e%e9%9b%b6%e5%bc%80%e5%a7%8b%e4%bd%bf%e7%94%a8ubuntu-server%e6%90%ad%e5%bb%ba%e5%ae%b6%e7%94%a8nas%e6%9c%8d%e5%8a%a1%e5%99%a8%ef%bc%88%e4%b8%89%ef%bc%89/feed/ 0
从零开始使用Ubuntu Server搭建家用NAS服务器(二) https://www.luxiyue.com/personal/%e4%bb%8e%e9%9b%b6%e5%bc%80%e5%a7%8b%e4%bd%bf%e7%94%a8ubuntu-server%e6%90%ad%e5%bb%ba%e5%ae%b6%e7%94%a8nas%e6%9c%8d%e5%8a%a1%e5%99%a8%ef%bc%88%e4%ba%8c%ef%bc%89/ https://www.luxiyue.com/personal/%e4%bb%8e%e9%9b%b6%e5%bc%80%e5%a7%8b%e4%bd%bf%e7%94%a8ubuntu-server%e6%90%ad%e5%bb%ba%e5%ae%b6%e7%94%a8nas%e6%9c%8d%e5%8a%a1%e5%99%a8%ef%bc%88%e4%ba%8c%ef%bc%89/#respond Mon, 05 Feb 2024 03:03:27 +0000 https://www.luxiyue.com/?p=6301 前言 这一篇承接上一篇文章,上一篇将系统以及共享搭建完毕,这次主要是安装一些基础的应用: Docker安装 IPv6 DDNS动态域名解析 Nginx反向代理 说实话,到了这一步,对于新手来说可能会有点难度,不过还好的是学习成本不高,只需要简单学习一下就行。 Docker Docker就不用过多介绍了,很简单,也很容易操作。在Ubuntu Server中也只需要简单输入几个命令就能安装: sudo […]

从零开始使用Ubuntu Server搭建家用NAS服务器(二)最先出现在Forever Young

]]>
前言

这一篇承接上一篇文章,上一篇将系统以及共享搭建完毕,这次主要是安装一些基础的应用:

  1. Docker安装

  2. IPv6 DDNS动态域名解析

  3. Nginx反向代理

说实话,到了这一步,对于新手来说可能会有点难度,不过还好的是学习成本不高,只需要简单学习一下就行。

Docker

Docker就不用过多介绍了,很简单,也很容易操作。在Ubuntu Server中也只需要简单输入几个命令就能安装:

sudo apt update
sudo apt install apt-transport-https ca-certificates curl software-properties-common gnupg lsb-release
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io

IPv6 DDNS

第一步:域名

我们需要注册一个域名(最好是顶级域名),建议腾讯云、阿里云、华为云等等云服务器厂商都可以购买。

第二步:密钥

有两种类型的密钥:

  • AccessKey ID和AccessKey Secret

  • Token

各服务商获取地址:

阿里云地址:https://ram.console.aliyun.com/manage/ak?spm=5176.12818093.nav-right.dak.488716d0mHaMgg

腾讯云地址:https://console.dnspod.cn/account/token/apikey

华为云地址:https://console.huaweicloud.com/iam/?locale=zh-cn#/mine/accessKey

我这边就以 腾讯云 为例,使用 Token 方式:

点击【创建密钥】,密钥名称任意,将弹出界面的 IDToken 复制保存下来。

第三步:域名解析

比如我的顶级域名为 yydnas.com,然后NAS可以使用一个二级域名,为 nas.yydnas.com,那么到控制台的域名解析界面添加一条记录类型为 AAAA 的记录,主机记录可以为 * 或者 nas ,记录值任意,我们先随便填一个 ::1

接着访问DDNS-GO,下载此应用。

将其压缩文件中的 ddns-go 程序上传至Ubuntu NAS的任意文件夹内,我这边建了个文件夹为 /etc/ddns-go

通过命令运行:

cd /etc/ddns-go   #存放该程序的目录
sudo chmod +x ddns-go
sudo ./ddns-go -s install  #安装服务

然后访问 http://IP:9876 页面。

服务商选择 DnsPodIDToken 填写之前得到的两个值:

IPv4不启用,IPv6勾选启用,选择【通过网卡获取】,选择对应的网卡,【Domains】填写你的域名,我这边为 nas.yydnas.com

点击保存后查看日志,显示更新成功即可。

Nginx反向代理

第一步:Nginx安装

也是简单的几个命令就行了:

add-apt-repository ppa:ondrej/nginx-mainline
apt install nginx-full nginx-extras    #很重要,一定要安装这两项,确保可以使用ipv6

第二步:启动Nginx

systemctl enable nginx  #开机自动运行
systemctl start nginx

第三步:反向代理

这一步建议网上多看多学,很多配置上的东西慢慢了解,这边简单说明一下:

程序目录: /etc/nginx

网站目录(启用): /etc/nginx/sites-enabled/

网站目录(未启用): /etc/nginx/sites-available/

主程序配置文件: /etc/nginx/nginx.conf

我们先简单测试一下,这一步是基于上一步域名解析完成的情况下进行操作的,务必完成域名解析!

删除 /etc/nginx/sites-enabled/default 文件,在该目录新建一个 test.conf 的文件,内容为:

server {
    listen [::]:80;
    server_name nas.yydnas.com;   #你的域名
    index index.php index.html index.htm;

    location / {
        proxy_pass  http://10.0.0.2;  #需要反向代理的本地地址,这边10.0.0.2是我本地OpenWrt的地址
        proxy_set_header Host $http_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;
    }
}

重启 nginx: sudo systemctl restart nginx

然后试着访问域名 nas.yydnas.com ,能不能正常访问:

测试成功!

那么我们就可以系统的做第一个反向代理了,添加 SSL证书。

为这个域名在控制台申请一张免费的证书:

申请完成后,下载该证书,选择 Nginx类型,得到4个文件,将其上传至 Ubuntu NAS 的某个目录内,我放置在 /etc/nginx/cert 目录下:

再次修改 /etc/nginx/sites-enabled/test.conf 文件,完整内容为:

server {
    listen [::]:80;
    server_name nas.yydnas.com;   #你的域名
    index index.php index.html index.htm;
    return 301 https://$server_name$request_uri;   #http跳转至https
}

server {
    listen [::]:443 ssl;
    http2 on;
    server_name nas.yydnas.com;   #你的域名
    index index.php index.html index.htm;

    ssl_protocols   TLSv1.2 TLSv1.3;
    ssl_ciphers     TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;

    ssl_certificate     /etc/nginx/cert/nas.yydnas.com_nginx/nas.yydnas.com_bundle.pem;    #pem证书
    ssl_certificate_key /etc/nginx/cert/nas.yydnas.com_nginx/nas.yydnas.com.key;           #key证书

    add_header Strict-Transport-Security            "max-age=31536000; includeSubDomains; preload"    always;

    location / {
        proxy_pass  http://10.0.0.2;  #需要反向代理的本地地址,这边10.0.0.2是我本地OpenWrt的地址
        proxy_set_header Host $http_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;
    }
}

可以使用 nginx -t 查看是否有错误,没有问题的话再次重启 nginx:

最后,再次访问域名,可以看到网站还是能够正常访问并且正常开启https了:

举一反三

完成上述IPv6域名解析和Nginx反向代理之后,就可以举一反三完成很多很多需要反向代理外网访问的项目了。

通过Docker搭建的项目也是一样的流程。这边就不过多介绍了,相信Docker应该基本上都会,学习成本非常低。

其实也可以搭建个人网站,感兴趣的也自己学习一下。

最后

其实关于Docker也可以安装portainer,我个人觉得Docker就行了,图形管理界面倒不是很需要。

重点是在Nginx的配置上面,稍微花点时间把Nginx深入学习一下。

学完这些,Ubuntu Server NAS 90%已经完成了,各种应用可以通过Docker安装,比如Emby、Jellyfin、Home Assistant等等都可以自行搭建,还不用受限于各种NAS系统,剩下5% Docker没有的应用也可以通过PHP等搭建,还有其余5%都是一些比较偏门的东西。

当然,还有一点是相较于TrueNAS以及OMV等系统来说,Ubuntu的各种教程在网上还是比较多的,遇到问题也都能通过各种搜索解决。

从零开始使用Ubuntu Server搭建家用NAS服务器(二)最先出现在Forever Young

]]>
https://www.luxiyue.com/personal/%e4%bb%8e%e9%9b%b6%e5%bc%80%e5%a7%8b%e4%bd%bf%e7%94%a8ubuntu-server%e6%90%ad%e5%bb%ba%e5%ae%b6%e7%94%a8nas%e6%9c%8d%e5%8a%a1%e5%99%a8%ef%bc%88%e4%ba%8c%ef%bc%89/feed/ 0
从零开始使用Ubuntu Server搭建家用NAS服务器(一) https://www.luxiyue.com/personal/%e4%bb%8e%e9%9b%b6%e5%bc%80%e5%a7%8b%e4%bd%bf%e7%94%a8ubuntu-server%e6%90%ad%e5%bb%ba%e5%ae%b6%e7%94%a8nas%e6%9c%8d%e5%8a%a1%e5%99%a8%ef%bc%88%e4%b8%80%ef%bc%89/ https://www.luxiyue.com/personal/%e4%bb%8e%e9%9b%b6%e5%bc%80%e5%a7%8b%e4%bd%bf%e7%94%a8ubuntu-server%e6%90%ad%e5%bb%ba%e5%ae%b6%e7%94%a8nas%e6%9c%8d%e5%8a%a1%e5%99%a8%ef%bc%88%e4%b8%80%ef%bc%89/#respond Fri, 26 Jan 2024 04:45:59 +0000 https://www.luxiyue.com/?p=6272 前言 事情的起因源于黑群晖引导文件的作者wjz304由于一些原因,导致无法继续更新了,引导版本止步7.2。 rr-notice 大家好,我是 Ing. 是的,整件事比较突然。我没有给大家一个交代。 因为我的英语很差,大家知道中文很多词语只可意会不可言传,翻译会引发不必要的麻烦,所以我一直没说过太多。 我接触 redpill 的时间并不长,甚至说截至到现在 我对 DSM 系统的使用依然了解不多。 一 […]

从零开始使用Ubuntu Server搭建家用NAS服务器(一)最先出现在Forever Young

]]>
前言

事情的起因源于黑群晖引导文件的作者wjz304由于一些原因,导致无法继续更新了,引导版本止步7.2。

rr-notice

大家好,我是 Ing.

是的,整件事比较突然。我没有给大家一个交代。 因为我的英语很差,大家知道中文很多词语只可意会不可言传,翻译会引发不必要的麻烦,所以我一直没说过太多。

我接触 redpill 的时间并不长,甚至说截至到现在 我对 DSM 系统的使用依然了解不多。 一切都是一个偶然,从朋友抱怨 编译引导比较麻烦开始,我从只知其名到做了 rpcb 的项目。 然后汉化arpl开始,到 fbelavenuto 的离开,开始自己适配7.2的系统。 一转眼过去了一年,其实我本无欲无求,看到你们都能安装成功 我就很开心,虽然这消耗了我大量的时间和精力。

此外大家都懂的,本身该项目也是多多少少有XX的行为了,所以随时还有被官方控诉的风险。 今天的事情(过去了就不提了)也只是一个导火索,也算是借此给自己一个离开的理由吧。

当前最新的 RR 版本理论上可以支持到7.3发布了。 虽然很多问题没有解决,但是应该不会有太大问题。 如果当前版本发现严重的问题,我尽量提供解决办法。

目前我会去休息一段时间,我不保证我会回来。

来源:https://github.com/wjz304/rr-notice

虽然还有一些其他作者的版本(比如 wp.gxnas.com 作者的积极维护),但是只要使用黑群晖的话,始终避免不了出现各种各样的问题(停更、律师函、个人等因素的影响)。

于是,目前我觉得比较实用可靠的方法有以下几种:

  1. TrueNAS 或者 OpenMediaVault

    优点:专门针对NAS优化过,安装即可使用,有WebUI,相对比较容易上手

    缺点:配置稍显复杂,国内网络环境需要更换源,感觉教程较少

  2. Linux服务器版本(Ubuntu或者Debian)

    优点:可以说比较稳定,均衡,想要哪些功能都可以自行配置

    缺点:无图形化界面,需要有一定基础,不适合纯新手使用

主要还是看自己需求,有些人喜欢用UnRaid,FreeNAS等等,其实都可以体验一下,没有最好的,只有最适合自己的。就像我们去买衣服,100块、200块和300块钱,在质量都没问题的情况下,不是价格决定让你买哪件,也不是材质让你选哪个,最终决定的还是穿着舒不舒服,合不合身的问题。

这边我也是给想从黑群晖转到其他NAS系统的朋友一个方案。由于对Debian不是很了解,主要还是以Ubuntu为切入口,带大家了解一下使用Ubuntu服务器版本搭建NAS。

系统安装

首先,在 官网下载 Ubuntu的服务器版本。

在虚拟机中创建 Ubuntu Server,可以使用ESXI或者PVE这种底层系统,也可以在windows中使用VMware等软件,但是作为NAS来说,推荐使用ESXI或者PVE。搭建虚拟机环境的话可以在网上搜索相关教程,方法都是大同小异,这里就不做详细介绍。

有几个点提醒一下:

一、基础版本的选择

在这边可以选择正常安装,也可以最小安装,推荐是就选第一个正常安装,如果是最小安装的情况下,很多基础的应用默认不安装,到时候需要自行安装,主要原因是正常安装也不会损失很多性能。

二、IPv6设置

如果后续涉及到外网访问的话,把IPv6获取打开,到时候做DDNS。

三、磁盘空间分配

最重要的点,由于NAS用来存储,需要考虑到磁盘空间分配,不能选择默认,需要自行分配。

简单说明一下空间的类型:

/ 根目录,所有系统文件都在这,需要root权限

home 用户分区/目录

swap 交换空间,一般和内存大小相同即可

然后根据你的需求设计一下方案:

方案一: 将存储都放在 home 文件夹下,那么 / 一般设置在10~20G,swap 自行设置,剩余空间都划给 home,这个方法比较适用于家庭多个成员都需要上传自己的文件的情况,可以在 home 文件夹下面创建各自的文件夹,管理比较方便;

方案二(不推荐): 将存储都放在 / 根目录下面,那么可以直接不用建立 home,设置 swap 后,全部都给 /

磁盘格式的话可以选择 ext4 或者 btrfs

比如我演示的磁盘,共40G,其中系统自行分配 ESP 分区1.049G,这是启动用的;swap 设置为8G,根目录 / 分配剩余的30.948G。

四、勾选OpenSSH server

也可以后面自行安装,现在勾选就行。毕竟不可能每次都进虚拟机登陆。

开启SSH

安装完成后,我们需要开启SSH。

在虚拟机界面登陆,依次输入以下命令:

sudo -i

接着输入密码登陆 root

添加 root 账号密码:

passwd root

输入两遍密码之后即可。

开启SSH服务,输入以下命令:

vim /etc/ssh/sshd_config

在其中添加一行:

PermitRootLogin yes

重启SSH以应用:

systemctl restart ssh

这样就可以通过SSH软件来管理了。

如果不知道自己设备的IP地址,可以安装: sudo apt install net-tools ,然后通过 ifconfig 来查看。

smb共享

  1. 安装Samba服务

    sudo apt update
    sudo apt install samba
  2. 创建共享文件夹

    sudo mkdir /NAS
  3. 创建共享登陆账户

    sudo smbpasswd -a allen  # allen为我的用户名,自行修改

    输入两遍密码即可。

  4. 更改文件夹权限

    sudo chown allen:allen /NAS  # 这边改成你的用户名
    sudo chmod 0755 /NAS
  5. 配置Samba共享,编辑 /etc/samba/smb.conf 文件

    sudo vim /etc/samba/smb.conf
  6. 在文件末尾添加以下内容

    [NAS]
      path = /NAS
      comment = NAS
      browseable = yes
      create mask = 0755
      directory mask = 0755
      valid users = allen # 这边改成你的用户名
      force user = allen # 这边改成你的用户名
      force group = allen # 这边改成你的用户名
      public = yes
      available = yes
      writable = yes

  7. 重启Samba服务以应用更改

    sudo systemctl restart smbd

如果防火墙启用,需要允许Samba服务通过防火墙:sudo ufw allow samba

接着通过IP地址访问共享链接,已经输入账户密码,可以正常访问了,拷贝一个文件试试,速度也能达到千兆宽带。

最后

至此,Ubuntu Server NAS的系统以及共享文件夹已经搭建完成,如果只是单纯存放文件资料的话已经是没问题了。

后面会继续将 Docker搭建、Nginx反向代理这些实用的方法介绍一下,我们的目标是将Ubuntu Server打造成具有和NAS相同的功能的家用服务器。

从零开始使用Ubuntu Server搭建家用NAS服务器(一)最先出现在Forever Young

]]>
https://www.luxiyue.com/personal/%e4%bb%8e%e9%9b%b6%e5%bc%80%e5%a7%8b%e4%bd%bf%e7%94%a8ubuntu-server%e6%90%ad%e5%bb%ba%e5%ae%b6%e7%94%a8nas%e6%9c%8d%e5%8a%a1%e5%99%a8%ef%bc%88%e4%b8%80%ef%bc%89/feed/ 0
解决:您登录计算机时,您的登录密钥环未被解锁 https://www.luxiyue.com/personal/%e8%a7%a3%e5%86%b3%ef%bc%9a%e6%82%a8%e7%99%bb%e5%bd%95%e8%ae%a1%e7%ae%97%e6%9c%ba%e6%97%b6%ef%bc%8c%e6%82%a8%e7%9a%84%e7%99%bb%e5%bd%95%e5%af%86%e9%92%a5%e7%8e%af%e6%9c%aa%e8%a2%ab%e8%a7%a3%e9%94%81/ https://www.luxiyue.com/personal/%e8%a7%a3%e5%86%b3%ef%bc%9a%e6%82%a8%e7%99%bb%e5%bd%95%e8%ae%a1%e7%ae%97%e6%9c%ba%e6%97%b6%ef%bc%8c%e6%82%a8%e7%9a%84%e7%99%bb%e5%bd%95%e5%af%86%e9%92%a5%e7%8e%af%e6%9c%aa%e8%a2%ab%e8%a7%a3%e9%94%81/#respond Sat, 19 Aug 2023 05:54:59 +0000 https://www.luxiyue.com/?p=6073 前言 在使用Ubuntu Desktop的时候,自行安装的软件,在打开应用时会出现提示:“您登录计算机时,您的登录密钥环未被解锁”。 解决方法 打开终端,输入 seahorse 点击 + ,添加 “密码密钥环” 名称任意 不输入密码,直接继续 继续 设为默认 完成后重启。

解决:您登录计算机时,您的登录密钥环未被解锁最先出现在Forever Young

]]>
前言

在使用Ubuntu Desktop的时候,自行安装的软件,在打开应用时会出现提示:“您登录计算机时,您的登录密钥环未被解锁”。

解决方法

  1. 打开终端,输入 seahorse

  2. 点击 + ,添加 “密码密钥环”

  3. 名称任意

  4. 不输入密码,直接继续

  5. 继续

  6. 设为默认

完成后重启。

解决:您登录计算机时,您的登录密钥环未被解锁最先出现在Forever Young

]]>
https://www.luxiyue.com/personal/%e8%a7%a3%e5%86%b3%ef%bc%9a%e6%82%a8%e7%99%bb%e5%bd%95%e8%ae%a1%e7%ae%97%e6%9c%ba%e6%97%b6%ef%bc%8c%e6%82%a8%e7%9a%84%e7%99%bb%e5%bd%95%e5%af%86%e9%92%a5%e7%8e%af%e6%9c%aa%e8%a2%ab%e8%a7%a3%e9%94%81/feed/ 0
Ubuntu安装微信的两种方法 https://www.luxiyue.com/personal/ubuntu%e5%ae%89%e8%a3%85%e5%be%ae%e4%bf%a1%e7%9a%84%e4%b8%a4%e7%a7%8d%e6%96%b9%e6%b3%95/ https://www.luxiyue.com/personal/ubuntu%e5%ae%89%e8%a3%85%e5%be%ae%e4%bf%a1%e7%9a%84%e4%b8%a4%e7%a7%8d%e6%96%b9%e6%b3%95/#respond Wed, 16 Aug 2023 09:58:10 +0000 https://www.luxiyue.com/?p=6066 前言 最近想把平时办公使用的系统换成Ubuntu,但是最让我在意的一点就是腾讯未开放Linux版本的微信,只有QQ。 目前工作来说,很少用QQ联系,基本都是微信。所以尝试一下Ubuntu版本的微信。 两种方法 方法一:使用优麒麟版本的微信 下载安装包:https://archive.ubuntukylin.com/ubuntukylin/pool/partner/weixin_2.1.4_amd6 […]

Ubuntu安装微信的两种方法最先出现在Forever Young

]]>
前言

最近想把平时办公使用的系统换成Ubuntu,但是最让我在意的一点就是腾讯未开放Linux版本的微信,只有QQ。

目前工作来说,很少用QQ联系,基本都是微信。所以尝试一下Ubuntu版本的微信。

两种方法

方法一:使用优麒麟版本的微信

下载安装包:https://archive.ubuntukylin.com/ubuntukylin/pool/partner/weixin_2.1.4_amd64.deb

右键下载好的文件 - 使用其他程序打开 - 软件安装 。

在弹出的界面点击安装即可。

也可以在终端直接输入 sudo dpkg -i weixin_2.1.4_amd64.deb 进行安装。

打开后也比较流畅,但是功能简直少的可怜,设置里面只有调节字体大小一个功能。

而且也没法迁移聊天记录,比较尴尬。

方法二:wine方法

先安装wine,根据官网指导安装即可。

地址:https://wiki.winehq.org/Download_zhcn

以我的Ubuntu 22.04来说,依次输入以下命令:

sudo dpkg --add-architecture i386 
sudo mkdir -pm755 /etc/apt/keyrings
sudo wget -O /etc/apt/keyrings/winehq-archive.key https://dl.winehq.org/wine-builds/winehq.key
sudo wget -NP /etc/apt/sources.list.d/ https://dl.winehq.org/wine-builds/ubuntu/dists/jammy/winehq-jammy.sources
sudo apt update
sudo apt install --install-recommends winehq-stable

接着登录微信的官网 https://weixin.qq.com 下载windows版本的微信。

右键 - 使用其他程序打开,选择 Wine Windows Program Loader 打开 。

如果提示缺少 wine mono 组件,安装即可。国内网络可能下载会比较慢。

后面就会显示安装界面,正常安装即可,安装好后不要点击开始使用,右上角 x 直接关掉。

这时候,桌面有个灰色的图标,右键 - 允许运行。双击打开,就跟windows版本的微信一样了。

这种方法的好处就是体验原汁原味的所有微信功能,缺点就是有时候会出现bug,需要重启程序。

最后

说实话,我个人比较喜欢wine的方式安装,该有的功能都有,正常使用也不会一直出现问题。

在我工作的那台电脑上,可以尝试直接安装Ubuntu系统来使用。我个人会觉得比windows顺手一点。

Ubuntu安装微信的两种方法最先出现在Forever Young

]]>
https://www.luxiyue.com/personal/ubuntu%e5%ae%89%e8%a3%85%e5%be%ae%e4%bf%a1%e7%9a%84%e4%b8%a4%e7%a7%8d%e6%96%b9%e6%b3%95/feed/ 0
Ubuntu三种方法给用户添加sudo权限 https://www.luxiyue.com/server/ubuntu%e4%b8%89%e7%a7%8d%e6%96%b9%e6%b3%95%e7%bb%99%e7%94%a8%e6%88%b7%e6%b7%bb%e5%8a%a0sudo%e6%9d%83%e9%99%90/ https://www.luxiyue.com/server/ubuntu%e4%b8%89%e7%a7%8d%e6%96%b9%e6%b3%95%e7%bb%99%e7%94%a8%e6%88%b7%e6%b7%bb%e5%8a%a0sudo%e6%9d%83%e9%99%90/#respond Thu, 26 Jan 2023 05:54:57 +0000 https://www.luxiyue.com/?p=2384 前言 有时需要使用 root 权限,比如安装软件、启动服务等操作时就需要用到 sudo 命令来提升权限才能进行操作。 而一般进入系统都是普通用户,是没有权限进行 sudo,而且每次都要输入密码,太麻烦。(主要是我的系统只是自己本地玩玩,安全问题是不需要考虑的) 所以需要对普通用户授予 sudo 权限。授予 sudo 权限有三个方法: 方法一:把用户添加到 sudo 用户组 方法二:修改 sudo […]

Ubuntu三种方法给用户添加sudo权限最先出现在Forever Young

]]>
前言

有时需要使用 root 权限,比如安装软件、启动服务等操作时就需要用到 sudo 命令来提升权限才能进行操作。

而一般进入系统都是普通用户,是没有权限进行 sudo,而且每次都要输入密码,太麻烦。(主要是我的系统只是自己本地玩玩,安全问题是不需要考虑的)

所以需要对普通用户授予 sudo 权限。授予 sudo 权限有三个方法:

  • 方法一:把用户添加到 sudo 用户组

  • 方法二:修改 sudo 配置文件 (etc/sudoers)

  • 方法三:添加配置文件到 /etc/sudoers.d/ 目录中

选其中一个即可,推荐第三个方法。

步骤

以添加 allen 这个用户到 sudo 用户组为例:

方法一:把用户添加到 sudo 用户组

输入下面命令:

sudo usermod -a -G [groupname] [username]
sudo usermod -a -G sudo allen  //实际命令

方法二:修改 sudo 配置文件 (etc/sudoers)

sudo vim etc/sudoers

如果是新系统可能没有 vim ,可以如下命令安装:

sudo apt install vim

将下面内容添加在其中:

[username] ALL=(ALL:ALL)  ALL
allen ALL=(ALL:ALL)  ALL    //实际命令

方法三:添加配置文件到 /etc/sudoers.d/ 目录中

推荐的做法。

/etc/sudoers.d/ 目录中的文件相当于是 etc/sudoers 文件的补充。

如果你写的配置文件有问题或者是想去除用户的 sudo 权限,直接删除文件即可,不用去修改 /etc/sudoers 文件,不会影响到系统默认配置。

在终端中输入以下命令直接添加配置文件:

sudo tee /etc/sudoers.d/allen <<< 'allen ALL=(ALL:ALL) ALL'

如果不想输入每次 sudo 都输入密码,可以设置免密。

sudo tee /etc/sudoers.d/allen <<< 'allen ALL=(ALL:ALL) NOPASSWD:ALL'

最后赋予正确的权限:

sudo chmod 440 /etc/sudoers.d/allen

如果命令错误会有提示的。

总结

sudo 权限一般适用于本地机器,不建议在服务器上这样操作。

Ubuntu三种方法给用户添加sudo权限最先出现在Forever Young

]]>
https://www.luxiyue.com/server/ubuntu%e4%b8%89%e7%a7%8d%e6%96%b9%e6%b3%95%e7%bb%99%e7%94%a8%e6%88%b7%e6%b7%bb%e5%8a%a0sudo%e6%9d%83%e9%99%90/feed/ 0
Ubuntu安装中文输入法 https://www.luxiyue.com/server/ubuntu%e5%ae%89%e8%a3%85%e4%b8%ad%e6%96%87%e8%be%93%e5%85%a5%e6%b3%95/ https://www.luxiyue.com/server/ubuntu%e5%ae%89%e8%a3%85%e4%b8%ad%e6%96%87%e8%be%93%e5%85%a5%e6%b3%95/#respond Thu, 26 Jan 2023 05:16:06 +0000 https://www.luxiyue.com/?p=2377 前言 Ubuntu中安装中文输入法相比Windows上要复杂不少(其实也不算复杂,就是步骤上要稍微多一些)。这篇文章将基于 Ubuntu Desktop 22.04 进行中文输入法安装说明。 系统如果是刚装完的话记得先更新: sudo apt update Tips:安装过程中如果改动不生效可以尝试重启系统试试。 基础准备 首先要安装中文输入法的话需要系统支持中文语言,可以在 Language S […]

Ubuntu安装中文输入法最先出现在Forever Young

]]>
前言

Ubuntu中安装中文输入法相比Windows上要复杂不少(其实也不算复杂,就是步骤上要稍微多一些)。这篇文章将基于 Ubuntu Desktop 22.04 进行中文输入法安装说明。

系统如果是刚装完的话记得先更新:

sudo apt update

Tips:安装过程中如果改动不生效可以尝试重启系统试试。

基础准备

首先要安装中文输入法的话需要系统支持中文语言,可以在 Language Support 中安装管理语言包:

如果安装有问题也可以使用命令方式进行安装:

sudo apt install language-pack-zh-hans

安装

有中文语言包后就可以正式开始准备安装输入法了。Linux中安装其它语言的输入法首先需要安装输入法框架(或者说输入法系统),在这之上才是安装输入法。

常用的输入法框架有 IBusfcitx,再加一个常用的 搜狗输入法 ,下面将分别进行使用介绍。

IBus(Intelligent Input Bus)

使用下面命令安装 IBus (默认应该都是安装的) 以及 简体中文拼音输入法:

sudo apt install ibus
sudo apt install ibus-pinyin

安装完成后可以在 Language Support 中选择切换该框架,也可以使用 im-config 或是 im-config -s ibus 命令来选择切换:

上面信息中可以看到 IBus 框架下各种语言的输入法 和 各种平台的支持包 等信息,这些都是需要根据需求选择进行安装的。

安装完成后就可以在 Settings - Keyboard 设置中添加刚才安装的输入法了:

添加完就可以使用了:

可以在任务栏的图标切换输入法,也可以使用快捷键 Shift 切换输入法。

Fcitx(Flexible Input Method Framework)

使用下面命令安装 fcitx (默认应该都是不安装的) 以及 简体中文拼音输入法:

sudo apt install fcitx
sudo apt install fcitx-libpinyin

安装完成后同样可以使用 im-config 来选择切换该框架,并查看该框架相关信息:im-config -s fcitx

有时候因为先后顺序不显示,也可以在 Region & Language - Language Support 里面进行手动切换。

安装完成后还是在 Settings - Keyboard 设置中添加刚才安装的输入法了:

和上面那个步骤一样,在任务栏的图标切换输入法,也可以使用快捷键 Shift 切换输入法。

搜狗输入法

具体可以访问 搜狗输入法官网安装指南

搜狗输入法也是依赖 fcitx 框架。这边记录一下安装过程:(不建议使用命令行方式安装)

1. 安装 fcitx 框架并设置框架为 fcitx

sudo apt install fcitx

2. 然后使用官网下载的安装即可

3. 注销或者重启

之前没有重启还以为出了问题,一定要注销或者重启,右上角会显示键盘图标。

总结

至此,中文输入的问题已经解决了。主要是在遇到一些问题的时候,不能打中文的话搜索很麻烦。

就我个人而言,虽然搜狗输入法的功能比较多,但是我可能还是比较喜欢 ibus,纯粹个人喜好。

Ubuntu安装中文输入法最先出现在Forever Young

]]>
https://www.luxiyue.com/server/ubuntu%e5%ae%89%e8%a3%85%e4%b8%ad%e6%96%87%e8%be%93%e5%85%a5%e6%b3%95/feed/ 0