節(jié)前手賤劲阎,在裝有debian
上想用conda
安裝的zsh
代替系統(tǒng)的bash
, chsh
后又做了一系列現(xiàn)已經(jīng)想不起具體過程的神操作习瑰,無法通過遠程登陸上我的nas节吮。
本可嘗試登陸本地桌面解決問題,但想起當初裝系統(tǒng)時留下了一系列的問題道盏,選擇了重裝莹菱。
然而移国,雖然不是第一次裝debian和omv4,但是仍然踩了幾個坑道伟,記下以備忘迹缀。
安裝時不要選網(wǎng)絡源
手頭的debian9的u盤一直放在nas邊上,安裝時也就沒去升級debian10+omv4
的組合蜜徽。但是安裝時祝懂,試過國內的cn2
源,華為
源, 清華
源娜汁,全在安裝到1143
個包左右開始卡機,進度極慢兄朋,扔在那數(shù)小時之后還只是安裝了幾個包掐禁。
所以在安裝時怜械,不能選擇net mirror
, 直接本地鏡像先安裝好。在安裝后再更換成清華等國內源
先安裝包
apt install apt-transport-https ca-certificates
修改成清華源
vim /etc/apt/sources.list
# 默認注釋了源碼鏡像以提高 apt update 速度傅事,如有需要可自行取消注釋
deb https://mirrors.tuna.tsinghua.edu.cn/debian/ stretch main contrib non-free
# deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ stretch main contrib non-free
deb https://mirrors.tuna.tsinghua.edu.cn/debian/ stretch-updates main contrib non-free
# deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ stretch-updates main contrib non-free
deb https://mirrors.tuna.tsinghua.edu.cn/debian/ stretch-backports main contrib non-free
# deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ stretch-backports main contrib non-free
deb https://mirrors.tuna.tsinghua.edu.cn/debian-security stretch/updates main contrib non-free
# deb-src https://mirrors.tuna.tsinghua.edu.cn/debian-security stretch/updates main contrib non-free
exfat
apt-get install exfat-fuse exfat-utils
不要把miniconda3的放在PATH的優(yōu)先位置
個人喜歡用miniconda3裝最新版vim缕允,但是發(fā)現(xiàn)如果把miniconda3放到PATH里的優(yōu)先位置,會對系統(tǒng)運行造成一定的影響蹭越。
由于不像服務器要裝大量工具障本,最終用自己編譯vim的方式。注意+python
和+python3
只能選一個响鹃,當然選python3了
./configure --with-features=huge \
--enable-multibyte \
--enable-luainterp=yes \
--enable-perlinterp=yes \
--enable-python3interp=yes \
--with-python3-config-dir=/usr/lib/python3.5/config-3.5m-x86_64-linux-gnu \
--prefix=/usr/local && \
make && make install
最終沒有在htpc上裝miniconda3
報錯驾霜,TypeError: 'NoneType' object is not callable
論壇上找到是由于python3.5的bug導致的錯誤
cd /usr/lib/python3.5
vim weakref.py
第109行 def remove(wr, selfref=ref(self)) -> def remove(wr, selfref=ref(self), _atomic_removal=_remove_dead_weakref):
第117行_remove_dead_weakref(d, wr.key) -> _atomic_removal(d, wr.key)
一個自動掛載硬盤的腳本
我的nas上頂蓋內測面
有兩個2.5硬盤位,裝了一個60g的ssd用于安裝系統(tǒng)买置,另一個1t的硬盤mount到mnt
粪糙,這兩個基本不會動的硬盤就占據(jù)了j1800主板上僅有的兩個sata口。另外插了一個4口sata擴展卡忿项,用于前置面板處的4個3.5硬盤位蓉冈。
用下面的python腳本自動掛載3.5硬盤, 目標/srv/disks
#!/usr/bin/env python3
import os
import re
for l in os.popen("ls /dev/disk/by-path"):
line = l.strip()
if line.endswith('part1') and '02' in line:
num = line[-7]
source_dir = os.path.join('/dev/disk/by-path', line)
mount_target = "/srv/disks/disk" + num
if not os.path.isdir(mount_target):
os.makedirs(mount_target)
if os.path.ismount(mount_target):
os.system('umount ' + mount_target)
cmd = 'mount ' + source_dir + ' ' + mount_target
print(cmd)
os.system(cmd)
for l in os.popen('ls /srv/disks'):
line = l.strip()
target = os.path.join('/srv/disks', line)
if os.path.ismount(target):
pass
else:
try:
os.rmdir(target)
except Exception:
pass
基礎服務用omv4內置,權限問題其實很簡單
一開始試圖用docker去安裝各種服務轩触,但是權限問題在引入docker后變得非常復雜寞酿。仔細研究了下omv4的內置服務后,發(fā)現(xiàn)其實只需要建立一個系統(tǒng)賬號就可以應付各種問題
- 建立一個用戶脱柱,我是用
share
. - 在不同的硬盤路徑下分配讀寫權限, 點左邊欄的
Access Rights Managerment
->Shared Folders
- 比如前置3.5硬盤位上的disk1和disk2伐弹,想整個目錄都可以讓share讀寫,那分配硬盤后褐捻,直接指定
/
目錄可讀寫 - 而
/mnt
(原來是/dev/sdb1
)下僅transmission
和timemachine
等目錄可讓share讀寫掸茅,那就要明確指定目錄 - 指定方法為點上面的
ACL
和priveleges
- 比如前置3.5硬盤位上的disk1和disk2伐弹,想整個目錄都可以讓share讀寫,那分配硬盤后褐捻,直接指定
samba和timemachine
- samba直接添加前面設置好權限的目錄
- timemachine要先安裝nettalk插件
在左邊欄里發(fā)現(xiàn)Apple Filing后,選中目錄柠逞,啟動time machine