ubuntu

BIOS設定

Settings -> Platform Power

ErP:

シャットダウン(S3)状態の消費電力を小にする.
Enableの場合,Resume by Alam機能は利用できない.


Soft-Off by PWR-BTTN:

MS-DOSモード時に,電源ボタンでPCの電源をOFFに関する設定.
・Instant-Off: 即時OFF (default)
・Delay 4 Sec.: 電源ボタンを4秒間押したら電源OFF,4秒以内でサスペンドモード.

Resume by Alam:

任意の時間で電源ON.


Boot -> Fast Boot [1]

有効にすることによる害は無いが,Wake-on-LAN(遠隔で電源ONにする技術)を使っている場合,シャットダウンをすると問題発生する可能性がある.

Enabled:

起動時間が短縮.ネットワーク,光学デバイス,リムーバルディスクからの起動ができなくなる,
USBデバイス(キーボード,マウス,ドライブ)はOSが読み込まれるまで起動できなくなる.

Ultra Fase:

起動時間をさらに短縮.POST画面をスキップするため,通常∂を押してBOS画面に移行することができなくなる.
UEFIファームウェア設定に再起動する必要がある.(Windowsの場合?)

[1] https://www.compuhoy.com/what-is-fast-boot-gigabyte-bios/#Should_I_have_fast_boot_enabled

基本設定

キーボード

「全角/半角」キーで切り変わらない.

Unix系のOSに入力するソフト

IBus (読み方:アイバス)

バスのような構造を持っている[].

日本語の入力システム (IME)
Mozc (読み:モズク)

Googleの開発した日本語入力システム (IME) の略.オープンソース.[1]

Mozcのインストール[2]

sudo apt-get install ibus-mozc  

iBusの再起動と,設定の立ち上げ

ibus-daemon -drx 
ibus-setup


ibusの再起動をすると,キーマップが日本語用じゃなくなる.

setxkbmap jp


キーボードをMozcに設定

Ubuntuの設定アプリで,キーボードをJapanese (Mozc)に設定.PC再起動.

キーマップ

Macみたいにいかにような設定したい.
変換キー → かな
無変換キー → 英数
ctrl space → 半角スペース
Ubuntu設定 -> Keyboar, Input Sourceの Japanse (Mozc) の Preference -> Generarlタブ -> Keymapで以下のように変更.
DirectInput Mode: Henkan: Reconvert → Activate IME
Precomposition Mode: Shft Space → Ctrl Space
Precomposition Mode: Muhenkan: Set input mode to next kana type → Deactivate IME


[1] https://www.weblio.jp/content/Mozc
[2] https://www.orca.med.or.jp/receipt/download/precise/mozc.html
[3] https://ja.wikipedia.org/wiki/IBus


r


ibusについて

https://sites.google.com/site/zoom2writej/ubuntu/ibus




環境開発

NVIDIA GPUを使うためのドライバー

組み立てPCの場合,CPU内蔵のGPUが使われている.
NVIDIA製GPU用のドライバが必要.

参考:UbuntuにNVIDIAドライバをインストールする方法

内蔵アプリを用いてインストール

1.アプリケーションメニューから Additional Driversアプリを開く.
(Software & Update アプリのAdditional Driversタブを開くと同じ画面)

2.ドライバーのリストから(properietary, tested)の表記があるものを選択して Apply Changes
・初めはNouveau display driverが選択されていた.
・testedはテスト済みということ.

3.再起動して完了


CUDA; Compute Unified Architecture

NVIDIA社開発の,GPUが並列計算するのに必要なやつ.

バージョン確認

そこらへんのブログを参照したものを集めてみた.

ターミナルにてコマンド1[1,2]

nvcc -V

注:これはどのnvccのパスに通ってるかで変わってくる[2].

ターミナルにてコマンド2[2]

nvidia-smi

注:ドライバが対応しているCUDAのバージョンが得られるだけ.

テキストファイルを確認する[2]

cat /usr/local/cuda/version.txt






cuDNN; CUDA Deep Neural Network

ディープニューラルネットワーク関係のライブラリ

バージョン確認

cuDNNのヘッダファイルを見る[1].

次のファイルを確認する.
....../NVIDIA GPU Computing Toolkit/CUDA/v9.1/cudnn.h


以下の表記があるはず.

#define CUDNN_MAJOR 7
#define CUDNN_MAJOR 1
#define CUDNN_MAJOR 3



ターミナルにて[2]

cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2

あるいは,

cat /usr/include/cudnn.h | grep CUDNN_MAJOR -A 2

まあ,.txtファイル見てるのと一緒だね.

ターミナルにて[3]

dpkg -l | grep "cudnn"







[1] http://tecsingularity.com/cuda/version_conf/
[2] https://blog.mktia.com/get-cuda-and-cudnn-version/
[3] https://masaki-note.com/2021/04/21/cudacudnn/


VPNを構築する

接続先の自宅PC,Ubuntuに構築する.
softetherVPNを用いる.
ダウンロードセンターにて,ダウンロード.
コンポーネント:SoftEther VPN Server
プラットフォーム:Linux
CPU:Intel x64/AMD64 (64bit)

Linxu用チュートリアルを参考.
Ubuntuは推奨ではなかった.

ビルドに必要なパッケージのインストール

sudo apt install make
sudo apt install build-essential

build-essentialは多分,基本的なビルド用パッケージが入ってる.
必要なのはgccだが,それがここに入ってる.

パッケージのインストール

まずは,展開.

tar xzvf vpnserver-hogehoge-linux-x64-64bit.tar.gz

vpnserverというディレクトリが生成.

ビルド

cd vpnserver
make


配置

cd ..
sodo mv vpnserver /usr/local

場所については,推奨されるがままに...

パーミッションつける

cd /usr/local/vpnserver
chmod 600 *
chmod 700 vpncmd
chmod 700 vpnserver


動作確認

@vpnserver
./vpncmd

次の選択肢が出てくる.

1. Management of VPN Server or VPN Bridge
2. Management of VPN Client
3. Use of VPN Tools (certificate creation and communication speed measurement)
Select 1, 2 or 3:

3.Use of VPN Toolsを選択.

check

All check passedってなるはず.

初期設定

デーモンプロセスとして登録

Linuxが起動中は常時動作するようにデーモンプロセスなるものに登録.
/etc/init.d/vpnserverというファイルを作成する.中身は以下.(←Ubuntuの場合血が勝ったりするのかな?)

#!/bin/sh
# chkconfig: 2345 99 01
# description: SoftEther VPN Server
DAEMON=/usr/local/vpnserver/vpnserver
LOCK=/var/lock/subsys/vpnserver
test -x $DAEMON || exit 0
case "$1" in
start)
$DAEMON start
touch $LOCK
;;
stop)
$DAEMON stop
rm $LOCK
;;
restart)
$DAEMON stop
sleep 3
$DAEMON start
;;
*)
echo "Usage: $0 {start|stop|restart}"
exit 1
esac
exit 0

書き込みには管理者権限が必要なので,なんとかする.

パーミッションつける

chmod 755 /etc/init.d/vpnserver


Linuxカーネルの起動時に自動的に起動

update-rd.d vpnserver defaults

※ここはsoftetherのマニュアルとは違う.
マニュアルでは/sbin/chkconfigだが,これはRedhat系でのもの.Ubuntuにはない.
参考:Ubuntu で chkconfig の代わりに update-rc.d を使う(2022年7月)

VPNサーバ起動

/etc/init.d/vpnserver start
/usr/local/vpnserver/vpnserver start 

https://***.***.*.**/ という数字の羅列が表示される.
なお,start > stopに置き換えれば,停止になる.

停止する必要がある状況

・設定ファイルを手動で編集
・アップデート
・再起動

管理者パスワードの設定

WindowsだとGUIあるらしい.Windowsではないので,コマンドで.

/usr/local/vpnserver/vpncmd

次の選択肢が出てくる.

1. Management of VPN Server or VPN Bridge
2. Management of VPN Client
3. Use of VPN Tools (certificate creation and communication speed measurement)
Select 1, 2 or 3:

1.Management of VPN Serverを選択.
IPアドレスの入力が求められる.VPN起動時の文字の羅列部分 (***.***.*.**)を入力.
続いてHUB名の入力が求められる.何も入力せずenter.

VPN Server>

という入力待ちになるはず.

VPN Server>ServerPasswordSet

でパスワードの設定が可能


VPNの構築

参考:https://rin-ka.net/how-to-vpn-server/ (2022年9月)
macOSからはL2TP over IPsecタイプで接続する.
L2TPでは,クライアント側のIPアドレスを自動的に割り振る.
接続先の仮想HUBにて,DHCPサーバの動作が必要.

ポート番号の解放

ubuntuにて,L2TP/IPsecに必要なポート番号を解放する.

sudo ufw allow 500/udp
sudo ufw allow 4500/udp
sudo ufw allow 1701/udp

なお,ポート番号について確認するコマンドは以下.

sudo ufw status



SecureNAT機能の有効化

L2TPサーバ機能を使用する場合,クライアント側はIPアドレスを固定せず,DHCPサーバによって自動的に割り振られる.
SoftEther VPN Serverの仮想HUBには,ScureNATという簡単なセットアップでできる機能がある.
これは,仮想NATとHDCPサーバを組み合わせたもの.


SecureNatの仮想ホストのインターフェース設定の確認

VPN Server/DEFAULT> SecureNatHostGet


SecureNatのNat機能の設定の確認

VPN Server/DEFAULT> NatGet


SecureNATのDHCPサーバ設定の確認

初期設定で仮想DHCP機能はEnable状態になっている.

VPN Server/DEFAULT> DhcpGet


SecureNATのDHCPサーバの設定

VPN Server/DEFAULT> DhcpSet

初期値:
DhcpSet /START:"192.168.30.10" /END:"192.168.30.200" /MASK:"255.255.255.0" /EXPIRE:7200 /GW:"192.168.30.1" /DNS:"192.168.30.1" /DNS2:None /DOMAIN: /LOG:yes
Default Gateway AddressはインターフェースのIPを指定する.
DNS Server Address 1は構築されたDNSサーバ(自宅のルータ?)のアドレスを設定する.→接続できなかった.
8.8.8.8,8.8.4.4に設定(https://www.gadgets-today.net/?p=909,2022年9月)

SecureNAT機能を有効化

VPN Server/DEFAULT> SecureNatEnable


SecureNAT機能の動作状況の確認

VPN Server/DEFAULT> SecureNatStatusGet

Kernel-mode NAT is Active
Raw IP mode NAT is Active
の二つがYESになってるはず.

ルータの設定

VPNの有効化のための設定が必要.
おそらく,デフォルトで有効になってるはず.
イッツコムのVn-muxモデムでは,IPSecパススルー,PPTPパススルーの二つを有効化.
(参考:https://cs.myjcom.jp/knowledgeDetail?an=003208235#a6,2022年9月)

IPsecVPNサーバ機能の有効化

/usr/local/vpnserver/vpncmd

表示される選択肢のうち,1.を選択.
IPアドレスの入力が求められる.Server起動時の文字の羅列部分 (***.***.*.**)を入力.
続いてHUB名の入力が求められる.何も入力せずenter.
ここでエラーが出る場合,Server起動時に,権限を付与するとできた.
以下のコマンドで,L2TPに関わる機能の有効化ができる.

VPN Server>IPsecEnable

以下の項目を聞かれる.
・Enable L2TP over IPsec Server Function Function: yes
iPhone, iPad, Android, Windows, MacOSでVPN接続をするには必要.
・Enable L2TP Raw L2TP Server Function; no
IPsecを用いないL2TPサーバ.特殊なクライアントからの接続のみ利用.
・Enable EtherIP / L2TPv3 over IPsec Server Function: no
拠点間接続VPNサーバ機能.今回やりたいのはリモートアクセスVPN.
・IPsec Pre-Shared Key String: *********
Macのクライアント(接続を要求する側)で,"認証設定…" -> "共有シークレット"項目に入力する.
参考:VPN Server / VPN Bridgeの管理コマンドリファレンス(2022年7月)

IPsecVPNサーバ機能設定確認

VPN Server> IPsecGet


ダイナミックDNS

固定グローバルIPアドレスはお金がかかる.
このダイナミックDNS機能を使うことで,固定IPアドレスではないアドレスで,無料で似たようなことができる.

ダイナミックDNSの設定確認

VPN Server> DynamicDnsGetStatus

最初からダイナミックDNSのホスト名が割り当てられている.

ダイナミックDNSホスト名の変更

VPN Server> DynamicDnsSetHostname hogehoge

世界で唯一でないとダメ.



ユーザ登録

SoftEther VPNでは,認証されたユーザのみ仮想HUBに繋げられる.
ユーザ認証は6種類.そのうち,パスワード認証を用いる.
vpncmdが起動中(上記のIPsecVPNサーバを有効化後)とする.

仮想HUBを管理するモードに変更

VPN Server> Hub Default

HUB名を設定していたらDefaultの部分をその名前に変えると思う.

VPN Server/DEFAULT>

になるはず.

ユーザ登録コマンド

以下のうちいずれかを実行.

VPN Server/DEFAULT> UserCreate
VPN Server/DEFAULT> UserCreate 登録するUser名 \GROUP:none \REALNAME:none \NOTE:none

UserCreateだけ入力する場合は,user名,グループ名,..一つずつ尋ねられる.
登録するUser名以外はなければnoneで良い.
参考:VPN Server / VPN Bridgeの管理コマンドリファレンス(2022年7月)

パスワード登録コマンド

以下のうち,いずれかを実行.

VPN Server/DEFALUT> UserPasswordSet
VPN Server/DEFAULT> UserPasswordSet 登録したusername /PASSWORD:登録するpassword

UserPasswordSetのみを入力する場合は,username, passowrd一つずつ尋ねられる.
参考:VPN Server / VPN Bridgeの管理コマンドリファレンス(2022年7月)


接続

インターフェースを追加

+マークからインターネットのインターフェースを作成する.
インターフェース:VPN
VPN:L2TP over IPSec
サービス名:hogehoge

構成

サーバアドレス:DNS名 hoge.softether.net
アカウント名:登録したユーザ名

認証設定…
パスワード:登録したパスワード
共有シークレット:IPSecVPNサーバ機能の有効化時に設定したもの

詳細
全てのトラフィックをVPN経由で送信にチェック.

クライアント(接続を要求する側)における,接続時のユーザ名は"仮想HUB名/ユーザ名" or "ユーザ名@仮想HUB名"と指定する.
ただし,"@仮想HUB"を省略する場合,デフォルト値: DEFAULTが選択される.このDEFAULT値も設定可能.
自動的にDEFAUlTという名前の仮想HUBが自動的に作られる.

・サーバのログ

/usr/local/vpnserver/server_log/に保存される.



・VPN Server - クライアント間に,NATがある場合,いくつかのパケットをプライベートIPアドレスに転送(フォワーディング,マッピング)する設定が必要.
・NATとは,.Network Address Translation
IPアドレスを変換するもの.どのデータがローカルネットワークに入れるかを決定でき,ファイアウォールとしても機能.
インターネットの接続口で利用する.ぷらいべーとIPアドレス→グローバルIPアドレス


ファイル共有


問題

BlueToothがonにならない

キーボードをBlueTooth接続で普段使っているのに,BIOS画面開いた後?使えなくなる.
BlueTooth設定のスライダが動かない.

rkill list ??

みたいなコマンドを打ってもBlueToothがない.

解決:

電源OFF,電源抜く.起動.