-
-
Save spiderbala/55804afd029c64175664353e9bbdf069 to your computer and use it in GitHub Desktop.
#!/bin/bash | |
# 將用戶密碼用作此次腳本的變量,免於後續多次重覆輸入密碼 | |
read -s -p "輸入用戶密碼: " user_password | |
echo | |
# 解除唯讀模式 | |
if echo "$user_password" | sudo -S steamos-readonly disable; then | |
echo | |
echo "唯讀模式已解除" | |
else | |
echo -e "\e[93m密碼輸入錯誤,腳本終止。\e[0m" | |
exit 1 | |
fi | |
# 刪除fakeroot.conf(模擬root權限的設定)。SteamOS更新系統後若samba失效,有時得刪除此檔才能順利重裝 | |
sudo rm -rf /etc/ld.so.conf.d/fakeroot.conf | |
# 刪除所有密鑰 | |
sudo rm -rf /etc/pacman.d/gnupg | |
# 初始化pacman密鑰,用於驗證軟件包的簽證 | |
sudo pacman-key --init | |
# 使用默認的Arch Linux密鑰替代 | |
sudo pacman-key --populate archlinux | |
sudo pacman-key --populate holo | |
sudo pacman -Scc --noconfirm | |
# 更新 Archlinux-keyring 套件 | |
sudo pacman -Sy archlinux-keyring --noconfirm | |
# 刷新pacman(套件管理工具) | |
sudo pacman -Syu --noconfirm | |
# 安裝samba文件分享協定 | |
sudo pacman -S samba --overwrite '*' --noconfirm | |
# 編寫samba配置文件 | |
echo " | |
[global] | |
workgroup = WORKGROUP | |
server string = Samba Server | |
server role = standalone server | |
[Homes] | |
comment = Home Directories | |
browseable = no | |
writable = yes | |
[Steam] | |
path = /home/deck/.local/share/Steam | |
writable = yes | |
[GAME_Folder] | |
path = /home/deck/.local/share/Steam/steamapps/common | |
writable = yes | |
[Mount_Point] | |
path = /run/media | |
writable = yes | |
#要再新增共享資料夾,可以依如下格式以及範例(使用時#符號要刪掉) | |
#[自己取資料夾名稱] | |
#path = 資料夾路徑 | |
#writable = yes | |
#[Screenshot] | |
#path = /home/deck/.local/share/Steam/userdata/用戶名/760/remote | |
#writable = yes | |
#[Userdata] | |
#path = /home/deck/.local/share/Steam/userdata/用戶名 | |
#writable = yes | |
#[Compatdata] | |
#path = /home/deck/.local/share/Steam/steamapps/compatdata | |
#writable = yes | |
#[自己掛載點上的裝置] | |
#path = /run/media/自己的裝置名稱 | |
#writable = yes | |
" | sudo tee /etc/samba/smb.conf | |
# 安裝yay(由社群維護的軟件儲存庫) | |
sudo pacman -S --needed git base-devel --noconfirm | |
git clone https://aur.archlinux.org/yay-bin.git | |
chmod a+rwx yay-bin | |
cd yay-bin | |
makepkg -si --noconfirm | |
# 更新yay | |
yay --noconfirm | |
# 安裝wsdd 網路探索服務 | |
yay -S wsdd --overwrite '*' --noconfirm | |
# 刪除yay暫存檔 | |
cd .. | |
rm -rf yay-bin | |
# 新增使用者 deck 為samba服務的默認使用者名稱 | |
echo "替Samba用戶“deck“設置為steam deck用戶相同的密碼" | |
echo -e "$user_password\n$user_password" | sudo smbpasswd -a deck | |
# 啟用samba服務 | |
echo 啟用文件分享服務 | |
echo "$user_password" | sudo -S systemctl start smb | |
# 設置samba服務為開機自啟 | |
echo 設置文件分享服務為開機自啟 | |
echo "$user_password" | sudo -S systemctl enable smb | |
# 啟用wsdd服務 | |
echo 啟用網路探索服務 | |
echo "$user_password" | sudo -S systemctl start wsdd | |
# 設置wsdd服務為開機自啟 | |
echo 設置網路探索服務為開機自啟 | |
echo "$user_password" | sudo -S systemctl enable wsdd | |
# 啟用Samba防火牆端口 | |
sudo firewall-cmd --permanent --add-service=samba | |
# 重新加載防火牆規則 | |
sudo firewall-cmd --reload | |
# 重啟唯讀模式 | |
echo "$user_password" | sudo -S sudo steamos-readonly enable | |
echo 唯獨模式已重啟 | |
echo -e "\e[93msamba文件分享協定已設定完成,可以關閉終端機了,稍待10秒防火牆設置完成即可使用\e[0m" |
#!/bin/bash | |
# 將用戶密碼用作此次腳本的變量,免於後續多次重覆輸入密碼 | |
read -s -p "輸入用戶密碼: " user_password | |
echo | |
# 解除唯讀模式 | |
if echo "$user_password" | sudo -S steamos-readonly disable; then | |
echo | |
echo "唯讀模式已解除" | |
else | |
echo -e "\e[93m密碼輸入錯誤,腳本終止。\e[0m" | |
exit 1 | |
fi | |
# 關閉wsdd服務 | |
echo 關閉網路探索服務 | |
echo "$user_password" | sudo -S systemctl stop wsdd | |
# 關閉samba文件分享服務 | |
echo 關閉文件分享服務 | |
echo "$user_password" | sudo -S systemctl stop smb | |
# 卸載wsdd網路探索服務 | |
yes | sudo pacman -R wsdd | |
# 卸載yay軟件儲存庫助手 | |
yes | sudo pacman -R yay-bin | |
# 卸載samba文件分享協定 | |
yes | sudo pacman -R samba | |
# 移除samba配置文件 | |
sudo rm -rf /etc/samba | |
# 移除samba防火牆端口 | |
sudo firewall-cmd --permanent --remove-service=samba | |
# 重新加載防火牆規則 | |
sudo firewall-cmd --reload | |
# 重啟唯讀模式 | |
echo "$user_password" | sudo -S sudo steamos-readonly enable | |
echo 唯獨模式已重啟 | |
echo -e "\e[93msamba文件分享協定刪除完成,可以關閉終端機了\e[0m" |
需要更新脚本了,不确定是否是用这个脚本卸载导致我LIB库有缺失pacman和sudo权限都没了- -,费了好大劲修好。
另外3.55版本有防火墙了需要关闭。
已更新並優化腳本,不再需要多次的輸入用戶密碼,腳本適用目前的steam 3.5.5版本
若之前有使用samba的用戶,從steam 3.4版升級至3.5.5版後,重新安裝samba不明原因導致sudo最高權限指令以及pacman損毀
請使用steam deck還原映像檔,製作復原映像檔的隨身碟,然後進到EFI引導選擇介面,用隨身碟啟動到復原模式,然後選擇Reinstall Steam OS
這會重裝steamOS為舊版,之後再連上網路重新升級為3.5.5版即可修復完成
steam的用戶/玩家資料都會保留,包含steam已安裝的遊戲,steam deck已安裝的軟體,home資料夾底下的資料等等
有影響的只有home之外的資料,比如假如有編輯fstab檔案,有裝rEFInd腳本等等,要重新設定重跑腳本
關於使用steam deck還原映像檔,可以參考這部影片的21:15處,進到還原系統後,選擇Reinstall Steam OS即可
https://youtu.be/CAkW04juf78?si=mjMiWSMQSnMx1Y5G&t=1275
傳輸大檔案到Steam Deck上的分區、隨身碟或SD卡,若提示出現容量不足,就不能從[Mount_Point]進去
必須另外針對它們個別設立分享資料夾,否則系統會判斷錯誤的容量空間
我另外編寫了範例,可以參考使用
#[自己掛載點上的裝置]
#path = /run/media/自己的裝置名稱
#writable = yes
腳本功能介紹以及解說,可以參考這部影片(有點過時)
https://youtu.be/ZWPpD2dpNLg
需要更新脚本了,不确定是否是用这个脚本卸载导致我LIB库有缺失pacman和sudo权限都没了- -,费了好大劲修好。 另外3.55版本有防火墙了需要关闭。
修復sudo我是用steam deck的還原映像檔,執行Reinstall Steam OS修復的,不然沒有最高權限很難搞...
另外,腳本已更新並優化,只需輸入一次用戶密碼,並且加入samba的防火牆規則,適用目前steam 3.5.5版
感谢作者的付出,deck有了smb就再也回不去了,太方便啦。
steamOS又更新啦,smb又挂掉。
之前安装过此脚本的,只需执行一下几个步骤:
删除fakeroot,正常安装一遍smb,yay,wsdd等,正常开启smb服务即可。
请问我这次安装yay时遇见问题,依赖需要大于6.1版本,该如何解决呢
傳輸大檔案到Steam Deck上的分區、隨身碟或SD卡,若提示出現容量不足,就不能從[Mount_Point]進去
必須另外針對它們個別設立分享資料夾,否則系統會判斷錯誤的容量空間