Blazor 官方有這個 Bug 回報
Update to SDK 2.2.100 throws "An item with the same key has already been added. Key: .wasm" #5666
https://github.com/aspnet/AspNetCore/issues/5666
看起來,官方 .NET Core 3.0 才有機會修正此問題,
只好另求他法,我自己測試過只要把 Ubuntu 的 .NET Core 版本降到 2.1
Microsoft.AspNetCore.App 2.1.7 或 2.1.2 (AWS EC2 預設版本)
就可以正常執行了。
2019年1月25日 星期五
簡單測試 crontab
輸入 crontab -e
輸入 */2 * * * * date >> ~/time.log
按 CTRL + X 存檔離開
這個任務每兩分鐘寫入當前的時間到 time.log 檔案
Windows 10 可以在路徑:
C:\Users\「用戶名稱」\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu18.04onWindows_79rhkp1fndgsc\LocalState\rootfs\home\ubuntu
找到 time.log
輸入 */2 * * * * date >> ~/time.log
按 CTRL + X 存檔離開
這個任務每兩分鐘寫入當前的時間到 time.log 檔案
Windows 10 可以在路徑:
C:\Users\「用戶名稱」\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu18.04onWindows_79rhkp1fndgsc\LocalState\rootfs\home\ubuntu
找到 time.log
2019年1月24日 星期四
WinSCP 使用 sudo su 權限登入,方便修改系統設定。
最近因為專案的關係,需要用 WinSCP 上傳檔案到 ubuntu 上,卡在權限的關係,有些檔案不能上傳,修改了 WinSCP 的一些設定,現在可以取得 sudo su 權限登入,方法如下:
進入「進階站台設定」如上圖,設定「Shell」為「sudo su」,按下「確定」,下次登入後就能取的 sudo su 權限。
(PS.目前發現只能切換 sudo su 路徑與下載檔案,檔案覆蓋還是有權限不足的問題。)
進入「進階站台設定」如上圖,設定「Shell」為「sudo su」,按下「確定」,下次登入後就能取的 sudo su 權限。
(PS.目前發現只能切換 sudo su 路徑與下載檔案,檔案覆蓋還是有權限不足的問題。)
2019年1月22日 星期二
Windows 10 利用 WinSCP 傳輸檔案到 AWS Ubuntu
首先需要 .ppk 憑證檔
點擊 進階
點擊 SSH → 身份核對 → 私鑰檔案 → 開啟 .ppk 憑證檔
點擊 確定
輸入 主機名稱 與 使用者名稱、密碼
點擊 登入
輸入密碼
點擊 同步 就能開始傳輸檔案。
點擊 進階
點擊 SSH → 身份核對 → 私鑰檔案 → 開啟 .ppk 憑證檔
點擊 確定
輸入 主機名稱 與 使用者名稱、密碼
點擊 登入
輸入密碼
點擊 同步 就能開始傳輸檔案。
Windows 10 利用 PuTTY 登入 AWS Ubuntu
首先需要 .ppk 憑證檔
點選 Connection → SSH → Auth → Browse → 開啟 .ppk 憑證檔
點選 Session 輸入 Host Name (or IP address)
可以在 Save Sessions 取的名字,下次直接點選指定 Session 再 點選 Open 就能直接連線。
輸入 Ubuntu 的帳號與密碼,就能登入 Ubuntu 了。
點選 Connection → SSH → Auth → Browse → 開啟 .ppk 憑證檔
點選 Session 輸入 Host Name (or IP address)
可以在 Save Sessions 取的名字,下次直接點選指定 Session 再 點選 Open 就能直接連線。
輸入 Ubuntu 的帳號與密碼,就能登入 Ubuntu 了。
supervisor 無法啟動任務的問題解決方法
supervisor 啟動任務
輸入 supervisorctl start task
會出現錯誤:
error:, [Errno 13] Permission denied: file: /usr/lib/python2.7/socket.py line: 22
加上 sudo 權限就能運行
sudo supervisorctl start task
輸入 supervisorctl start task
會出現錯誤:
error:
加上 sudo 權限就能運行
sudo supervisorctl start task
Windows 10 WSL 下 Ubuntu 下安裝 mysql
輸入密碼後 sudo apt-get update 一下
首先執行 mysql 安裝指令:
sudo apt-get install mysql-server
完成後要啟動 mysql 服務,不然會提示:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
使用 sudo service mysql start 啟動 mysql 服務
透過下列指令設定 mysql root 密碼:
mysql -u root -p
首先執行 mysql 安裝指令:
sudo apt-get install mysql-server
完成後要啟動 mysql 服務,不然會提示:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
使用 sudo service mysql start 啟動 mysql 服務
透過下列指令設定 mysql root 密碼:
mysql -u root -p
Ubuntu 常用命令
特別注意的是指令有分大小寫,一般都是小寫。
而指令後面帶 --help 是顯示指令的說明,例如:ls --help
sudo apt-get install 軟體名 安裝軟體指令
sudo apt-get remove 軟體名 移除軟體指令
sudo apt-get autoremove 軟體名 移除軟體指令,包含相依軟體
sudo apt-get clean && sudo apt-get autoclean 清理無用的包
sudo apt-get check 檢查是否有損壞的依賴
sudo apt-get update 更新源
sudo apt-get upgrade 更新已安裝的包
sudo apt-get dist-upgrade 昇級系統
sudo apt-get dselect-upgrade 使用 dselect 昇級
sudo apt-get clean 清理所有軟體緩存(即緩存在/var/cache/apt/archives目錄裡的deb包 )
dpkg -s 軟體名 檢查軟體是否安裝
把所有已安裝套件清單給匯出
dpkg --get-selections > installed_packages.txt
或
dpkg -l > installed_packages.txt (詳細資料)
sudo su 切換到'root'
service 軟體名 start 讓軟體執行於後台
service 軟體名 status 查詢軟體是否執行於後台
find 路徑 -name 「字符串」 搜尋路徑所在範圍內滿足字符串匹配的檔案和目錄
ls 列出當前目錄檔案(不包括隱藏檔案)
ls -a 列出當前目錄檔案(包括隱藏檔案)
ls -l 列出當前目錄下檔案的詳細資訊
cd .. 回當前目錄的上一級目錄
cd - 回上一次所在的目錄
cd ~ 或 cd 回當前使用者的宿主目錄
mkdir 目錄名 建立一個目錄
rmdir 空目錄名 刪除一個空目錄
rm 檔案名 檔案名 刪除一個檔案或多個檔案
rm -rf 非空目錄名 刪除一個非空目錄下的一切
mv 路徑/檔案 /路徑/檔案 移動相對路徑下的檔案到絕對路徑下
mv 檔案名 路徑/目錄名/. 檔案複製到目錄內,最後要加上個 /.
mv 檔案名 新名稱 在當前目錄下改名
lsb_release -a 查看版本訊息
uname -a 查看內核版本
cat /etc/issue 查看ubuntu版本
lsusb 查看usb設備
sudo ethtool eth0 查看網卡狀態
cat /proc/cpuinfo 查看cpu資訊
lshw 查看當前硬體資訊
sudo fdisk -l 查看磁盤資訊
df -h 查看硬碟剩餘空間
free -m 查看當前的記憶體使用情況
ps -A 查看當前有哪些進程
kill 進程號(就是ps -A中的第一列的數字)或者 killall 進程名( 殺死一個進程)
kill -9 進程號 強制殺死一個進程
而指令後面帶 --help 是顯示指令的說明,例如:ls --help
sudo apt-get install 軟體名 安裝軟體指令
sudo apt-get remove 軟體名 移除軟體指令
sudo apt-get autoremove 軟體名 移除軟體指令,包含相依軟體
sudo apt-get clean && sudo apt-get autoclean 清理無用的包
sudo apt-get check 檢查是否有損壞的依賴
sudo apt-get update 更新源
sudo apt-get upgrade 更新已安裝的包
sudo apt-get dist-upgrade 昇級系統
sudo apt-get dselect-upgrade 使用 dselect 昇級
sudo apt-get clean 清理所有軟體緩存(即緩存在/var/cache/apt/archives目錄裡的deb包 )
dpkg -s 軟體名 檢查軟體是否安裝
把所有已安裝套件清單給匯出
dpkg --get-selections > installed_packages.txt
或
dpkg -l > installed_packages.txt (詳細資料)
sudo su 切換到'root'
service 軟體名 start 讓軟體執行於後台
service 軟體名 status 查詢軟體是否執行於後台
find 路徑 -name 「字符串」 搜尋路徑所在範圍內滿足字符串匹配的檔案和目錄
ls 列出當前目錄檔案(不包括隱藏檔案)
ls -a 列出當前目錄檔案(包括隱藏檔案)
ls -l 列出當前目錄下檔案的詳細資訊
cd .. 回當前目錄的上一級目錄
cd - 回上一次所在的目錄
cd ~ 或 cd 回當前使用者的宿主目錄
mkdir 目錄名 建立一個目錄
rmdir 空目錄名 刪除一個空目錄
rm 檔案名 檔案名 刪除一個檔案或多個檔案
rm -rf 非空目錄名 刪除一個非空目錄下的一切
mv 路徑/檔案 /路徑/檔案 移動相對路徑下的檔案到絕對路徑下
mv 檔案名 路徑/目錄名/. 檔案複製到目錄內,最後要加上個 /.
mv 檔案名 新名稱 在當前目錄下改名
lsb_release -a 查看版本訊息
uname -a 查看內核版本
cat /etc/issue 查看ubuntu版本
lsusb 查看usb設備
sudo ethtool eth0 查看網卡狀態
cat /proc/cpuinfo 查看cpu資訊
lshw 查看當前硬體資訊
sudo fdisk -l 查看磁盤資訊
df -h 查看硬碟剩餘空間
free -m 查看當前的記憶體使用情況
ps -A 查看當前有哪些進程
kill 進程號(就是ps -A中的第一列的數字)或者 killall 進程名( 殺死一個進程)
kill -9 進程號 強制殺死一個進程
在 Ubuntu 上 Blazor 為安裝 .NET Core 2.1.503 (ASP.NET Core 2.1.7)
因為 Blazor 只支援到 ASP.NET Core 2.1.7
(PS.試過 AWS EC2 預設 ASP.NET Core 2.1.2 也能正常執行 2.1.302 版)
所以不抓最新版 2.1.504
而是抓 2.1.503 版
先執行 sudo su 換 root 權限(輸入 cd $HOME 是否在要安裝的目錄上,不是才需要換 root)
並且 sudo apt-get install 的安裝方式,隨著版本推進,會有很多錯誤發生。
所以採用抓取 .NET Core Binaries 2.1.503 版的檔案,還進行更新,網址如下:
https://dotnet.microsoft.com/download/thank-you/dotnet-sdk-2.1.503-linux-x64-binaries
需要其他版本可以在這邊下載適合的 .NET Core Binaries 檔案,網址如下:
https://dotnet.microsoft.com/download/dotnet-core/2.1
在 dotnet-sdk-2.1.503-linux-x64.tar.gz 目錄下執行下面的指令:
先執行 sudo su 換 root 權限
mkdir -p $HOME/dotnet && tar zxf dotnet-sdk-2.1.503-linux-x64.tar.gz -C $HOME/dotnet
export DOTNET_ROOT=$HOME/dotnet
export PATH=$PATH:$HOME/dotnet
執行 dotnet --info 驗證是否安裝成功
關閉 Session 後
下次登入如果因為 export 沒有 DOTNET_ROOT
(目前有遇到 WSL 關閉後前面的 export 會消失)
而無法執行 dotnet
可以用 vim /etc/profile(先執行 sudo su 換 root 權限)
修改系統檔案都要用 root 權限
先執行 sudo su 換 root 權限
然後
按下 i (-- INSERT --)
在 profile 檔案末端加上
export DOTNET_ROOT=$HOME/dotnet
export PATH=$PATH:$HOME/dotnet
如果一樣無法執行 dotnet
可以用指令測試一下是否能直接執行 dotnet
通常是 /usr/share/dotnet/dotnet
如果可執行
就可以改成絕對路徑
export DOTNET_ROOT=/usr/share/dotnet
export PATH=$PATH:/usr/share/dotnet
重新登入後,試試看是否能正常執行 dotnet
輸入 :wq
離開 vim 編輯
輸入 . /etc/profile 重新載入 profile 檔案
就能在任何目錄上呼叫 dotnet 了
(PS.試過 AWS EC2 預設 ASP.NET Core 2.1.2 也能正常執行 2.1.302 版)
所以不抓最新版 2.1.504
而是抓 2.1.503 版
先執行 sudo su 換 root 權限(輸入 cd $HOME 是否在要安裝的目錄上,不是才需要換 root)
並且 sudo apt-get install 的安裝方式,隨著版本推進,會有很多錯誤發生。
所以採用抓取 .NET Core Binaries 2.1.503 版的檔案,還進行更新,網址如下:
https://dotnet.microsoft.com/download/thank-you/dotnet-sdk-2.1.503-linux-x64-binaries
需要其他版本可以在這邊下載適合的 .NET Core Binaries 檔案,網址如下:
https://dotnet.microsoft.com/download/dotnet-core/2.1
在 dotnet-sdk-2.1.503-linux-x64.tar.gz 目錄下執行下面的指令:
先執行 sudo su 換 root 權限
mkdir -p $HOME/dotnet && tar zxf dotnet-sdk-2.1.503-linux-x64.tar.gz -C $HOME/dotnet
export DOTNET_ROOT=$HOME/dotnet
export PATH=$PATH:$HOME/dotnet
執行 dotnet --info 驗證是否安裝成功
關閉 Session 後
下次登入如果因為 export 沒有 DOTNET_ROOT
(目前有遇到 WSL 關閉後前面的 export 會消失)
而無法執行 dotnet
可以用 vim /etc/profile(先執行 sudo su 換 root 權限)
修改系統檔案都要用 root 權限
先執行 sudo su 換 root 權限
然後
按下 i (-- INSERT --)
在 profile 檔案末端加上
export DOTNET_ROOT=$HOME/dotnet
export PATH=$PATH:$HOME/dotnet
如果一樣無法執行 dotnet
可以用指令測試一下是否能直接執行 dotnet
通常是 /usr/share/dotnet/dotnet
如果可執行
就可以改成絕對路徑
export DOTNET_ROOT=/usr/share/dotnet
export PATH=$PATH:/usr/share/dotnet
重新登入後,試試看是否能正常執行 dotnet
輸入 :wq
離開 vim 編輯
輸入 . /etc/profile 重新載入 profile 檔案
就能在任何目錄上呼叫 dotnet 了
2019年1月16日 星期三
解決:更新 Windows 10 後,Microsoft Store 與 App 都不見了的問題
使用系統管理員的權限打開 PowerShell。
輸入下列指令執行:
Get-AppXPackage *WindowsStore* -AllUsers | Foreach {Add-AppxPackage -DisableDevelopmentMode -Register "$($_.InstallLocation)\AppXManifest.xml"}
就可以安裝 Microsoft Store。
點擊一下「下載與更新」, Microsoft Store 會更新為最新版。
點擊「已擁有的全部項目」,可以再安裝之前安裝過的 App。
輸入下列指令執行:
Get-AppXPackage *WindowsStore* -AllUsers | Foreach {Add-AppxPackage -DisableDevelopmentMode -Register "$($_.InstallLocation)\AppXManifest.xml"}
就可以安裝 Microsoft Store。
點擊一下「下載與更新」, Microsoft Store 會更新為最新版。
點擊「已擁有的全部項目」,可以再安裝之前安裝過的 App。
2019年1月10日 星期四
解決 WMI Provider Host 占用 CPU 問題
最近電腦沒在操作,CPU 風扇一直高速在運轉,查了一下工作管理員,發現 WMI Provider Host 一直占用著 CPU。
檢查一下「事件檢視器」應用程式及服務紀錄檔\Microsoft\Windows\WMI-Activity\Poerational,發現有錯誤一直在洗紀錄。
檢查一下「事件檢視器」應用程式及服務紀錄檔\Microsoft\Windows\WMI-Activity\Poerational,發現有錯誤一直在洗紀錄。
看了一下 Log 引起錯誤的是 ProcessID 為 3600 的應用程式,馬上反查一下「工作管理員」PID 為 3600 是 Docker.Service。
把 Docker 關閉後就正常了。
2019年1月1日 星期二
C# Tuples 回傳一個以上的回傳值
C# 7 函式內部回傳兩個回傳值:
C# 7 函式外部接兩個回傳值:
(bool retIsError, string retMessage) Request(string request, string returnValue)
{
// Tuples
bool retIsError_ = true;
string retMessage_ = "";
// 處理
retIsError_ = false;
retMessage_ = "成功";
return (retIsError_, retMessage_);
}
C# 7 函式外部接兩個回傳值:
// 接兩個回傳值
var (retIsError, retMessage) = Request(request, ref returnValue_);
if (retIsError)
{
return returnValue_;
}
訂閱:
文章 (Atom)
Visual Studio 2017/2019 推薦的擴充功能與更新
參考文章: 覺得 Google 的 Blogger 不太順手?透過 HTML 的 iframe 移花接木 HackMD
-
把程式的捷徑放在下列目錄內: C:\Users\使用者帳號\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup 每次開機便會自動開啟你的程式
-
在「設定」中輸入 editor.fontsize 如下圖框內調整字體大小 PS、目前不支援Ctrl + mouse scroll up/down 調整字體大小 Ctrl + 放大字體 Ctrl - 縮小字體