2019年9月5日 星期四

卡巴斯基(KasperSky)的效能優化

設定裡面有一個「暫停檔案防護」功能
可以提生效能
看了一下設定內容
做了調整
看起來卡巴斯基的記憶體消耗
明顯變少了

怎麼開啟了
下面介紹一下設定流程


首先滑鼠右鍵點擊卡巴斯基的 icon
選擇「設定」選項


選擇「效能」選項
再點選「暫停檔案防護」選項


由於我工作時會開啟 Visual Studio 2017
所以用這個判斷是否開啟
你們可以依據自己的需求作調整




2019年9月3日 星期二

如何在 Ubuntu 安裝 .NET Core


到網頁 https://dotnet.microsoft.com/download/dotnet-core/2.2 去下載安裝檔
把檔案上傳到 Ubuntu
在安裝檔目錄下
輸入安裝指令
mkdir -p $HOME/dotnet2.2.107 && tar zxf dotnet-sdk-2.2.107-linux-x64.tar.gz -C $HOME/dotnet2.2.107

要測試的話
可以輸入 $HOME/dotnet2.2.107/dotnet --version
就可以看到 dotnet 的版本號碼

2019年8月29日 星期四

指令匯出 PuTTY 設定

在有設定 PuTTY 的舊機器上執行指令:

regedit /ea c:\reg\PuTTY.reg HKEY_CURRENT_USER\Software\SimonTatham\PuTTY

把產生在 c:\reg 目錄下的 PuTTY.reg 複製到新安裝 PuTTY 機器上
在檔案總管上點擊 PuTTY.reg 即可匯入 PuTTY 設定

2019年8月15日 星期四

微軟移除 Visual Studio 的官方工具 InstallCleanup.exe

當無法修復或解除安裝 Visual Studio 時,
可以透過 InstallCleanup.exe 工具來移除所有安裝的 Visual Studio。

 InstallCleanup.exe 工具所在的目錄:
C:\Program Files (x86)\Microsoft Visual Studio\Installer\resources\app\layout\InstallCleanup.exe

2019年8月9日 星期五

怎樣開關 Ubuntu 上的 RabbitMQ

關閉請輸入下列指令:
sudo -u rabbitmq rabbitmqctl stop

開啟請輸入下列指令:
sudo service rabbitmq-server restart

2019年8月3日 星期六

Windows Server 2016 下 安裝 RabbitMQ

由於 RabbitMQ 是由 Erlang 開發的

安裝 Erlang https://www.erlang.org/ 點選Download Erlang/OTP下載按鈕

安裝 RabbitMQ https://www.RabbitMQ.com

安裝 RabbitMQ 後會有一個捷徑 RabbitMQ Command Prompt (sbin dir) 執行捷徑 RabbitMQ Command Prompt (sbin dir) 會出現 CMD 命令列





















輸入指令啟用外掛(有網頁介面): rabbitmq-plugins.bat enable rabbitmq_management
(PS.指令全小寫才能正常執行)
輸入指令重啟伺服器: net stop RabbitMQ && net start RabbitMQ

停止服務,必須手動關閉! 輸入指令關閉伺服器: RabbitMQ-server stop

不關閉下次還會開啟 RabbitMQ

測試一下是否安裝成功 瀏覽 http://localhost:15672/#/ 或 http://「你的 VM 的 IP」:15672/#/
























預設賬號:guest
預設密碼:guest
PS.為了安全性的問題,可以在 admin 新增 user 並刪除 guest 帳號,之後登入就用新帳號登入
預設 Web 的 Port 是 15672
預設 MQ 的 Port 是 5672 不要搞混了




























常用指令: RabbitMQ-plugins enable RabbitMQ_management 開啟外掛
RabbitMQ-service remove 移除服務
RabbitMQ-service install 安裝服務
RabbitMQ-service start 或者 net start RabbitMQ 啟動服務
RabbitMQ-service stop 或者 net stop RabbitMQ 停止服務
RabbitMQctl status 檢視服務狀態
RabbitMQ-server restart 重啟服務

特別提一下在 Windows 下安裝 RabbitMQ ,如果使用者名稱是中文的,則會出現啟動失敗的情況。 網路上有教學,需要可以去查一下(我沒測試過,所以這邊不說明)。

2019年7月26日 星期五

Azure DevPos Git 的 ForcePush 產生錯誤訊息 TF401027: You need the Git 'ForcePush' permission to perform this action. 的解決方法

最近在刪除 Git 上的敏感資料

使用到 Git 的 ForcePush 產生錯誤訊息


git push origin HEAD:master –force





看起來應該是權限不足
上去 Azure DevPos 找了一下設定





























點選 Manage repositories

























Force push (rewrite history, delete branches and tags) 設定為 Allow

PS.群組我選 Project Collection Administrators 視需求每人選的有所不同

2019年7月24日 星期三

在 Ubuntu 用 Shell Script 監測硬碟使用量並在容量過低時利用 team 通訊軟體通知

前陣子 EC2 掛了一台
查了一下資料
發現有蠻方便的監控方式,來源網址:Shell Script 監測硬碟使用量



#!/bin/bash
 
echo "== Ubuntu == run check-disk =="

team_url=【你 team 的 url】
alert=50
 
df -H | grep -vE '^Filesystem|tmpfs' | awk '{ print $5 " " $6 }' | while read output;
do
        usepercent=$(echo $output | awk '{ print $1}' | cut -d'%' -f1  )
        partition=$(echo $output | awk '{ print $2 }' )
        if [ $usepercent -ge $alert ]; then
   if [ $partition = '/' ]; then
    curl -H "Content-Type: application/json" -d "{\"text\":\"$(date) $(hostname) Disk Space Alert= $partition($usepercent%) \"}" $team_url
    break
   fi
        fi
done

echo "== Ubuntu == stop check-disk =="


如果沒安裝 curl 請安裝(Shell Script 需要 curl 才能跟 team 溝通)
參考網址:How to add connectors in Microsoft Teams
安裝方法如下:


sudo apt-get update

sudo apt install curl


記得找一下 team 頻道的 Webhook url 取代上面的【你 team 的 url】
參考網址:[Microsoft Teams]使用Webhook傳訊息到Teams頻道
方法如下:






























點擊「連接器」



























點擊「已設定」與「管理」(如果沒安裝「傳入 Webhook」請安裝)






























按下「複製」鈕就能取得網址

如果想每天定時監控與通知
可以利用 crontab 定時通知
記得給 check-disk.sh 管理權限(有權限 ls 看到會是綠色的)


chmod +x check-disk.sh


每天半夜 12 點定時通知

0 0 * * * /home/ubuntu/check-disk.sh >> ~/disk.log

每小時定時通知

0 * * * * /home/ubuntu/check-disk.sh >> ~/disk.log

這邊建議設定一下時區


sudo timedatectl set-timezone "Asia/Taipei"

crontab 設定的啟動時間才會準確

現在可以另用 crontab -e 新增排程了

排程設定好了
記得執行


sudo service cron restart


重置一下 crontab

備份網址

2019年7月23日 星期二

Blazor for .Net core 3.0.100-preview6-012264 無法用 Visual Studio 2019 偵錯問題解決方法


在 Chrome 中收到 ERR_SPDY_INADEQUATE_TRANSPORT_SECURITY 錯誤
在 Firefox 中收到 NS_ERROR_NET_INADEQUATE_SECURITY 錯誤

請執行下列命令來更新開發憑證:

dotnet dev-certs https --clean
dotnet dev-certs https --trust

2019年7月18日 星期四

Ubuntu 中刪除指定目錄下的檔案與子目錄 -

假設指定 dotnet 目錄
輸入下列指令:

find dotnet/* -print0  | xargs -0  rm -rv

就能刪除 dotnet 目錄的檔案與子目錄

2019年7月17日 星期三

安裝 Dropbox 造成 TortoiseGit 的圖示消失的解決方法

安裝了 Dropbox 後
發現 Git 的圖示都不見了
查了一下資料
順便記錄一下設定過程
































































在 Tortoise 前面加上「空白與數字」
如果只加數字
還是一樣有問題
其目的是要讓 Git 排序在前面


































最後
重啟檔案總管就正常了
基本少就是重啟電腦

















安裝 .NET Core 3.0 Preview 7 的 Blazor 專案 -

先安裝 .NET Core 3.0 Preview 7
https://dotnet.microsoft.com/download/dotnet-core/3.0

再安裝 Visual Studio 2019 Preview
https://visualstudio.microsoft.com/zh-hant/vs/preview/?rr=https%3A%2F%2Fwww.cnblogs.com%2F

最後安裝 Blazor 延伸模組
https://marketplace.visualstudio.com/items?itemName=aspnet.blazor

就可以在開新專案時選擇 Blazor 類型的專案了





























































































































2019年7月15日 星期一

利用 mklink 設定目錄連結 -

mklink 的功能簡單的說,就是建立連結指向某個目錄
一般實務上,通常是運用在 C 槽容量不足
我們把檔案搬移到 D 槽
並在原本的 C 槽建立目錄連結
連結到搬移目的地 D 槽
例如:mklink /J "C:\Files" "D:\Files"
C:\Files 是連結,而 D:\Files 是搬移的檔案實體
建立連結後
對 C:\Files 的任何操作會直接對應到 D:\Files
雖然實體在 D:\Files
但是使用上就如同檔案在 C:\Files
藉由此技術來提升 C 槽的容量
要斷除連結
直接刪除 C:\Files 目錄即可
D:\Files 內的檔案不會受影響
切記不要刪除 C:\Files 內的檔案
這樣會造成刪除 D:\Files 內的檔案

2019年7月14日 星期日

利用 Chocolatey 快速安裝 VSCodium

簡單的介紹一下 VSCodium
VSCodium 是微軟 Visual Studio Code 的一個分支
強調訴求的是完全不追蹤你的使用數據

安裝方式:
在 CMD 上輸入

choco install vscodium

即可安裝

想瞭解 Chocolatey 請參考:
安裝 Chocolatey 簡單的用 Command Line 安裝軟體

想瞭解  請參考:
VSCodium GitHub

2019年7月11日 星期四

Ubuntu 清除垃圾檔案語法 -

建立一個 .sh 檔案,內容如下:

#!/bin/bash

echo "== Ubuntu == autoclean =="

sudo apt-get autoclean
sudo apt-get autoremove
sudo apt-get clean

存成 autoclean.sh 檔案

在 Ubuntu 輸入:
bash autoclean.sh

執行就能幫你清理 Ubuntu 裡的垃圾檔案了

Ubuntu 上無法執行 shell script 的解決方法 -

本來寫了一個 shell scrip 想在 Ubuntu 上執行
結果報錯
E: Invalid operation XXX

為了驗證指令是否有錯誤
於是單行執行上面的指令
結果是正確的

這樣的結果令人費解
查了一下資料
發現好像是 Windows 的換行符號造成的

於是在 Ubuntu 上安裝了 dos2unix
sudo apt install dos2unix

安裝完畢後,輸入:
dos2unix 『要轉換的 sh 檔案』

再執行一次就正常了

PS. NotePad++ 的「編輯」→「轉行號格式」也可以轉成 Unix 格式,在 Ubuntu 也可以正常執行。


2019年7月9日 星期二

Windows Server 2016 與 Windows 10 安裝 OpenSSH

先在 https://github.com/PowerShell/Win32-OpenSSH/releases
下載對應版本的 OpenSSH

在 PowerShell 的「以系統管理員開啟」輸入下列指令:
powershell.exe -ExecutionPolicy Bypass -File X:\OpenSSH\install-sshd.ps1

記得把 OpenSSH 安裝目錄加到環境變數裡

開啟「電腦管理」的「服務」的「OpenSSH SSH Server」並設定為「自動」


















利用 netstat -aon | findstr “22” 檢查一下是否被佔用







看起來 4852 正佔用著 Port 22

利用 tasklist | findstr “4852” 檢查一下那個程式佔用







發現是 sshd.exe 所以 OpenSSH 已經開啟了

萬一是其他程式
你也可以利用
taskkill /pid 4852 /F
將 4852 給砍了

記得到防火牆 firewall.cpl 公用網路新增輸入規則開通 Port 22


利用 ssh 指令,如下:
ssh 使用者名稱@IP
IP 可以利用 ipconfig /all 查詢
應該就能連上 Windows Server 2016
例如:
ssh Administrator@2x.2xx.2xx.2xx

連上輸入密碼,就能連上了。

不想輸入密碼
可以建立 authorized_keys 檔案並複製貼上加入公鑰
儲存在 C:\Users\Administrator\.ssh 目錄裡

修改 C:\ProgramData\ssh\sshd_config
註解最後兩行
#Match Group administrators
#       AuthorizedKeysFile __PROGRAMDATA__/ssh/administrators_authorized_keys
即可免輸入密碼登入

C:\Users\Administrator\.ssh 目錄裡的 id_rsa 私鑰不能直接使用
需要透過 PuTTYgen 轉成 Windows 可使用的格式
才能正常使用




























Windows 10 下安裝 WSL 2 的注意事項

輸入指令
wsl --set-version 2
可以用 wsl -l 查詢到資訊






所以 就是 Ubuntu-18.04
指令要修改為 wsl --set-version Ubuntu-18.04 2

再指定預設 WSL
wsl --set-default-version 2
這樣開啟就是 WSL 2 了

驗證的方式是輸入
wsl -l -v







就可以知道目前是不是 WSL 2 的版本 了

2019年7月8日 星期一

Windows 10 與 Windows Server 2016 關閉 Windows Defender

CMD 輸入 gpedit.msc
「電腦設定」→ 「系統管理範本」→「Windows 元件」→「Windows Defender」
「已啟用」

Ubuntu 18.04 安裝 RabbitMQ

由於 RabbitMQ 是由 Erlang 開發的

安裝 erlang
sudo apt-get install erlang-nox

安裝 RabbitMQ
sudo apt-get update
sudo apt-get install rabbitmq-server

啟動、停止、重啟、狀態 RabbitMQ 命令
sudo rabbitmq-server start
sudo rabbitmq-server stop
sudo rabbitmq-server restart
sudo rabbitmqctl status

添加admin,並賦予 administrator 權限

PS.為了安全性的問題, admin 密碼可以修改成你要的密碼

添加admin用戶,密碼設置為admin
sudo rabbitmqctl add_user  admin  admin
賦予權限
sudo rabbitmqctl set_user_tags admin administrator
賦予virtual host中所有資源的配置、寫、讀權限以便管理其中的資源
sudo rabbitmqctl  set_permissions -p / admin '.*' '.*' '.*'

RabbitMQ GUID 使用
先到 RabbitMQ 安裝目錄
cd /etc/rabbitmq
sudo  rabbitmq-plugins enable rabbitmq_management

瀏覽器訪問
http://localhost:15672/

http://「你 VM 的 IP」:15672/

預設 Web 的 Port 是 15672
預設 MQ 的 Port 是 5672
不要搞混了















輸入剛剛的 admin  帳號與密碼登入

PS.為了安全性的問題,可以在 admin 新增 user 並刪除 guest 帳號,之後登入就用新帳號登入


2019年7月4日 星期四

Ubuntu 安装 Redis

sudo apt-get update
sudo apt-get install redis-server

啟動 Redis
redis-server

查看 redis 是否啟動?
redis-cli
以上命令將打開以下終端:

redis 127.0.0.1:6379>
輸入 PING 命令
會顯示 PONG
表示已經成功安裝了redis

要注意的是
外部無法連線
必須做一些設定
sudo vi /etc/redis/redis.conf
預設為
bind 127.0.0.1
要修改為
# 供外部 IP 連線
bind 0.0.0.0

加入以下設定,設定登入密碼
requirepass 你的密碼






































重啟 redis server
sudo /etc/init.d/redis-server restart

C# 可用 CSRedisCore 套件做操作

安裝 Windows Redis

1.Redis的下載地址:
https://github.com/MicrosoftArchive/redis/releases/download/win-3.2.100/Redis-x64-3.2.100.msi

2.Redis Desktop Manager 下載地址:
https://github.com/uglide/RedisDesktopManager/releases/download/0.9.3/redis-desktop-manager-0.9.3.817.exe

3.
開啟 CMD
輸入指令
cd C:\Program Files\Redis
redis-server redis.windows-service.conf
啟動服務

4.開啟 Redis Desktop Manager 輸入 localhost 點選連線即可






































C# 可用 CSRedisCore 套件做操作

Windows 10 下 安裝 RabbitMQ

由於 RabbitMQ 是由 Erlang 開發的

安裝 Erlang
https://www.erlang.org/
點選Download Erlang/OTP下載按鈕

安裝 RabbitMQ
https://www.RabbitMQ.com

安裝 RabbitMQ 後會有一個捷徑 RabbitMQ Command Prompt (sbin dir)
執行捷徑 RabbitMQ Command Prompt (sbin dir)
會出現 CMD 命令列






















輸入指令啟用外掛(有網頁介面):
RabbitMQ-plugins.bat enable RabbitMQ_management
輸入指令重啟伺服器:
net stop RabbitMQ && net start RabbitMQ

停止服務,必須手動關閉!
輸入指令關閉伺服器:
RabbitMQ-server stop

不關閉下次還會開啟 RabbitMQ

測試一下是否安裝成功
瀏覽 http://localhost:15672/#/

http://「你的 VM 的 IP」:15672/#/

















預設賬號:guest     
預設密碼:guest

PS.為了安全性的問題,可以在 admin 新增 user 並刪除 guest 帳號,之後登入就用新帳號登入

預設 Web 的 Port 是 15672
預設 MQ 的 Port 是 5672
不要搞混了




























RabbitMQ Command Prompt (sbin dir) 常用指令:

RabbitMQ-plugins enable RabbitMQ_management 開啟外掛
RabbitMQ-service remove 移除服務
RabbitMQ-service install 安裝服務
RabbitMQ-service start 或者 net start RabbitMQ 啟動服務
RabbitMQ-service stop 或者 net stop RabbitMQ 停止服務
RabbitMQctl status 檢視服務狀態
RabbitMQ-server restart 重啟服務

特別提一下在 Windows 10 下安裝 RabbitMQ ,如果使用者名稱是中文的,則會出現啟動失敗的情況。
網路上有教學,需要可以去查一下(我沒測試過,所以這邊不說明)。

2019年7月3日 星期三

安裝 Chocolatey 簡單的用 Command Line 安裝軟體


簡單的介紹一下 Chocolatey:
Chocolatey 是一個類似 Linux 的 apt-get or yum 的功能
讓你可以一個指令進行下載與安裝
過程可以做到不需要人為的操作
達到一鍵安裝應用程式

安裝方式:
用系統管理員執行 CMD
輸入
@"%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -NoProfile -InputFormat None -ExecutionPolicy Bypass -Command "iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))" && SET "PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin"

安裝完畢
輸入
choco
會出現目前的 Chocolatey 版本號
則代表安裝成功

輸入
choco install winrar
可以安裝 winrar
輸入
choco install winrar -y
則可以連按下同意 Y 都不用按
就安裝成功

Windows 10 用指令呼叫「控制台」等等系統常用服務

CMD 命令模式執行指令:

控制台
control






















電腦管理
compmgmt.msc



















使用者帳戶
control userpasswords
control nusrmgr.cpl























本機使用者與群組
lusrmgr.msc


















系統管理工具
control admintools



























工作排程器
control schedtasks


上傳私有 NuGet 到 Azure 發生 The specified source '你的 Nuget 名稱' is invalid. Please provide a valid source. 的解決方法

試了兩種上傳方式 nuget.exe push -Source "你的 Nuget 名稱" -ApiKey CArk "*.nupkg"

nuget.exe push -Source "你的 Nuget 名稱" -ApiKey CArk "%1/NuGet路徑.%2.nupkg"
後一直失敗







結果發現,問題是我在 Visual Studio 設定的 NuGet 名稱跟 Azure 不一樣



























所以才一直發生錯誤


讓 Hyper-V 與 VMware 共存在一台 Windows 10 機器上

以系統管理員開啟 CMD 並下指令
新增一個開機選項 『Windows 10 關閉 Hyper-V』:
bcdedit /copy {current} /d "Windows 10 關閉 Hyper-V"

Enter 後出現以下訊息並顯示一串機碼:
已順利將項目複製到 {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}

設定開機時選擇選項 『Windows 10 關閉 Hyper-V』 後會關閉 Hyper-V並開機:
bcdedit /set {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx} hypervisorlaunchtype OFF

重新開機後就會多出一個 『Windows 10 關閉 Hyper-V』 的開機選項了


如果還原原來的狀態
可以刪除開機選項 『Windows 10 關閉 Hyper-V』:
bcdedit /delete {上一步驟複製的 identifier 機碼}

輸入 bcdedit 可以顯示所有開機選項的機碼
可以驗證一下
剛剛的開機選項是否被刪除了


Windows 10 可以設定預設開機選項

































解決win10 VirtualBox無法啟動 (VERR_NEM_VM_CREATE_FAILED)
bcdedit /set hypervisorlaunchtype off
重啟電腦就常了

2019年7月2日 星期二

Windows 10 在多個 .NET Core SDK 指定特定版本號

在目前工作目錄產生一個 global.json 文字檔案
新增內容如下:
{
  "sdk": {
    "version": "2.2.107"
  }
}

也可以用指令產生 global.json
指令內容如下:
dotnet new globaljson (要開檔改版本號)
dotnet new globaljson --sdk-version 2.2.107(直接開檔並指定版本號)

不知道版本號多少的,可以令用指令查詢
查詢目前所有安裝的 SDK 版本號指令如下:
dotnet --list-sdks


測試中意外刪除了一些快取,讓系統多出了快 10 GB


輸入 dotnet nuget locals --clear all

info : 正在清除 NuGet HTTP 快取: C:\Users\user\AppData\Local\NuGet\v3-cache
info : 正在清除 NuGet 全域套件資料夾: C:\Users\user\.nuget\packages\
info : 正在清除 NuGet 暫存快取: C:\Users\user\AppData\Local\Temp\NuGetScratch
info : 正在清除 NuGet 外掛程式快取: C:\Users\user\AppData\Local\NuGet\plugins-cache
info : 已清除本機資源。

執行的有點久,但是執行完,C 槽就增加了 10 GB左右。

類似 Visual Studio 的 「清除所有 NuGet 快取」

2019年6月29日 星期六

2019年6月27日 星期四

怎樣移除 ASP.NET Core 用 docker 來偵錯

用 NotePad++ 開啟 <專案名稱>.csproj.user

修改下列設定:

<ActiveDebugProfile>Docker</ActiveDebugProfile>

改成

<ActiveDebugProfile>Debug</ActiveDebugProfile>

就能不跑 docker 偵錯

VMware Workstation Pro 12 安裝 Ubuntu 18.04 發生「VMware Workstation 與 Device/Credential Guard 不相容」的解決方法













輸入 gpedit.msc

本地電腦原則 ► 電腦設定 ► 系統管理規範 ► 系統 ► Device Guard ► 開啟虛擬化型安全性

選擇已停用












以系統管理員身份執行 Windows Powershell
通過命令關閉 Hyper-V

bcdedit /set hypervisorlaunchtype off

重新啟動電腦就能正常了

2019年6月18日 星期二

Windows 10 利用 Command Line 新增系統環境變數

在 Command Line 輸入下列指令:

setx /M 'EnvironmentVariables' 'EnvironmentValue'

就可以看到新增環境變數了

Visual Studio 2017/2019 推薦的擴充功能與更新

參考文章: 覺得 Google 的 Blogger 不太順手?透過 HTML 的 iframe 移花接木 HackMD