用 samba 来低成本搭建 Time Machine 备份服务器

三个月前搭了个 NetaTalk 作为Time Machine 备份服务使用:用 Netatalk 来低成本搭建 Time Machine 备份服务器,很稳定地跑了几个月。然后千夏前几天手贱把系统从 Debian 11 (bullseye) 升级到了 Debian 12 (bookworm) 后发现 netatalk 不见了(((

搜索了一下发现是因为 netatalk 因为缺乏维护被 Debian 从 bookworm 中移除掉了
虽然有给出从 Debian Unstable 安装 netatalk 的方法,但千夏不是很想折腾非稳定版本的软件包,再加上 Apple 已经放弃了 AFS 的支持向 SMB 靠拢了,于是就想着用 samba 来重新配一下 Time Machine 服务。

首先安装 samba
sudo apt install samba

然后编辑 samba 的配置文件
sudo vim /etc/samba/smb.conf

[global]
# 在 global 中添加以下内容
server min protocol = SMB3
#vfs_catia 提供非法字符转换以正确映射 Apple 路径。 vfs_fruit 是用于实现与 Apple SMB 客户端兼容,vfs_streams_xattr 是允许在底层文件系统中存储 NTFS 备用数据流的主要模块。
vfs objects = catia fruit streams_xattr
fruit:nfs_aces = no
fruit:metadata = netatalk
fruit:locking = netatalk
fruit:encoding = native

[TimeMachine]
comment = Backup for Mac Computers
path = /mnt/backup/TimeMachine
force user = USERNAME
force group = USERGROUP
read only = no
browseable = yes
create mask = 0660
force create mode = 0660
directory mask = 0770
force directory mode = 0770
fruit:time machine = yes
# 设置最大可用空间
fruit:time machine max size = 500G
/etc/samba/smb.conf

保存后设置一下用户密码 smbpasswd -a USERNAME ,然后重启一下 samba 服务,接着在 MacBook 上打开访达 – 连接服务器输入 smb://your-ip-address/TimeMachine,认证后应该就能挂载成功了。打开 macOS 设置里的时光机页面,添加这个磁盘后应该就可以正常使用啦。

参考资料

macOSのタイムマシンをSambaサーバに保存する
Samba and macOS Time Machine
vfs_fruit — Enhanced OS X and Netatalk interoperability

用 Netatalk 来低成本搭建 Time Machine 备份服务器

小千夏今年咬咬牙入手了自己的第一台 MacBook Air,和以前拿学校的电脑用不一样,这次终于拥有属于自己的设备了。既然是自己的设备了,自然会作为主力机来用,各种数据和配置的安全也就显得尤为重要了。
那么如何优雅的对 MacBook 的数据进行备份呢?好在 Apple 已经为我们准备了 Time Machine 这个工具——使用Time Machine,不但可以回到过去某个时刻,获取某个文件在当时的版本;也可以在系统异常崩溃后直接全盘恢复到过去某个时刻的状态;亦或者你的电脑在星巴克被人顺走了,你也可以立即购买一台全新的 MacBook,然后通过 Time Machine 来恢复至上一台 MacBook 的数据,从而快速复原生产环境。

继续阅读“用 Netatalk 来低成本搭建 Time Machine 备份服务器”

WordPress 让不同页面显示不同小工具栏

最近重新开始写博客了,文章里放了不少代码块。但是在实际阅览过程中发现由于右侧存在小工具栏,导致文章显示范围特别小。尤其是代码块基本上显示不了什么内容,需要频繁左右滑动才能浏览完整,对阅读造成了不便。

文章页面显示范围狭窄示意图
可以看出文章页面显示范围非常狭窄,根本显示不了多少代码


那么要怎么做才能增加文章页面的显示范围呢?

继续阅读“WordPress 让不同页面显示不同小工具栏”

chmod 仅为文件夹添加执行(Execute)权限

今天为了方便自己写 /var/www/ 目录下的文件,于是把自己添加进了 www-data 用户组,并理所当然的执行了 sudo chmod -R 770 /var/www/ (-rw-rw-r–),结果 sl -al 一下返回 ls: cannot access '/var/www/': Permission denied

  ~ sudo usermod -aG www-data uuz
[sudo] password for uuz: 
  ~ ls -al /var/www/uuz/
total 248
drwxr-xr-x  6 www-data www-data  4096 Aug 31 10:51 .
drwxr-xr-x  7 root     root      4096 Sep 20  2020 ..
drwxr-xr-x 13 www-data www-data  4096 Aug 10  2020 uuz-h5theme
-rw-r--r--  1 www-data www-data   405 Feb  6  2020 index.php
  ~ sudo chmod -R 660 /var/www/
  ~ ls -al /var/www/uuz/  
ls: cannot access '/var/www/uuz/': Permission denied
  ~ sudo ls -al /var/www/uuz/
total 248
drw-rw----  6 www-data www-data  4096 Aug 31 10:51 .
drw-rw----  7 root     root      4096 Sep 20  2020 ..
drw-rw---- 13 www-data www-data  4096 Aug 10  2020 uuz-h5theme
-rw-rw----  1 www-data www-data   405 Feb  6  2020 index.php

思考了一下想起来 ls 需要给执行权限,就又执行了 sudo chmod -R 665 /var/www/。这下虽然 ls 可以用了,但不仅是文件夹,所有文件也都变成 everyone 可执行了,有一定的风险。

  ~ sudo chmod -R 665 /var/www/
  ~ ls -al /var/www/uuz/  
total 248
drw-rw-r-x  6 www-data www-data  4096 Aug 31 10:51 .
drw-rw-r-x  7 root     root      4096 Sep 20  2020 ..
drw-rw-r-x 13 www-data www-data  4096 Aug 10  2020 uuz-h5theme
-rw-rw-r-x  1 www-data www-data   405 Feb  6  2020 index.php

要怎么做才能在保持文件为 -rw-rw-r– 的情况下让文件夹为 drwxrwxr-x 呢?

继续阅读“chmod 仅为文件夹添加执行(Execute)权限”

V2Ray 配置 WebSocket + TLS + Web 教程

暑假回中国了,虽然手机卡有漫游可以回去,但毕竟有流量限制,于是自然而然的需要一个梯子来方便回去。以前有在用 Trojan,不过好像最近 V2Ray 比较流行所以也来配一个玩玩好了。

在阅读本文之前,建议先阅读官方白话文指南以了解 V2Ray 的基本配置方法(或许阅读后你会发现没有必要看本文了(笑))。

那么我们就开始吧w

继续阅读“V2Ray 配置 WebSocket + TLS + Web 教程”

在终端中使用代理服务器连接 SSH !

学校的网络似乎屏蔽了一些端口,导致连不到家里的服务器,于是给 ClashX 里添加了一个跑在 443 端口的 Trojan 以便作为跳板连回家里。

需求如下:local:8080 - proxy:443 - server:22

最开始想直接用 export all_proxy=socks5://127.0.0.1:8080 的方法解决,但发现 SSH 并不走 all proxy,于是请教了大姐姐后得到了以下的方法

继续阅读“在终端中使用代理服务器连接 SSH !”