<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>George &#8211; CAPDIO</title>
	<atom:link href="https://www.capdio.com/author/mainland/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.capdio.com</link>
	<description>遊戲開發 Studio</description>
	<lastBuildDate>Sun, 12 Apr 2026 07:25:35 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://www.capdio.com/wp-content/uploads/2024/06/cropped-capdio-favicon-white-32x32.png</url>
	<title>George &#8211; CAPDIO</title>
	<link>https://www.capdio.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Cocos creator 推薦你的第一款手遊 Demo</title>
		<link>https://www.capdio.com/programming-language/javascript/cocos-creator-%e6%8e%a8%e8%96%a6%e4%bd%a0%e7%9a%84%e7%ac%ac%e4%b8%80%e6%ac%be%e6%89%8b%e9%81%8a-demo/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=cocos-creator-%25e6%258e%25a8%25e8%2596%25a6%25e4%25bd%25a0%25e7%259a%2584%25e7%25ac%25ac%25e4%25b8%2580%25e6%25ac%25be%25e6%2589%258b%25e9%2581%258a-demo</link>
		
		<dc:creator><![CDATA[George]]></dc:creator>
		<pubDate>Sun, 12 Apr 2026 07:24:10 +0000</pubDate>
				<category><![CDATA[Cocos Creator]]></category>
		<category><![CDATA[JavaScript / TypeScript]]></category>
		<guid isPermaLink="false">https://www.capdio.com/?p=1915</guid>

					<description><![CDATA[除了可以照著影片中的步驟完成這一個小遊戲之外, 作者也有提供 pdf (Build_Your_First_Game_With_Cocos_Creator.pdf) 檔案說明喔! 有興趣的人可以到 cocos dashboard 裡面的 store 收尋 CocosGallery 這個分類(作者/關鍵字) 就可以找到這一個 project 並進行下載(應該是最後一頁). 有關專案內會用的資源檔案, 作者有標注可以到以下網址取得https://github.com/samuelcust/flappy-bird-assets 由於遊戲內有用到特殊字體, 因此也需要特別下載使用, 作者提供的 url 如下https://www.fontspace.com/flappy-bird-font-f21349 PS: 如果對於英文內容非常苦手的話, 站長未來另外也會提供中文與日文的解說影片.]]></description>
										<content:encoded><![CDATA[
<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe title="Build Your First Game With Cocos Creator in 3 Hours!" width="1170" height="658" src="https://www.youtube.com/embed/zQBOxCUclx8?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>



<p>除了可以照著影片中的步驟完成這一個小遊戲之外, 作者也有提供 pdf (Build_Your_First_Game_With_Cocos_Creator.pdf) 檔案說明喔! 有興趣的人可以到 cocos dashboard 裡面的 store 收尋 CocosGallery 這個分類(作者/關鍵字) 就可以找到這一個 project 並進行下載(應該是最後一頁).</p>



<p>有關專案內會用的資源檔案, 作者有標注可以到以下網址取得<br><a href="https://github.com/samuelcust/flappy-bird-assets">https://github.com/samuelcust/flappy-bird-assets</a></p>



<p>由於遊戲內有用到特殊字體, 因此也需要特別下載使用, 作者提供的 url 如下<br><a href="https://www.fontspace.com/flappy-bird-font-f21349">https://www.fontspace.com/flappy-bird-font-f21349</a></p>



<p>PS: 如果對於英文內容非常苦手的話, 站長未來另外也會提供中文與日文的解說影片.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>使用 GitHub 當作小型團隊的開發中心</title>
		<link>https://www.capdio.com/programming-language/%e8%bb%9f%e9%ab%94%e9%96%8b%e7%99%bc%e7%9f%a5%e8%ad%98%e5%ba%ab/%e4%bd%bf%e7%94%a8-github-%e7%95%b6%e4%bd%9c%e5%b0%8f%e5%9e%8b%e5%9c%98%e9%9a%8a%e7%9a%84%e9%96%8b%e7%99%bc%e4%b8%ad%e5%bf%83/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=%25e4%25bd%25bf%25e7%2594%25a8-github-%25e7%2595%25b6%25e4%25bd%259c%25e5%25b0%258f%25e5%259e%258b%25e5%259c%2598%25e9%259a%258a%25e7%259a%2584%25e9%2596%258b%25e7%2599%25bc%25e4%25b8%25ad%25e5%25bf%2583</link>
					<comments>https://www.capdio.com/programming-language/%e8%bb%9f%e9%ab%94%e9%96%8b%e7%99%bc%e7%9f%a5%e8%ad%98%e5%ba%ab/%e4%bd%bf%e7%94%a8-github-%e7%95%b6%e4%bd%9c%e5%b0%8f%e5%9e%8b%e5%9c%98%e9%9a%8a%e7%9a%84%e9%96%8b%e7%99%bc%e4%b8%ad%e5%bf%83/#respond</comments>
		
		<dc:creator><![CDATA[George]]></dc:creator>
		<pubDate>Tue, 11 Nov 2025 11:06:11 +0000</pubDate>
				<category><![CDATA[軟體開發知識庫]]></category>
		<guid isPermaLink="false">https://www.capdio.com/?p=1893</guid>

					<description><![CDATA[我們可以透過 GitHub 的私有儲存庫 (Private Repository) 與權限控管來設定符合需求的環境 確切的來說我們只要執行兩個主要步驟：1. 管理「協作者 (Collaborators)」的權限：這能精確控制誰可以「修改」程式碼2. 將儲存庫 (Repository) 設為「私有 (Private)」：這能確保非團隊人員「無法觀看」 首先我們要知道 repository(儲存庫)有分享種:Public (公開): 任何人都可以觀看、下載Private (私有): 只有您和您邀請的人才能觀看。 以下我們假設你在創建一個新的儲存褲來進行 SOP 解說 預期成效: 您的需求 解決方案 非團隊人員無法觀看 設定儲存庫為&#160;Private 非團隊人員無法修改 (已由 Private 解決) 團隊成員可以觀看 (但不能改) 邀請為 Collaborator 並給予&#160;Read&#160;權限&#8230;]]></description>
										<content:encoded><![CDATA[
<p>我們可以透過 GitHub 的<strong>私有儲存庫 (Private Repository)</strong> 與<strong>權限控管</strong>來設定符合需求的環境</p>



<p>確切的來說我們只要執行兩個主要步驟：<br><strong>1. 管理「協作者 (Collaborators)」的權限</strong>：這能精確控制誰可以「修改」程式碼<br>2. <strong>將儲存庫 (Repository) 設為「私有 (Private)」</strong>：這能確保非團隊人員「無法觀看」</p>



<p>首先我們要知道 repository(儲存庫)有分享種:<br><strong>Public (公開)</strong>: 任何人都可以觀看、下載<br><strong>Private (私有)</strong>: 只有您和您邀請的人才能觀看。</p>



<p>以下我們假設你在創建一個新的儲存褲來進行 SOP 解說</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-plain"><code>1. 在 GitHub 建立新儲存庫 (New Repository) 時,
在 &quot;Owner&quot; 和 &quot;Repository name&quot; 下方，您會看到 Public 和 Private 的選項
請務必選擇 Private

2. 管理團隊成員與權限
將專案設為 Private 後，預設只有您（擁有者）看得到。您需要手動將您的團隊成員加進來。
進入您的 Private 儲存庫頁面。
點選 Settings (設定)。
在左側選單中，點選 Collaborators and teams (協作者與團隊)。
點擊 Add people (新增人員) 按鈕，然後輸入您團隊成員的 GitHub 使用者名稱、Email 或全名來邀請他們。

** 有關權限的管理 **
在邀請他們時，您可以指定他們的權限，這對「控制修改」至關重要：
  Read (讀取)：
    可以：觀看、下載、複製 (Fork) 程式碼。
    不可以：推送 (Push) 任何修改。
    (適用於：需要觀看程式碼但不需要修改的專案經理、QA 人員或實習生。)

  Write (寫入)：
    可以：觀看、下載、推送 (Push) 修改。
    (適用於：您的核心開發團隊成員。)

  Admin (管理)：
    可以：包含 Write 的所有權限，外加可以修改儲存庫設定、管理協作者等。
    (適用於：專案負責人、主要管理者。)

修改後的效果:
非團隊人員 -&gt; 因為專案是 Private，他們完全看不到
需要觀看但不能改的人 -&gt; 邀請並給予 Read 權限
需要開發的人 -&gt; 邀請並給予 Write 權限

== 補充 ==
保護主要分支 (Branch Protection)
有時候，即使是擁有 Write 權限的團隊成員，我們也不希望他們「隨意」將程式碼推送到主要分支
 (例如 main 或 master)，因為這可能會弄亂專案。

您可以設定「分支保護規則 (Branch Protection Rule)」來解決這個問題:
在 Settings &gt; Branches (分支) 中, 為您的 main 分支新增一條規則。
強烈建議勾選:
Require a pull request before merging (合併前需要拉取請求)
  這會禁止所有人 (包括 Admin) 直接 Push 到 main 分支
  所有變更都必須透過 Pull Request (PR) 的流程來提交

Require approvals (需要審核)：
  設定 PR 至少需要 1 人 (或 2 人) 審核 (Review) 並「批准 (Approve)」後，才能合併到 main 分支</code></pre></div>



<p>預期成效:</p>



<figure class="wp-block-table"><div class="pcrstb-wrap"><table class="has-fixed-layout"><thead><tr><td><strong>您的需求</strong></td><td><strong>解決方案</strong></td></tr></thead><tbody><tr><td><strong>非團隊人員</strong>無法觀看</td><td>設定儲存庫為&nbsp;<strong>Private</strong></td></tr><tr><td><strong>非團隊人員</strong>無法修改</td><td>(已由 Private 解決)</td></tr><tr><td><strong>團隊成員</strong>可以觀看 (但不能改)</td><td>邀請為 Collaborator 並給予&nbsp;<strong>Read</strong>&nbsp;權限</td></tr><tr><td><strong>團隊成員</strong>可以觀看和修改</td><td>邀請為 Collaborator 並給予&nbsp;<strong>Write</strong>&nbsp;權限</td></tr><tr><td><strong>團隊成員</strong>可以修改，但要有<strong>審核</strong></td><td>使用&nbsp;<strong>Branch Protection Rule</strong>&nbsp;(強制 PR + 審核)</td></tr></tbody></table></div></figure>
]]></content:encoded>
					
					<wfw:commentRss>https://www.capdio.com/programming-language/%e8%bb%9f%e9%ab%94%e9%96%8b%e7%99%bc%e7%9f%a5%e8%ad%98%e5%ba%ab/%e4%bd%bf%e7%94%a8-github-%e7%95%b6%e4%bd%9c%e5%b0%8f%e5%9e%8b%e5%9c%98%e9%9a%8a%e7%9a%84%e9%96%8b%e7%99%bc%e4%b8%ad%e5%bf%83/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>i++ 與 ++i 的差別是什麼？</title>
		<link>https://www.capdio.com/uncategorized/i-%e8%88%87-i-%e7%9a%84%e5%b7%ae%e5%88%a5%e6%98%af%e4%bb%80%e9%ba%bc%ef%bc%9f/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=i-%25e8%2588%2587-i-%25e7%259a%2584%25e5%25b7%25ae%25e5%2588%25a5%25e6%2598%25af%25e4%25bb%2580%25e9%25ba%25bc%25ef%25bc%259f</link>
					<comments>https://www.capdio.com/uncategorized/i-%e8%88%87-i-%e7%9a%84%e5%b7%ae%e5%88%a5%e6%98%af%e4%bb%80%e9%ba%bc%ef%bc%9f/#respond</comments>
		
		<dc:creator><![CDATA[George]]></dc:creator>
		<pubDate>Mon, 21 Jul 2025 03:24:00 +0000</pubDate>
				<category><![CDATA[Uncategorized]]></category>
		<guid isPermaLink="false">https://www.capdio.com/?p=1773</guid>

					<description><![CDATA[PS: 如果你執行 node jsdemo.js 出錯, 那代表你的環境沒有 node.js 的執行環境. 請先進行設定後再回來執行 OK! 那麼為什麼 A 是 1. B 是 1, 但是 AA 卻是 0, BB 仍然是 1 呢?因為 A++ 代表 A = A + 1 的執行會在這一行結束後才進行.AA = A++&#8230;]]></description>
										<content:encoded><![CDATA[
<div class="hcb_wrap"><pre class="prism line-numbers lang-plain"><code># 首先不管在那一個現代化的 source code 當中我們常常會看到類似的寫法, 
# 但是他有什麼不同, 我們這邊就用一個簡單的例子來做說明
# 首先我們先來看一段程式碼, 這邊就先採用 python 來撰寫範例..... 等等 
# python 不支援 a++ 這樣的語法, 只能用 a += 1
# 好吧!!! 這邊就用 javascript 來當範例好了

nano jsdemo.js

# 內容如下
var A = 0;
var B = 0;
A++;
++B;
console.log(&quot;A: &quot; + A + &quot;, B: &quot; + B)

A = 0;
B = 0;
AA = A++;
BB = ++B;
console.log(&quot;AA: &quot; + AA + &quot;, BB: &quot; + BB)

# 存檔後, 直接執行
node jsdemo.js

# 我們看到輸出的是
A: 1, B: 1
AA: 0, BB: 1
</code></pre></div>



<p>PS: 如果你執行 node jsdemo.js 出錯, 那代表你的環境沒有 node.js 的執行環境. 請先進行設定後再回來執行</p>



<p>OK! 那麼為什麼 A 是 1. B 是 1, 但是 AA 卻是 0, BB 仍然是 1 呢?<br>因為 A++ 代表 A = A + 1 的執行會在這一行結束後才進行.<br>AA = A++ => AA = (0), A = 1;<br>而 ++B 則代表 B = B + 1 先執行後再帶入這一行的方程式<br>BB = ++B => BB = (0 + 1) => BB = 1, B = 1<br>有點類似 ++B => (B = B + 1), 括弧內要先執行的意思 </p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-plain"><code># 以下 js code 你可以自己試試看觀念是否正確喔!!
var A = 1;
var B = 1;
var AA = 0;
var BB = 0;

AA = A++ + A++;
BB = ++B + B++;

console.log(&quot;AA: &quot; + AA + &quot;, BB: &quot; + BB)

# 結果印出如下
AA: 3, BB: 4

# 以上為什麼是 3, 為什麼是 4. 解說如下
AA = (1) + (2) = 3 此行結束時的 A 已成為 3
BB = (2) + (2) = 4 此行結束時的 B 已成為 3
</code></pre></div>



<p>參考資料: https://ithelp.ithome.com.tw/articles/10192800</p>



<p></p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.capdio.com/uncategorized/i-%e8%88%87-i-%e7%9a%84%e5%b7%ae%e5%88%a5%e6%98%af%e4%bb%80%e9%ba%bc%ef%bc%9f/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>安裝 Transmission 將 Ubuntu 24.04/22.04 轉生成為下載 伺服器</title>
		<link>https://www.capdio.com/servertech/linux/%e5%ae%89%e8%a3%9d-transmission-%e5%b0%87-ubuntu-24-04-22-04-%e8%bd%89%e7%94%9f%e6%88%90%e7%82%ba%e4%b8%8b%e8%bc%89-%e4%bc%ba%e6%9c%8d%e5%99%a8/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=%25e5%25ae%2589%25e8%25a3%259d-transmission-%25e5%25b0%2587-ubuntu-24-04-22-04-%25e8%25bd%2589%25e7%2594%259f%25e6%2588%2590%25e7%2582%25ba%25e4%25b8%258b%25e8%25bc%2589-%25e4%25bc%25ba%25e6%259c%258d%25e5%2599%25a8</link>
					<comments>https://www.capdio.com/servertech/linux/%e5%ae%89%e8%a3%9d-transmission-%e5%b0%87-ubuntu-24-04-22-04-%e8%bd%89%e7%94%9f%e6%88%90%e7%82%ba%e4%b8%8b%e8%bc%89-%e4%bc%ba%e6%9c%8d%e5%99%a8/#respond</comments>
		
		<dc:creator><![CDATA[George]]></dc:creator>
		<pubDate>Fri, 04 Jul 2025 10:21:27 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<guid isPermaLink="false">https://www.capdio.com/?p=1868</guid>

					<description><![CDATA[這次我們選擇要安裝的套件是 Transmission, https://transmissionbt.com/想知道這玩意有什麼特殊之處, 除了馬上安裝來玩看看之外, 也可以到官網上去看看詳細的說明喔!那麼接下來我們就趕緊進入到安裝的環節了吧! 首先透過 Terminal 連上去你的 ubuntu linux server 以上安裝 SOP 完成之後, 下一步當然就是做一些設定檔 config 的調整, 首先預設的下載檔案放置資料匣為 /var/lib/transmission-daemon/downloads/. 有些人會設置到他處, 好比說 ~/downloads. 那麼以下我們就以如果我們要更改下載資料匣到非預設的位置該怎麼做來示範 以上都完成之後就可以再次的啟動服務, 還記得我們剛剛說的在進行設定檔的調整時, 需先將服務關閉. 完成設定檔的調整與存檔後再重新將服務啟動. 接下來我們就可以透過 http://ubuntu_server_ip:9091 來進行服務的操作 透過左上叫的 + 就可上傳你的 torrent, 並等著下載完成囉!!!&#8230;]]></description>
										<content:encoded><![CDATA[
<p>這次我們選擇要安裝的套件是 Transmission, <a href="https://transmissionbt.com/">https://transmissionbt.com/</a><br>想知道這玩意有什麼特殊之處, 除了馬上安裝來玩看看之外, 也可以到官網上去看看詳細的說明喔!<br>那麼接下來我們就趕緊進入到安裝的環節了吧! 首先透過 Terminal 連上去你的 ubuntu linux server</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-plain"><code># 安裝所需套件
sudo apt install transmission-daemon

# 將此 service 設定為開機自動啟動的服務項目之一
systemctl enable transmission-daemon

# 接下來當然是立刻將服務啟動
systemctl start transmission-daemon
# or 
service transmission-daemon start</code></pre></div>



<p>以上安裝 SOP 完成之後, 下一步當然就是做一些設定檔 config 的調整, 首先預設的下載檔案放置資料匣為 /var/lib/transmission-daemon/downloads/. 有些人會設置到他處, 好比說 ~/downloads. 那麼以下我們就以如果我們要更改下載資料匣到非預設的位置該怎麼做來示範</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-plain"><code># 首先建立要放置的位置, 我把假設目前使用的帳號是 happy2025
mkdir -p ~/downloads
# or
mkdir -p /home/happy2025/downloads

# 修改權限
chmod g+rw ~/downloads

# 將 transmission 的服務執行者帳號加入到你帳號的群組內, 這邊預設你不是用 root 帳號在執行喔!
sudo gpasswd --add debian-transmission $USER

# 以上就完成了 &quot;自選下載資料匣的準備工作&quot;, 接下來要進行 config 檔的設定
sudo vi /etc/transmission-daemon/settings.json
# 這邊特別注意一下, 如果你的服務正在啟動中, 請先關閉在進行 config 內容的的條整
# 否則你修改的內容在服務重新啟動後就會被複寫回原樣 !!!!

# 進入設定檔之後找到以下內容進行相關的修改
# 首先是下載的目錄, 有分已完成與未完成下載中的部分, 如你用預設路徑就不用管他,
# 如果你有使用如上方說名字記創建下載目錄的話, 就請你依需求修改
&quot;download-dir&quot;: &quot;/home/happy2025/downloads&quot;,
&quot;incomplete-dir&quot;: &quot;/home/happy2025/downloads&quot;,

# 以下保持或設定為 true
&quot;incomplete-dir-enabled&quot;: true,

# 之後服務設定完成之後我們可以夠過 http://ubuntu_server_ip:9091 來進行服務的使用
# 以下我們就來進行相關的設定
# 如你需要使用此服務時需要登入帳號密碼, 就將下方改為 true 並修改帳號與密碼
# 這邊我們示範的是不使用帳號密碼的情形
&quot;rpc-authentication-required&quot;: false,
&quot;rpc-enabled&quot;: true,
&quot;rpc-whitelist-enabled&quot;: false,

# 完成請直接存檔跳出</code></pre></div>



<p>以上都完成之後就可以再次的啟動服務, 還記得我們剛剛說的在進行設定檔的調整時, 需先將服務關閉. 完成設定檔的調整與存檔後再重新將服務啟動. 接下來我們就可以透過 http://ubuntu_server_ip:9091 來進行服務的操作</p>



<figure class="wp-block-image size-large"><img fetchpriority="high" decoding="async" width="1024" height="337" src="https://www.capdio.com/wp-content/uploads/2025/07/Screenshot-2025-07-04-at-6.19.14 PM-1024x337.png" alt="" class="wp-image-1875" srcset="https://www.capdio.com/wp-content/uploads/2025/07/Screenshot-2025-07-04-at-6.19.14 PM-1024x337.png 1024w, https://www.capdio.com/wp-content/uploads/2025/07/Screenshot-2025-07-04-at-6.19.14 PM-300x99.png 300w, https://www.capdio.com/wp-content/uploads/2025/07/Screenshot-2025-07-04-at-6.19.14 PM-768x253.png 768w, https://www.capdio.com/wp-content/uploads/2025/07/Screenshot-2025-07-04-at-6.19.14 PM-1536x505.png 1536w, https://www.capdio.com/wp-content/uploads/2025/07/Screenshot-2025-07-04-at-6.19.14 PM-2048x674.png 2048w, https://www.capdio.com/wp-content/uploads/2025/07/Screenshot-2025-07-04-at-6.19.14 PM-1920x632.png 1920w, https://www.capdio.com/wp-content/uploads/2025/07/Screenshot-2025-07-04-at-6.19.14 PM-1170x385.png 1170w, https://www.capdio.com/wp-content/uploads/2025/07/Screenshot-2025-07-04-at-6.19.14 PM-585x192.png 585w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p>透過左上叫的 + 就可上傳你的 torrent, 並等著下載完成囉!!! 是不是很輕鬆愉快呢?</p>



<p>BTW 啟動服務之後如果出現 &#8220;transmission-daemon times out when launched by systemd&#8221; 可參考以下解法</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-plain"><code># 此問題這邊有參考的討論串 https://github.com/transmission/transmission/issues/6991
# 使用以下指令進行服務內容調整
systemctl edit --full transmission-daemon.service

# 接下來將 Type=notify 改為 Type=simple 並重新啟動服務即可!</code></pre></div>



<p>ㄑ參考資料:<br><a href="https://ubuntuhandbook.org/index.php/2023/08/set-up-transmission-daemon-ubuntu-2204/" target="_blank" rel="noreferrer noopener">https://ubuntuhandbook.org/index.php/2023/08/set-up-transmission-daemon-ubuntu-2204/<br></a><a href="https://askubuntu.com/questions/1527761/transmission-daemon-times-out-when-launched-by-systemd" target="_blank" rel="noreferrer noopener">https://askubuntu.com/questions/1527761/transmission-daemon-times-out-when-launched-by-systemd</a></p>



<p></p>



<p></p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.capdio.com/servertech/linux/%e5%ae%89%e8%a3%9d-transmission-%e5%b0%87-ubuntu-24-04-22-04-%e8%bd%89%e7%94%9f%e6%88%90%e7%82%ba%e4%b8%8b%e8%bc%89-%e4%bc%ba%e6%9c%8d%e5%99%a8/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>umount 時出現 Device is busy 的解決辦法</title>
		<link>https://www.capdio.com/uncategorized/umount-%e6%99%82%e5%87%ba%e7%8f%be-device-is-busy-%e7%9a%84%e8%a7%a3%e6%b1%ba%e8%be%a6%e6%b3%95/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=umount-%25e6%2599%2582%25e5%2587%25ba%25e7%258f%25be-device-is-busy-%25e7%259a%2584%25e8%25a7%25a3%25e6%25b1%25ba%25e8%25be%25a6%25e6%25b3%2595</link>
					<comments>https://www.capdio.com/uncategorized/umount-%e6%99%82%e5%87%ba%e7%8f%be-device-is-busy-%e7%9a%84%e8%a7%a3%e6%b1%ba%e8%be%a6%e6%b3%95/#respond</comments>
		
		<dc:creator><![CDATA[George]]></dc:creator>
		<pubDate>Thu, 03 Jul 2025 03:08:30 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[fuser]]></category>
		<category><![CDATA[lsof]]></category>
		<guid isPermaLink="false">https://www.capdio.com/?p=1824</guid>

					<description><![CDATA[當我們的 Linux 系統有設定掛載一些遠端的磁碟的時候, 如果你已經不需要他時想要進行卸載, 這個時候你可能會遇到系統告訴你, 該裝置正在忙碌, 無法卸載的狀況( Device is busy ). 那我們該怎麼解決呢? 參考資料:https://coldnew.github.io/d4a5e389/]]></description>
										<content:encoded><![CDATA[
<p>當我們的 Linux 系統有設定掛載一些遠端的磁碟的時候, 如果你已經不需要他時想要進行卸載, 這個時候你可能會遇到系統告訴你, 該裝置正在忙碌, 無法卸載的狀況( Device is busy ). 那我們該怎麼解決呢?</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-plain"><code># 首先會卡住不讓你卸載一定是因為有人正在使用該掛載目錄, 所以找出來結束他就是處理方向
# 方法 1, 使用 fuser, 如果發現無此指令的話可透過 &quot;apt-get install psmisc&quot; 安裝
# 如果我們掛載的資料匣是 /mntHere/, 則指令為
fuser -mv /mntHere/

# 接下來你會看到是哪一個 process ID 在使用它

# 那麼確定沒有還需要等待結束的 process 後, 我們就來將為結束且不需要的 process 關閉
fuser -kv /mntHere/

# 接下來可以再次查看有無其他的 process 使用它
fuser -mv /mntHere/

# 最後就直接卸載它吧
umount /mnthere/</code></pre></div>



<div class="hcb_wrap"><pre class="prism line-numbers lang-plain"><code># 方法 2, 使用 lsof
lsof /mntHere/

# 找出 process ID, 再將它們刪除即可卸載, 將以下指令的 processID 改為你自己查出的 ID 喔!
kill processID

# 最後就直接卸載它吧
umount /mnthere/</code></pre></div>



<p>參考資料:<br>https://coldnew.github.io/d4a5e389/</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.capdio.com/uncategorized/umount-%e6%99%82%e5%87%ba%e7%8f%be-device-is-busy-%e7%9a%84%e8%a7%a3%e6%b1%ba%e8%be%a6%e6%b3%95/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>ubuntu 修改時間的方法</title>
		<link>https://www.capdio.com/servertech/linux/ubuntu-%e4%bf%ae%e6%94%b9%e6%99%82%e9%96%93%e7%9a%84%e6%96%b9%e6%b3%95/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=ubuntu-%25e4%25bf%25ae%25e6%2594%25b9%25e6%2599%2582%25e9%2596%2593%25e7%259a%2584%25e6%2596%25b9%25e6%25b3%2595</link>
					<comments>https://www.capdio.com/servertech/linux/ubuntu-%e4%bf%ae%e6%94%b9%e6%99%82%e9%96%93%e7%9a%84%e6%96%b9%e6%b3%95/#respond</comments>
		
		<dc:creator><![CDATA[George]]></dc:creator>
		<pubDate>Sun, 15 Jun 2025 03:28:26 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Asia/Taipei]]></category>
		<category><![CDATA[GMT]]></category>
		<category><![CDATA[timezone]]></category>
		<category><![CDATA[tzdata]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[UTC]]></category>
		<guid isPermaLink="false">https://www.capdio.com/?p=1847</guid>

					<description><![CDATA[有在使用 Linux 系統的人應該都知道如果系統時間不對, 有的時候一個失誤就會早成 log, 存檔的資料時間顯示錯亂, 特別是對程式開發人員如果有好的開發習慣在執行環境中事先指定時區那就不會有問題, 但如果一個不小心沒有去特別處理這個時區設定的工作, 結果就是時間軸怎麼怪怪的!!! 排程工作怎麼怪怪的!!! 以下我們就來透過幾個簡單的步驟對 Linux 系統進行設定 完成啦！ 以上兩個方法應該可以解決有關系統時間設定的問題, 如有其他問題也可留言討論! 時區相關參考資料:https://stackoverflow.com/questions/14128574/is-there-a-difference-between-the-utc-and-etc-utc-time-zones]]></description>
										<content:encoded><![CDATA[
<p>有在使用 Linux 系統的人應該都知道如果系統時間不對, 有的時候一個失誤就會早成 log, 存檔的資料時間顯示錯亂, 特別是對程式開發人員如果有好的開發習慣在執行環境中事先指定時區那就不會有問題, 但如果一個不小心沒有去特別處理這個時區設定的工作, 結果就是時間軸怎麼怪怪的!!!  排程工作怎麼怪怪的!!!  以下我們就來透過幾個簡單的步驟對 Linux 系統進行設定</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-plain"><code># 首先我們先了解一下幾個資訊
# 台灣時區是 GMT + 8, 也就是我們的時間是 Greenwich Mean Time Zone (格林威治標準時間) + 8 小時
# 台灣的時區是 Asia/Taipei 
# 設定時區有兩個方法, 示範說明如下

# &lt;&lt; 方法 1 &gt;&gt;
# 首先我們先透過指令查看目前系統的時間資訊
# 輸入 timedatectl, 獲得以下資訊
# ====================================================
               Local time: Sun 2025-06-15 00:40:03 UTC
           Universal time: Sun 2025-06-15 00:40:03 UTC
                 RTC time: Sun 2025-06-15 00:40:03
                Time zone: Etc/UTC (UTC, +0000)
System clock synchronized: yes
			  NTP service: active
		  RTC in local TZ: no
# ====================================================
# 從這邊你可以看到你的時區是 Etc/UTC (UTC, +0000)
# 首先什麼是 Etc/UTC, 他是這樣的格式來做顯示的內容 Area/Location
# 其實「etc/utc」代表的是「世界協調時間(Coordinated Universal Time)」的時區代碼，
# 等同於「UTC」. 在Linux系統中，etc/utc 是一個常見的時區設定檔，用來表示世界標準時間，
# 也就是說，它不隨任何國家或地區的時間變化而變化，始終與原子鐘計時的標準時間保持一致
# 接下可透過以下指令查看所有時區資料
timedatectl list-timezones

# 如果覺得資料量太大, 可以抓取關鍵字顯示, 以下示範抓取 &quot;Taipei&quot;
timedatectl list-timezones | grep Taipei

# 確定好要設定的時區代號, 就可立即來進行設定囉!
sudo timedatectl set-timezone Asia/Taipei

# 完成之後, 再次透過 timedatectl 查看目前的時區設定, 你會發現他已經轉換到 Taipei 了喔!</code></pre></div>



<div class="hcb_wrap"><pre class="prism line-numbers lang-plain"><code># &lt;&lt; 方法 2 &gt;&gt;
# 當你的系統沒有 systemd 時, 你就必須使用這第二個方法來設定時區
dpkg-reconfigure tzdata

# 接下來會跳出讓你選區域與城市的畫面, 選擇 Asia 與 Taipei
# 完成後回到指令介面, 你就會看到你的 Local time is now: XXXXX 顯示的就是正確的當地時間喔!!!!
</code></pre></div>



<p>完成啦！ 以上兩個方法應該可以解決有關系統時間設定的問題, 如有其他問題也可留言討論!</p>



<p>時區相關參考資料:<br><a href="https://stackoverflow.com/questions/14128574/is-there-a-difference-between-the-utc-and-etc-utc-time-zones">https://stackoverflow.com/questions/14128574/is-there-a-difference-between-the-utc-and-etc-utc-time-zones</a><br><br></p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.capdio.com/servertech/linux/ubuntu-%e4%bf%ae%e6%94%b9%e6%99%82%e9%96%93%e7%9a%84%e6%96%b9%e6%b3%95/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>如何透過 open-webui 製作出跟 chatgpt 類似的網頁對話 UI 與在本地端架設的 deespseek 互動</title>
		<link>https://www.capdio.com/artificial-intelligence/%e5%a6%82%e4%bd%95%e9%80%8f%e9%81%8e-open-webui-%e8%a3%bd%e4%bd%9c%e5%87%ba%e8%b7%9f-chatgpt-%e9%a1%9e%e4%bc%bc%e7%9a%84%e7%b6%b2%e9%a0%81%e5%b0%8d%e8%a9%b1-ui-%e8%88%87%e5%9c%a8%e6%9c%ac%e5%9c%b0/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=%25e5%25a6%2582%25e4%25bd%2595%25e9%2580%258f%25e9%2581%258e-open-webui-%25e8%25a3%25bd%25e4%25bd%259c%25e5%2587%25ba%25e8%25b7%259f-chatgpt-%25e9%25a1%259e%25e4%25bc%25bc%25e7%259a%2584%25e7%25b6%25b2%25e9%25a0%2581%25e5%25b0%258d%25e8%25a9%25b1-ui-%25e8%2588%2587%25e5%259c%25a8%25e6%259c%25ac%25e5%259c%25b0</link>
					<comments>https://www.capdio.com/artificial-intelligence/%e5%a6%82%e4%bd%95%e9%80%8f%e9%81%8e-open-webui-%e8%a3%bd%e4%bd%9c%e5%87%ba%e8%b7%9f-chatgpt-%e9%a1%9e%e4%bc%bc%e7%9a%84%e7%b6%b2%e9%a0%81%e5%b0%8d%e8%a9%b1-ui-%e8%88%87%e5%9c%a8%e6%9c%ac%e5%9c%b0/#respond</comments>
		
		<dc:creator><![CDATA[George]]></dc:creator>
		<pubDate>Sun, 08 Jun 2025 03:36:08 +0000</pubDate>
				<category><![CDATA[AI]]></category>
		<guid isPermaLink="false">https://www.capdio.com/?p=1855</guid>

					<description><![CDATA[本篇假設操作環境是 Ubuntu 來做說明, 首先要做到這件事有一些事前工作要準備, 第一個當然是你要有 deepseek 在 local 堆運作的相關設置, 如果沒有的話可以參考站上的另一篇說明: DeepSeek 想試試? 就來在自己的環境跑看看吧! 202506我們假設各位已經把相關環境架設完成, 理論上你目前電腦上的 11434 port 已經被 ollama 佔用了吧!! 如果沒有的話那就是你的 Deepseek 並沒有啟動喔, 可以透過 ollama run deepseek-r1:1.5b(版本代號) 啟動他!!! 如果要在背景執行可以加上 &#38;, OK! 在確定你的 ollama + deepseek&#8230;]]></description>
										<content:encoded><![CDATA[
<p>本篇假設操作環境是 Ubuntu 來做說明, 首先要做到這件事有一些事前工作要準備, 第一個當然是你要有 deepseek 在 local 堆運作的相關設置, 如果沒有的話可以參考站上的另一篇說明:  <a href="https://www.capdio.com/news-updates/deepseek-%e6%83%b3%e8%a9%a6%e8%a9%a6-%e5%b0%b1%e4%be%86%e5%9c%a8%e8%87%aa%e5%b7%b1%e7%9a%84%e7%92%b0%e5%a2%83%e8%b7%91%e7%9c%8b%e7%9c%8b%e5%90%a7-202506/" data-type="post" data-id="1849">DeepSeek 想試試? 就來在自己的環境跑看看吧! 202506</a><br>我們假設各位已經把相關環境架設完成, 理論上你目前電腦上的 11434 port 已經被 ollama 佔用了吧!! 如果沒有的話那就是你的 Deepseek 並沒有啟動喔, 可以透過 ollama run deepseek-r1:1.5b(版本代號) 啟動他!!! 如果要在背景執行可以加上 &amp;, OK! 在確定你的 ollama + deepseek 成功運作之後, 就可以開始往下走了喔!!!!</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-plain"><code># 接下來我們要透過 conda 的 python 環境來設置操作環境
# 安裝 conda
# 參考資料: https://www.anaconda.com/docs/getting-started/miniconda/install#linux
# 取得安裝執行檔案, 這邊選擇的是比較小的版本 Miniconda, 如果你空間很夠, 像要一次安裝
# 較多的套件, 也可以選擇使用 Anaconda
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh

# 調整執行權限
chmod +x Miniconda3-latest-Linux-x86_64.sh 

# 執行
./Miniconda3-latest-Linux-x86_64.sh

# 接下來會問你說是否同意執行, 同意他的版權協議等等的
# 總之都選 yes 與 enter
# 其中有一個重點是
# 之後你登入這個帳號進來之後, 你會看到 prompt 前端會顯示 (base) 就代表你已經預設進入 conda 環境
# 或是你可以執行以下指令恢復成原本的狀態, 使用以下指令, 這樣就不會一開始就啟動此環境
conda config --set auto_activate_base false

# 然後登入之後再使用以下指令啟動環境, 最前方會顯示 (base)
conda activate

# 再次取消可以用以下指令
conda deactivate

# 安裝後你可以透過以下兩個指令查看是否沒有問題
conda list - Displays a list of packages installed in your active environment and their versions.
conda --version - Displays conda’s version number.

# 開始安裝 open-webui
# 創建虛擬環境(範例: conda create --name 環境名稱 python=版本號)
conda create -n open-webui python=3.11

# 進入虛擬環境
conda activate open-webui
pip install open-webui

# 完成之後, 啟動服務, 這一步會需要比較久的時間, 請耐心等待
open-webui serve (可加上 & 代表把它丟去背景執行)

# 啟動完成之後可以透過以下 url 進入服務, 第一次進入會請你創建管理者帳號
http://127.0.0.1:8080 (127.0.0.1 請改成你安裝 open-webui 的確實位置)

# 接下來他會自動偵測到你有 deepseek r1 並開始使用
# 當然你也可以自己加入其他的大語言模型之類的喔!</code></pre></div>



<p>To be continue&#8230;&#8230;.<br>接下來我們可透過學習如何使用 API 來與 AI 互動! 請期待接下來的教學文章喔!</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.capdio.com/artificial-intelligence/%e5%a6%82%e4%bd%95%e9%80%8f%e9%81%8e-open-webui-%e8%a3%bd%e4%bd%9c%e5%87%ba%e8%b7%9f-chatgpt-%e9%a1%9e%e4%bc%bc%e7%9a%84%e7%b6%b2%e9%a0%81%e5%b0%8d%e8%a9%b1-ui-%e8%88%87%e5%9c%a8%e6%9c%ac%e5%9c%b0/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>DeepSeek 想試試? 就來在自己的環境跑看看吧! 202506</title>
		<link>https://www.capdio.com/news-updates/deepseek-%e6%83%b3%e8%a9%a6%e8%a9%a6-%e5%b0%b1%e4%be%86%e5%9c%a8%e8%87%aa%e5%b7%b1%e7%9a%84%e7%92%b0%e5%a2%83%e8%b7%91%e7%9c%8b%e7%9c%8b%e5%90%a7-202506/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=deepseek-%25e6%2583%25b3%25e8%25a9%25a6%25e8%25a9%25a6-%25e5%25b0%25b1%25e4%25be%2586%25e5%259c%25a8%25e8%2587%25aa%25e5%25b7%25b1%25e7%259a%2584%25e7%2592%25b0%25e5%25a2%2583%25e8%25b7%2591%25e7%259c%258b%25e7%259c%258b%25e5%2590%25a7-202506</link>
					<comments>https://www.capdio.com/news-updates/deepseek-%e6%83%b3%e8%a9%a6%e8%a9%a6-%e5%b0%b1%e4%be%86%e5%9c%a8%e8%87%aa%e5%b7%b1%e7%9a%84%e7%92%b0%e5%a2%83%e8%b7%91%e7%9c%8b%e7%9c%8b%e5%90%a7-202506/#respond</comments>
		
		<dc:creator><![CDATA[George]]></dc:creator>
		<pubDate>Fri, 06 Jun 2025 03:08:32 +0000</pubDate>
				<category><![CDATA[AI]]></category>
		<category><![CDATA[News & Updates]]></category>
		<guid isPermaLink="false">https://www.capdio.com/?p=1849</guid>

					<description><![CDATA[2025 年我們看到廚了 OpenAI 之外後起之秀 DeepSeek 突然跳出檯面早成台積電與輝達股價突然劇烈震盪!! 聰明人應該都進場撿便宜了對吧!!! 回檔時就是賺錢的時機一點也沒錯!! 雖然我們可以透過 DeepSeek 的 API 與線上服務去體驗他的強大功能, 但是也因為樹大招風也就引來全世界的好奇, 不知是真的太熱門還是駭客攻擊, DeepSeek 就在不久前突然因為流量因素暫停了一陣子, 蝦米?!?!? 我才使用沒幾次而已, 現在就不給我體驗了是怎樣!! 不過別擔心, 現在就讓我們透過 Ollma 來在自家中建立起 DeepSeek 模型, 體驗一下離線 AI 的魔力吧!!! 內部 Local 端使用 AI 的優點 本機安裝使用&#8230;]]></description>
										<content:encoded><![CDATA[
<p>2025 年我們看到廚了 OpenAI 之外後起之秀 DeepSeek 突然跳出檯面早成台積電與輝達股價突然劇烈震盪!! 聰明人應該都進場撿便宜了對吧!!! 回檔時就是賺錢的時機一點也沒錯!!</p>



<p>雖然我們可以透過 DeepSeek 的 API 與線上服務去體驗他的強大功能, 但是也因為樹大招風也就引來全世界的好奇, 不知是真的太熱門還是駭客攻擊, DeepSeek 就在不久前突然因為流量因素暫停了一陣子, 蝦米?!?!? 我才使用沒幾次而已, 現在就不給我體驗了是怎樣!! 不過別擔心, 現在就讓我們透過 Ollma 來在自家中建立起 DeepSeek 模型, 體驗一下離線 AI 的魔力吧!!!</p>



<h2 class="wp-block-heading">內部 Local 端使用 AI 的優點</h2>



<ul class="wp-block-list">
<li>資料隱私: 所有資料都在自己的環境中, 並不會上傳到遠端 Server, 不用擔心資料外洩.</li>



<li>可調整模型特性: 因應你的個人環境可使用不同大小的模型與特性, 讓 AI 效能更符合需求</li>



<li>不用聯網: 是的, 因為是你的個人環境, 所以不需要聯網就能使用!!!  如果你有 UPS電源, 颱風天台電斷電時也可以有 AI 使用的.</li>



<li>最後當然就是吃到飽的概念囉, 自己的環境當然沒有像是你申請 API 使用 AI 一般需要先儲值付款再一使用次數口款等等的限制, 想問多少次, 問多久通通免費!!</li>
</ul>



<h2 class="wp-block-heading">本機安裝使用 DeepSeek 教學</h2>



<p>Part 1. 安裝 Ollama, 請到 Ollama 官網( <a href="https://www.ollama.com/download/windows">https://www.ollama.com/download/windows</a> ) 選擇你的作業系統, 他會跳出對應的安裝方式, 進行下載並執行或是執行相關指令後即可安裝完成.</p>



<p>Part 2, 選擇你要使用的模型, 請到 Ollama 的 Library 資源列表 ( <a href="https://www.ollama.com/library">https://www.ollama.com/library</a> ), 本次我們使用 deepseek-r1, 點進去之後你會看到如下的畫面, 右上角的是執行用的指令範例.</p>



<figure class="wp-block-image size-large"><img decoding="async" width="1024" height="741" src="https://www.capdio.com/wp-content/uploads/2025/06/ollma_deepseek_20250606-1024x741.png" alt="" class="wp-image-1850" srcset="https://www.capdio.com/wp-content/uploads/2025/06/ollma_deepseek_20250606-1024x741.png 1024w, https://www.capdio.com/wp-content/uploads/2025/06/ollma_deepseek_20250606-300x217.png 300w, https://www.capdio.com/wp-content/uploads/2025/06/ollma_deepseek_20250606-768x556.png 768w, https://www.capdio.com/wp-content/uploads/2025/06/ollma_deepseek_20250606-1536x1111.png 1536w, https://www.capdio.com/wp-content/uploads/2025/06/ollma_deepseek_20250606-1170x846.png 1170w, https://www.capdio.com/wp-content/uploads/2025/06/ollma_deepseek_20250606-585x423.png 585w, https://www.capdio.com/wp-content/uploads/2025/06/ollma_deepseek_20250606.png 1598w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p>這邊主要是要讓你選擇模型的大小, 模型的大小會影響的當然就是 AI 思考的複雜度與完整性, 請依照你的環境特性去選擇喔!!! 如果你有安裝獨立顯示卡的話, 相對來講對於 ram 的需求會比較小, 反而是顯卡的 VRAM 對於運算的影響較大. ( 參考資料: <a href="https://apxml.com/posts/gpu-requirements-deepseek-r1">https://apxml.com/posts/gpu-requirements-deepseek-r1</a>), 另外再選擇模型時也要考慮你的儲存空間大小, 因為當你執行時他就會透過網路進行模型的下載. 請視你的硬體規格來做微調.<br><br>Part 3, 選定好模型之後, 接下來我們就來組成所需的指令!</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-plain"><code># 以選擇 deepseek-r1:8b 為範例, 所需執行的指令範例為
ollama run deepseek-r1:1.8b

# 以最小模型為範例
ollama run deepseek-r1:1.5b</code></pre></div>



<p><br>Part 4, 執行, 接下來我們回到終端機那邊輸入剛剛那段指令, 他就會開始進行下載, 過幾分鐘後看到 success 就表示下載完成, 畫面就會停留在互動模式, 你就可以在此與 AI 進行對話了喔!!! 以下我們用 Windows 環境當成範例 demo 給大家看.<br>&lt;&lt; 執行 ollama 取用 DeepSeek 模型 8b<br><img loading="lazy" decoding="async" width="960" height="493" class="wp-image-1787" style="width: 960px;" src="https://www.capdio.com/wp-content/uploads/2025/02/C__WINDOWS_system32_cmd.exe-ollama-run-deepseek-r1_8b-2_23_2025-5_07_59-PM.png" alt="" srcset="https://www.capdio.com/wp-content/uploads/2025/02/C__WINDOWS_system32_cmd.exe-ollama-run-deepseek-r1_8b-2_23_2025-5_07_59-PM.png 1481w, https://www.capdio.com/wp-content/uploads/2025/02/C__WINDOWS_system32_cmd.exe-ollama-run-deepseek-r1_8b-2_23_2025-5_07_59-PM-300x154.png 300w, https://www.capdio.com/wp-content/uploads/2025/02/C__WINDOWS_system32_cmd.exe-ollama-run-deepseek-r1_8b-2_23_2025-5_07_59-PM-1024x526.png 1024w, https://www.capdio.com/wp-content/uploads/2025/02/C__WINDOWS_system32_cmd.exe-ollama-run-deepseek-r1_8b-2_23_2025-5_07_59-PM-768x395.png 768w, https://www.capdio.com/wp-content/uploads/2025/02/C__WINDOWS_system32_cmd.exe-ollama-run-deepseek-r1_8b-2_23_2025-5_07_59-PM-1170x601.png 1170w, https://www.capdio.com/wp-content/uploads/2025/02/C__WINDOWS_system32_cmd.exe-ollama-run-deepseek-r1_8b-2_23_2025-5_07_59-PM-585x301.png 585w" sizes="auto, (max-width: 960px) 100vw, 960px" /><br>&lt;&lt;開始進行下載模型的任務>><br><img loading="lazy" decoding="async" width="960" height="493" class="wp-image-1788" style="width: 960px;" src="https://www.capdio.com/wp-content/uploads/2025/02/C__WINDOWS_system32_cmd.exe-ollama-run-deepseek-r1_8b-2_23_2025-5_06_46-PM.png" alt="" srcset="https://www.capdio.com/wp-content/uploads/2025/02/C__WINDOWS_system32_cmd.exe-ollama-run-deepseek-r1_8b-2_23_2025-5_06_46-PM.png 1481w, https://www.capdio.com/wp-content/uploads/2025/02/C__WINDOWS_system32_cmd.exe-ollama-run-deepseek-r1_8b-2_23_2025-5_06_46-PM-300x154.png 300w, https://www.capdio.com/wp-content/uploads/2025/02/C__WINDOWS_system32_cmd.exe-ollama-run-deepseek-r1_8b-2_23_2025-5_06_46-PM-1024x526.png 1024w, https://www.capdio.com/wp-content/uploads/2025/02/C__WINDOWS_system32_cmd.exe-ollama-run-deepseek-r1_8b-2_23_2025-5_06_46-PM-768x395.png 768w, https://www.capdio.com/wp-content/uploads/2025/02/C__WINDOWS_system32_cmd.exe-ollama-run-deepseek-r1_8b-2_23_2025-5_06_46-PM-1170x601.png 1170w, https://www.capdio.com/wp-content/uploads/2025/02/C__WINDOWS_system32_cmd.exe-ollama-run-deepseek-r1_8b-2_23_2025-5_06_46-PM-585x301.png 585w" sizes="auto, (max-width: 960px) 100vw, 960px" /><br>&lt;&lt;看到 success 就代表完成, 可以開始與 AI 互動了>><br><img loading="lazy" decoding="async" width="960" height="493" class="wp-image-1789" style="width: 960px;" src="https://www.capdio.com/wp-content/uploads/2025/02/C__WINDOWS_system32_cmd.exe-ollama-run-deepseek-r1_8b-2_23_2025-5_09_53-PM.png" alt="" srcset="https://www.capdio.com/wp-content/uploads/2025/02/C__WINDOWS_system32_cmd.exe-ollama-run-deepseek-r1_8b-2_23_2025-5_09_53-PM.png 1481w, https://www.capdio.com/wp-content/uploads/2025/02/C__WINDOWS_system32_cmd.exe-ollama-run-deepseek-r1_8b-2_23_2025-5_09_53-PM-300x154.png 300w, https://www.capdio.com/wp-content/uploads/2025/02/C__WINDOWS_system32_cmd.exe-ollama-run-deepseek-r1_8b-2_23_2025-5_09_53-PM-1024x526.png 1024w, https://www.capdio.com/wp-content/uploads/2025/02/C__WINDOWS_system32_cmd.exe-ollama-run-deepseek-r1_8b-2_23_2025-5_09_53-PM-768x395.png 768w, https://www.capdio.com/wp-content/uploads/2025/02/C__WINDOWS_system32_cmd.exe-ollama-run-deepseek-r1_8b-2_23_2025-5_09_53-PM-1170x601.png 1170w, https://www.capdio.com/wp-content/uploads/2025/02/C__WINDOWS_system32_cmd.exe-ollama-run-deepseek-r1_8b-2_23_2025-5_09_53-PM-585x301.png 585w" sizes="auto, (max-width: 960px) 100vw, 960px" /></p>



<p>以上是不是很簡單, 不過當然目前也只是小小的利用離線版的 DeepSeek 做一點點小事情而已, 想要讓他發揮功能還有許多功能需要架設, 未來我們再利用 python 整合他來試試看喔!!! 敬請期待!!!</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.capdio.com/news-updates/deepseek-%e6%83%b3%e8%a9%a6%e8%a9%a6-%e5%b0%b1%e4%be%86%e5%9c%a8%e8%87%aa%e5%b7%b1%e7%9a%84%e7%92%b0%e5%a2%83%e8%b7%91%e7%9c%8b%e7%9c%8b%e5%90%a7-202506/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Linux Server, how to share folder to users in the same network</title>
		<link>https://www.capdio.com/servertech/linux/linux-server-how-to-share-folder-to-users-in-the-same-network/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=linux-server-how-to-share-folder-to-users-in-the-same-network</link>
					<comments>https://www.capdio.com/servertech/linux/linux-server-how-to-share-folder-to-users-in-the-same-network/#respond</comments>
		
		<dc:creator><![CDATA[George]]></dc:creator>
		<pubDate>Mon, 05 May 2025 03:43:54 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<guid isPermaLink="false">https://www.capdio.com/?p=1808</guid>

					<description><![CDATA[相信很多 Linux 玩家(用戶), 都有這樣的需求, 那就是將伺服器上的某個資料夾空間分享出來，讓區域網路內的用戶可以上傳下載與讀取, 那麼除了透過美麗好用的圖形化介面進行分享資料夾的設定之外，我們來看看系統底層的指令式設定是如何做到的. 這邊我們就以 ubuntu 的環境來做demo. 接下來我們用 linux 的環境與 windows 的環境當作 client 來連到 samba server 的資料匣 !!重要資訊!! 如果你的 Linux Samba Server 是採用 VM 架設在 Windows OS 之下且網路是採用 NAT 不是橋接模式, 因為 Windows OS&#8230;]]></description>
										<content:encoded><![CDATA[
<p>相信很多 Linux 玩家(用戶), 都有這樣的需求, 那就是將伺服器上的某個資料夾空間分享出來，讓區域網路內的用戶可以上傳下載與讀取, 那麼除了透過美麗好用的圖形化介面進行分享資料夾的設定之外，我們來看看系統底層的指令式設定是如何做到的. 這邊我們就以 ubuntu 的環境來做demo.</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-plain"><code># 安裝相關套件
sudo apt -y install samba samba-client samba-common

# 其中
# samba-client, 這是用來讓你的 linux 成為別人的 client 去連到別人分享的資料匣
# samba-common, 這個套件則主要提供了 samba 的主要設定檔 (smb.conf), 語法檢驗的測試程式

== 接下來要設定使用該服務的帳號 ==
# 設定不須登入/操作 Shell 的帳號 smbuser(範例), 這邊會問你密碼, 我們使用 &quot;smbuser&quot;
sudo adduser smbuser --shell /bin/false

# 這邊是設定給 samba 用的帳號所屬密碼, 跟上一行的不一樣喔!! 要特別注意, 帳號一定是一樣, 
# 但是密碼可以不一樣. 也就是說你雖然剛剛建立好系統帳號, 但還需對 samba 服務去對此帳號設定密碼
sudo smbpasswd -a smbuser

# 如果要移除使用者, 除了要移除 samba 用的帳號之外, 系統帳號也一並刪喔!
smbpasswd -x smbuser
userdel -r smbuser

修改設定檔 
sudo nano /etc/samba/smb.conf

在檔尾加入以下設定內容()
 [share]
 path = /home/smbuser # 這個是要分享的資料夾路徑, 記得資料匣屬性要讓使用者帳號可以讀寫
 available = yes
 valid users = smbuser # 這個是可以使用這個分享資料夾的使用者，要具有 path 所指定的路徑的權限才行
 read only = no
 browseable = yes
 public = yes
 writable = yes

重啟 Samba Server
service smbd restart</code></pre></div>



<p>接下來我們用 linux 的環境與 windows 的環境當作 client 來連到 samba server 的資料匣</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-bash" data-lang="Bash"><code>== 使用 linux 連結 Samba server ==
建立一個要掛在的路徑
sudo mkdir -p /mnt/share

進行連線設定
sudo mount -t cifs  //{Samba Server IP}/share /mnt/share -o username=smbuser,password=smbuser

如果不用了, 可以卸載
umount /mnt/share


== 使用 windows 連結 Samba server ==
\\{Samba Server IP}\share

接下來他會跳出要你輸入帳號密碼的介面, 請輸入 smbuser / smbuser 就可以登入看到資料匣了!</code></pre></div>



<p class="has-text-color has-link-color wp-elements-6ce36f3dff702e34803051e79ec24cbe" style="color:#fb0000">!!重要資訊!! 如果你的 Linux Samba Server 是採用 VM 架設在 Windows OS 之下且網路是採用 NAT 不是橋接模式, 因為 Windows OS 本身限制問題, 無法給予 445 通行!! 因此無法進行分享資料匣的連線, 請特別注意!!! (Linux samba port: UDP 137, 138 TCP 139, Windows 網路芳鄰 port: 445)</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.capdio.com/servertech/linux/linux-server-how-to-share-folder-to-users-in-the-same-network/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Windows 的 Hyper-V 怎麼使用 VM 來安裝 Linux</title>
		<link>https://www.capdio.com/servertech/windows-hyper-v-linux-avoid-trap/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=windows-hyper-v-linux-avoid-trap</link>
					<comments>https://www.capdio.com/servertech/windows-hyper-v-linux-avoid-trap/#respond</comments>
		
		<dc:creator><![CDATA[George]]></dc:creator>
		<pubDate>Tue, 25 Mar 2025 09:36:59 +0000</pubDate>
				<category><![CDATA[Virtualbox]]></category>
		<category><![CDATA[伺服器端技術]]></category>
		<guid isPermaLink="false">https://www.capdio.com/?p=1796</guid>

					<description><![CDATA[]]></description>
										<content:encoded><![CDATA[
<div class="hcb_wrap"><pre class="prism line-numbers lang-plain"><code>如何啟用 Windows 11 pro 的 Hyper-V 來安裝 Linux ubuntu

1. 先確定你的電腦有支援 hyper-v
  64 位元處理器: 必須支援 SLAT（Second Level Address Translation）
  足夠的 RAM: 至少 4GB 的記憶體，以便支持虛擬機運行
  硬體虛擬化支援: 需要在 BIOS 中啟用 Intel VT-x 或 AMD-V 虛擬化技術

參考 url: https://learn.microsoft.com/zh-tw/windows-server/virtualization/hyper-v/system-requirements-for-hyper-v-on-windows?pivots=windows-server

2. 啟用 Hyper-V 功能
打開「控制台」, 點「程式」, 然後選擇「啟用或關閉 Windows 功能」
在彈出的 Windows 功能列表中, 找到「Hyper-V」並勾選, 然後點擊「確定」, 完成後需要重啟電腦
重啟電腦後, 打開「Hyper-V 管理員」, 這表示 Hyper-V 已成功啟用

3. 使用 Hyper-V 管理員
首先我們要設定一下網路環境, 預設使用的是類似 VirtualBox 那種 NAT 的網路環境, 如果你想我需要 VM 在網路上擁有自己獨立的 IP,
也就是說跟 Windows 在同一個網路(同一層網路), 那你就必須先到「虛擬交換器管理與」然後選到「新虛擬網路交換器」在類型選擇上選擇
「外部」, 接下來點選右下角的「建立虛擬交換器」, 接下來給予命名, 選擇用您電腦上的哪一張網卡來進行橋接, 接下來按下「確定」即可
完成網路卡的設定

4. 設定你的第一個 Hyper-V VM
在 Hyper-V 管理員中, 點擊「動作」-&gt;「新建」-&gt;「虛擬機」, 然後依序設置虛擬機器的名稱, 儲存路徑, 記憶體大小...等, 記得要先將
ubuntu ISO 準備好, 然後在剛剛的過程中「安裝」的部分就選擇掛載 iso 檔案(ubuntu server), 完成後先不要啟動喔!!!!

5. 調整 VM 的安全設定
請到你建立好的 VM 那邊點選「設定」-&gt;「安全性」-&gt;「啟用安全開機」, 請確定勾選已取消(預設是打勾的), 這個選項會影像 Linux 的安裝
如果你裝的 OS 是 windows 則不需要動到這個選項

6. 接下來啟動你的 VM, 就會進入 linux 安裝畫面囉!!!  Enjoy it~</code></pre></div>
]]></content:encoded>
					
					<wfw:commentRss>https://www.capdio.com/servertech/windows-hyper-v-linux-avoid-trap/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
