## 下載&執行
首先在官網下載 **iventoy-1.x.xx-linux-free.tar.gz**
解壓縮後會得到一個 **iventoy-1.x.xx** 資料夾
將該資料夾更名為 **iventoy**
將該資料夾上傳到root路徑下
cd至該資料夾,執行
```bash
./iventoy.sh
```
即啟動iventoy程式,在瀏覽器輸入 **ip:26000** 即可進入iventoy操作頁面
## 設定快捷啟動命令
#### 1.創建一個 shell 腳本
```bash
nano /usr/local/bin/pxe.sh
```
內容輸入:
```bash
#!/bin/bash
cd /root/iventoy || exit 1
sudo bash iventoy.sh start
cd /root || exit 1
```
然後存檔退出,
這段代碼的功能是:
- 切換到 `/root/iventoy` 目錄。
- 執行 `sudo bash iventoy.sh start` 命令。
- 再切換回 `/root` 目錄切換回 `/root` 目錄。
#### 2. 給腳本賦予執行權限
執行以下命令,給 `pxe.sh` 文件賦予執行權限:
```bash
sudo chmod +x /usr/local/bin/pxe.sh
```
#### 3. 創建別名
創建一個 `pxe` 的別名,讓你能夠簡單地通過輸入 `pxe` 來執行這個腳本
首先返回 **root** 目錄
```bash
cd /root
```
接著編輯配置文件
```bash
nano ~/.bashrc
```
在文件的末尾添加以下內容:
```bash
alias pxe="/usr/local/bin/pxe.sh"
```
然後存檔退出
#### 4. 重新加載配置文件
執行以下命令來重新加載配置文件:
```bash
source ~/.bashrc
```
#### 5.測試
輸入:
```bash
pxe
```
看看是否成功執行
## 設定開機啟動
使用 cron 設置開機自動執行
#### 設置cron文件
輸入:
```bash
sudo crontab -e
```
#### a.若無法執行 **crontab** ,請安裝 **cron**
```bash
sudo apt update
sudo apt install cron
```
#### b.啟動 **cron** 服務:
```bash
sudo systemctl enable cron
sudo systemctl start cron
```
#### c.確保 cron 服務正在運行:
```
sudo systemctl status cron
```
#### d.現在,試著重新執行 **crontab -e**:
```bash
crontab -e
```
在cron文件末行添加:
```
@reboot /usr/local/bin/pxe.sh
```
存檔離開
2024年12月12日 星期四
2024年11月11日 星期一
Linux 自定義命令
## 1. 創建一個 shell 腳本
首先,創建一個腳本文件,例如 pxe.sh:
```bash
nano /usr/local/bin/pxe.sh
```
## 2. 編輯腳本內容 在 pxe.sh 文件中輸入以下內容: ```bash #!/bin/bash cd /root/iventoy || exit 1 sudo bash iventoy.sh start cd /root || exit 1 ``` 這段代碼的功能是: - 切換到 `/root/iventoy` 目錄。 - 執行 `sudo bash iventoy.sh start` 命令。 - 再切換回 `/root` 目錄。
`|| exit 1` 是用來確保如果任何一個 `cd` 命令失敗,腳本會停止執行。
## 3. 保存並退出 保存文件並退出編輯器(如果是 `nano`,可以按 `Ctrl + X`,然後按 `Y` 來確認保存,再按 `Enter`)。
## 4. 給腳本賦予執行權限 運行以下命令,給 `pxe.sh` 文件賦予執行權限: ```bash sudo chmod +x /usr/local/bin/pxe.sh ```
## 5. 創建別名 接著,創建一個 `pxe` 的別名,讓你能夠簡單地通過輸入 `pxe` 來執行這個腳本。編輯你的 `shell` 配置文件,例如 `.bashrc` 或 `.zshrc`(視乎你使用的 `shell`): ```bash nano ~/.bashrc ``` 在文件的末尾添加以下行: ```bash alias pxe="/usr/local/bin/pxe.sh" ```
## 6. 重新加載配置文件 保存並退出編輯器,然後執行以下命令來重新加載你的配置文件: ```bash source ~/.bashrc ```
## 7. 測試 現在,只需要在終端中輸入 `pxe`,它會自動執行想要的命令: ```bash pxe ```
## 2. 編輯腳本內容 在 pxe.sh 文件中輸入以下內容: ```bash #!/bin/bash cd /root/iventoy || exit 1 sudo bash iventoy.sh start cd /root || exit 1 ``` 這段代碼的功能是: - 切換到 `/root/iventoy` 目錄。 - 執行 `sudo bash iventoy.sh start` 命令。 - 再切換回 `/root` 目錄。
`|| exit 1` 是用來確保如果任何一個 `cd` 命令失敗,腳本會停止執行。
## 3. 保存並退出 保存文件並退出編輯器(如果是 `nano`,可以按 `Ctrl + X`,然後按 `Y` 來確認保存,再按 `Enter`)。
## 4. 給腳本賦予執行權限 運行以下命令,給 `pxe.sh` 文件賦予執行權限: ```bash sudo chmod +x /usr/local/bin/pxe.sh ```
## 5. 創建別名 接著,創建一個 `pxe` 的別名,讓你能夠簡單地通過輸入 `pxe` 來執行這個腳本。編輯你的 `shell` 配置文件,例如 `.bashrc` 或 `.zshrc`(視乎你使用的 `shell`): ```bash nano ~/.bashrc ``` 在文件的末尾添加以下行: ```bash alias pxe="/usr/local/bin/pxe.sh" ```
## 6. 重新加載配置文件 保存並退出編輯器,然後執行以下命令來重新加載你的配置文件: ```bash source ~/.bashrc ```
## 7. 測試 現在,只需要在終端中輸入 `pxe`,它會自動執行想要的命令: ```bash pxe ```
2024年11月10日 星期日
Linux 修改系統語言
### 打開配置檔案
```
sudo nano /etc/default/locale
```
內容修改成
```
LANG="zh_TW.UTF-8"
LANGUAGE="zh_TW:zh"
```
存檔退出
###初始化配置
```
source /etc/default/locale
```
完成!
2024年7月31日 星期三
Windows Diskpart指令整理
markdown
##列出磁碟清單
顯示所有磁碟機
```
list disk
```
##選取磁碟
命令中的 * 需替換為需要清理的磁碟機的編號。確保編號正確,否則將導致清理錯誤的磁碟。
```
select disk *
```
##清理
清除所選取的硬碟,執行後磁碟機中的所有檔案和資料夾將被永久性清除。
```
clean
```
##初始化磁區
```
create partition primary align=1024
```
##列出磁區清單
顯示所有磁區
```
list partition
```
##選取磁區
```
select partition *
```
##啟用磁區
```
active
```
##格式化,以4k對齊
```
format fs=ntfs unit=4096 quick
```
###參考資料
https://ofeyhong.pixnet.net/blog/post/86252265
https://exfast.me/2016/10/apply-ssd-4k-alignment/
https://recoverit.wondershare.com/tw/format-hard-drive/format-hard-drive-diskpart-cmd.html
2024年1月29日 星期一
Nextcloud AIO 安裝紀錄
## 官網
[https://github.com/nextcloud/all-in-one](https://github.com/nextcloud/all-in-one)
## 官方文檔說明
[https://github.com/nextcloud/all-in-one/blob/main/readme.md](https://github.com/nextcloud/all-in-one/blob/main/readme.md)
---
## 前置準備
- 需要一個網域
- 家用網路架設需使用反向代理
- 非固定式IP需DDNS工具隨時更新本機IP
## 系統需求
- 最低需求:2GB RAM、雙核CPU、40GB儲存空間
- 每啟用一個可選容器功能時需額外增加1G RAM
- Talk功能需額外增加2個CPU核心
- 建議需求:5GB RAM以上、40GB以上儲存空間
---
## Docker compose
``` yaml=
version: "3"
volumes:
nextcloud_aio_mastercontainer:
name: nextcloud_aio_mastercontainer
services:
nextcloud:
image: nextcloud/all-in-one:latest
restart: unless-stopped
container_name: nextcloud-aio-mastercontainer
volumes:
- nextcloud_aio_mastercontainer:/mnt/docker-aio-config
- /var/run/docker.sock:/var/run/docker.sock:ro
ports:
- 8080:8080
environment:
- APACHE_PORT=11000
- SKIP_DOMAIN_VALIDATION=true #略過網域驗證
```
由於配合備份及回復功能,須以 **docker volumes** 形式建立持久化儲存,無法以 **Bind mount** 方式掛載於指定位置。
**volumes** 預設存放位置為:
```bash=
/$path/docker/volumes
```
如果網域託管於Cloudflare將無法驗證,所以須使用環境變量略過網域驗證。
``` yaml=
SKIP_DOMAIN_VALIDATION=true
```
### 其他紀錄,待整理...
找回web管理密碼
```shell=
sudo docker exec nextcloud-aio-mastercontainer grep password /mnt/docker-aio-config/data/configuration.json
```
備份檔路徑
```shell=
/mnt/backup/borg
```
2024年1月19日 星期五
WingetUI 套件管理工具
markdown
## WingetUI
為 Windows 10 和 Windows 11 的Winget CLI 套件管理器建立的 GUI,類似於Linux套件管理工具、Ubuntu軟體商店,可搜尋、安裝、更新、移除各類應用程式
---
##安裝方式:
在 PowerShell 或是 CMD 輸入:
```shell=
winget install SomePythonThings.WingetUIStore
```
或是在[github專案頁面](https://github.com/marticliment/WingetUI/releases/tag/2.2.0)下載
---
參考資料
[https://github.com/marticliment/WingetUI](https://github.com/marticliment/WingetUI)
2024年1月2日 星期二
TurnKey GNU/Linux 安裝 docker & dockge
## 套件安裝
使用瀏覽器登入**https://ip:12321/**,在Webmin管理頁面左側,**系統**->**軟體套件**,右方點選**Package from APT** 。
點選**Search APT ..**,搜尋**docker.io**、**docker-compose**,並安裝。
安裝完成後,依照[dockeg](https://github.com/louislam/dockge)官方建議下載腳本安裝。
若安裝過程跳出 **apparmor_parser** 相關錯誤無法起動,則在軟體套件安裝 **apparmor-utils** 即可。
參考資料
[https://github.com/louislam/dockge](https://github.com/louislam/dockge)
[https://stackoverflow.com/questions/58393628/docker-error-response-from-daemon-apparmor-enabled-on-system-but-the-docker-de](https://stackoverflow.com/questions/58393628/docker-error-response-from-daemon-apparmor-enabled-on-system-but-the-docker-de)
Jellyfin的docker安裝
本文以Intel iGPU配合硬體解碼。
## 前置準備
查詢render組編號並記錄下來,指令如下。
```
getent group render | cut -d: -f3
```
準備一個支援中文的字型檔,例如:**NotoSansCJK-Regular.ttc**,並複製七份其中六個改名如下。
- **DejaVuSans.ttf**
- **DejaVuSans-Bold.ttf**
- **DejaVuSansMono.ttf**
- **DejaVuSansMono-Bold.ttf**
- **DejaVuSerif.ttf**
- **DejaVuSerif-Bold.ttf**
在系統字型資料夾下創建名為dejavu資料夾,並把上述七個字型檔案放入。
```
/usr/share/fonts/dejavu
```
查詢顯卡設備文件是否存在,路徑如下,若不存在需安裝顯示驅動。
```
/dev/dri/renderD128
```
---
## compose內容
```yaml=
version: "3"
services:
jellyfin:
image: jellyfin/jellyfin
environment:
- PUID=1000
- PGID=100
- TZ=Asia/Taipei
group_add:
- "100" #將用getent group render | cut -d: -f3查詢的指令填入,每台電腦都可能不一樣
volumes:
- /srv/link/appdata/jellyfin/config:/config #jellyfin設定檔位置
- /srv/link/appdata/jellyfin/cache:/cache #jellyfin暫存檔位置
- /usr/share/fonts/dejavu:/usr/share/fonts/dejavu #掛載字體
- /srv/link/video/media1:/media1 #掛載影片位置可以配置多個
- /srv/link/video/media2:/media2
devices:
- /dev/dri/renderD128:/dev/dri/renderD128 #配置解碼
ports:
- 8096:8096
restart: unless-stopped
```
---
## 參考資料
[https://jellyfin.org/docs/general/administration/hardware-acceleration/intel](https://jellyfin.org/docs/general/administration/hardware-acceleration/intel)
[https://jellyfin.org/docs/general/installation/container](https://jellyfin.org/docs/general/installation/container)
訂閱:
文章 (Atom)