顯示具有 Linux 標籤的文章。 顯示所有文章
顯示具有 Linux 標籤的文章。 顯示所有文章

2019年2月28日 星期四

WSL 安裝 Visual Studio Code 記錄筆記

去官網下載 .deb 安裝檔
https://code.visualstudio.com/download

使用 dpkg 指令安裝 Visual Studio Code
sudo dpkg -i code_1.31.1-1549938243_amd64.deb

如果發生錯誤訊息:
dpkg: dependency problems prevent configuration of code:
 code depends on libnotify4; however:
  Package libnotify4 is not installed.
....
 code depends on libxss1; however:
  Package libxss1 is not installed.

dpkg: error processing package code (--install):
 dependency problems - leaving unconfigured
Processing triggers for mime-support (3.60ubuntu1) ...
Errors were encountered while processing:
 code

先執行 sudo su 換 root 權限
輸入
sudo apt update
sudo apt-get -f upgrade
執行更新一下

再安裝相關依賴的函示庫
sudo apt install libnotify4 libnss3 libxkbfile1 libsecret-1-0 libgtk-3-0 libxss1

再輸入一次安裝 Visual Studio Code
sudo dpkg -i code_1.31.1-1549938243_amd64.deb
應該是就安裝成功了(到這一步,我安裝成功了)

輸入 code 執行 Visual Studio Code
如果發生錯誤訊息:
/usr/share/code/bin/../code: error while loading shared libraries: libX11-xcb.so.1: cannot open shared object file: No such file or directory

輸入
sudo apt-get install libxss1

如果還是一樣發生錯誤,可以試試輸入
sudo apt-get install gconf-service libxext6 libxfixes3 libxi6 libxrandr2 libxrender1 libcairo2 libcups2 libdbus-1-3 libexpat1 libfontconfig1 libgcc1 libgconf-2-4 libgdk-pixbuf2.0-0 libglib2.0-0 libgtk-3-0 libnspr4 libpango-1.0-0 libpangocairo-1.0-0 libstdc++6 libx11-6 libx11-xcb1 libxcb1 libxcomposite1 libxcursor1 libxdamage1 libxss1 libxtst6 libappindicator1 libnss3 libasound2 libatk1.0-0 libc6 ca-certificates fonts-liberation lsb-release xdg-utils wget

安裝完

輸入 code --version 測試 Visual Studio Code 是否安裝成功!







顯示版本號,安裝成功!

2019年2月23日 星期六

2019年2月22日 星期五

Ubuntu 執行後出現錯誤訊息 The type initializer for 'Gdip' threw an exception. 錯誤訊息的解決方法

最近安裝了 nuget 的 NPOI 來處理 excel 檔案
在 Ubuntu 的 Linux 環境發生了 The type initializer for 'Gdip' threw an exception. 的錯誤訊息
執行 sudo ln -s /lib/x86_64-linux-gnu/libdl.so.2 /lib/x86_64-linux-gnu/libdl.so
執行完畢,就能解決這個問題。

2019年2月14日 星期四

為 Ubuntu 增加 PATH 的環境變數

修改系統檔案都要用 root 權限
先執行 sudo su 換 root 權限
可以用 vim /etc/profile

然後
按下 i
在檔案末端加上
export DOTNET_ROOT=$HOME/dotnet
export PATH=$PATH:$HOME/dotnet

或直接指定安裝路徑
export DOTNET_ROOT=/usr/share/dotnet
export PATH=$PATH:/usr/share/dotnet

輸入 :wq
離開 vim 編輯

執行 . /etc/profile

就能在任何目錄上呼叫 dotnet 了




2019年2月13日 星期三

重置 WSL Ubuntu

點擊 「應用程式設定」
































點擊「重置」





























再進入 Ubuntu 就會要求你輸入新的帳號跟密碼

2019年2月12日 星期二

supervisor 開啟 Web 介面


輸入 sudo vi /etc/supervisor/supervisord.conf

進入 vi 程式並編輯 supervisord.conf 檔案

按下「I」鍵(-- INSERT --)

在檔案尾端,新增設定:
[inet_http_server]         ; inet (TCP) server disabled by default
port=0.0.0.0:9001          ; (ip_address:port specifier, *:port for all iface)
username=user             ; (default is no username (open server))
password=pass             ; (default is no password (open server)):

輸入「:wq」寫入 supervisord.conf 並離開 vi 程式


重新啟動 supervisor

輸入 sudo supervisord -c /etc/supervisor/supervisord.conf
sudo supervisorctl reload

沒意外瀏覽 http://localhost:9001 就可以看到 Web 介面


2019年2月11日 星期一

透過 supervisord 執行 .NET Core 程式



利用 WinSCP 將自己開發的 .NET Core 程式上傳到 Ubuntu 上,
再透過 PuTTY 執行 .NET Core 程式,當 PuTTY 關閉後,
.NET Core 程式也會關閉。

所以我需要利用 supervisord 來管理 .NET Core 程式,
在 PuTTY 關閉後,也能正常運行。

在 Ubuntu 安裝 supervisord

先執行 sudo su 換 root 權限
apt-get update
apt-get install -y supervisor



安裝完,輸入 service supervisor status 看看是否安裝成功。



編輯 supervisor 設定檔

先執行 sudo su 換 root 權限

vim /etc/supervisor/supervisord.conf

進入 vim 修改 supervisord.conf 檔案



按下 i (-- INSERT --)

新增 supervisor 設定

[program:你的程式]
command=/usr/bin/dotnet /home/使用者/你的程式目錄/你的程式.dll
directory=/home/使用者/你的程式目錄/
user =root
autostart=true
autorestart=true
startsecs=3
stderr_logfile=/tmp/你的程式_err.log
stdout_logfile=/tmp/你的程式.log
environment=ASPNETCORE__ENVIRONMENT=Production

或直接指定路徑
command=/usr/share/dotnet/dotnet /home/你的程式目錄/你的程式.dll

PS. dotnet 安裝路徑可以用 dotnet --info 查到


輸入 :wq 存檔後,用指令重新啟動 supervisord

supervisorctl reload

輸入 service supervisor status 看看是否設定成功

用 supervisor 啟動你的程式

supervisorctl start 你的程式







2019年2月1日 星期五

Windows 10 subsystem for Linux ( Ubuntu ) ( WSL ) apt-get install xxxx 指令發生錯誤 E: Could not open lock file /var/lib/dpkg/lock - open (13: Permission denied) E: Unable to lock the administration directory (/var/lib/dpkg/), are you root? 解決方法

使用 Windows 10 subsystem for Linux ( WSL )
的 apt-get install xxxx 指令發生錯誤




E: Could not open lock file /var/lib/dpkg/lock - open (13: Permission denied)
E: Unable to lock the administration directory (/var/lib/dpkg/), are you root?

使用下列指令可以解決:

sudo -i





指令執行後,再輸入密碼切換到 Root 模式。

sudo apt-get update










指令執行完畢,就能正常使用 apt-get install xxxx 指令了。

2019年1月25日 星期五

Blazor 在 Ubuntu 一執行就當機的解決方法

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 預設版本)
就可以正常執行了。

簡單測試 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

2019年1月22日 星期二

AWS Ubuntu 的 .pem 檔轉成 .ppk 檔

利用 PuTTYgen 工具
點擊 Load
找到 .pem 檔案
再點擊 Save private key
儲存為 .ppk 檔案


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

2018年9月10日 星期一

在 docker 的 ubuntu 安裝 dotnet 不能執行的問題解決方法

在 docker 的 ubuntu
安裝 dotnet 2.1 後
執行
root@1473781a7c69:/# dotnet --version
出現錯誤
FailFast:
Couldn't find a valid ICU package installed on the system. Set the configuration flag System.Globalization.Invariant to true if you want to run with no globalization support.

安裝 ICU
apt-get install ICU
出現錯誤
E: Unable to locate package ICU

改成安裝 libicu-dev
apt-get install libicu-dev
就能正常安裝 ICU 與執行 dotnet

執行 dotnet 程式輸入
root@1473781a7c69:/home/linux-x64# dotnet Server.dll
出現錯誤
No usable version of the libssl was found
Aborted

再安裝 libssl
apt-get install libssl-dev

再把 openssl 1.1 降版本到 1.0 版
apt-get install -y --allow-downgrades openssl1.0
因為 dotnet 2.1 只支援 openssl  1.0
openssl  降版本後 dotnet 2.1 就能正常執行了


記得指令輸入前先執行 apt-get update

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

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