2024年12月12日 星期四

iVentoy在linux設置快捷命令以及開機啟動

## 下載&執行 首先在官網下載 **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年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 ```

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)