ラベル Ubuntu の投稿を表示しています。 すべての投稿を表示
ラベル Ubuntu の投稿を表示しています。 すべての投稿を表示

2025年11月13日木曜日

mce=off

数か月前から splash screen で再起動がかかる Ubuntu。

GRUB_CMDLINE_LINUX_DEFAULT に mce=off を追記したら、すんなり起動しました。

何だろう?

2025年8月27日水曜日

conda チャンネル書き換え

 miniconda を入れたら、defults チャンネルを削除できなくなっていました。

$ conda config --remove channels defaults


~/miniconda3/.condarc を書き換えるだけでした。

channels:
  - conda-forge


これで conda-forge がデフォになりました。

2025年8月13日水曜日

AMD + nvfortran

Dockerが走らなくなっていたPCは再インストールから。

$sudo apt update
$sudo apt install -y nvidia-container-toolkit
$sudo systemctl restart docker

$sudo docker run --gpus all --ipc=host --ulimit memlock=-1 -it --rm -v /media/user/Data/:/workspace/data/ nvcr.io/nvidia/nvhpc:25.5-devel-cuda_multi-ubuntu24.04

$cd workspace/data/src_gpu
$make

makeファイルのオプション:
FLAGS = -O3 \
         -byteswapio \
         -tp=znver4 \
         -Mfma \
         -Mcache_align \
         -Mvect=simd \
         -acc=gpu,multicore \
         -gpu=cc89,mem:managed \
         -mp=allcores,bind \
         -Minfo=accel,mp,inline

-O3: 最適化レベル
-byteswapio: I/O操作でバイト順序を入れ替え
tp=znver4: AMD Zen4アーキテクチャを対象プロセッサとして指定
-Mfma: 融合乗算加算(FMA)命令を有効化
-Mcache_align: キャッシュ利用効率向上のためのデータアライメント
-Mvect=simd: SIMDベクトル化を有効化
-acc=gpu,multicore: GPUとマルチコア加速のためのOpenACCを有効化
-gpu=cc89: Capability 8.9(Hopperアーキテクチャ)を対象
mem:managed: CUDA管理メモリを使用
-mp: OpenMPの並列処理設定
allcores: 利用可能な全CPUコアを使用
bind: スレッドをCPUコアに固定
-Minfo: コンパイラ情報出力
accel: アクセラレータ(GPU)コード生成情報
mp: マルチプロセッシング/OpenMP最適化情報
inline: 関数インライン化情報


Memtest86+

GRUB 操作時に不意に再起動する現象に遭遇。

PC購入時より、計算中にメモリを使いきると再起動する問題があったので、メモリテストを実施。するとメモリテスト中にも再起動が発生。

メモリを抜き差しして、再度テスト。3時間くらい走らせて止めました。
計算で負荷をかけて様子を見ます。


Disable the Nouveau Driver on Ubuntu 24.04

引き続き、お盆の間にPCのメンテナンスです。

後輩君が使用していた計算用の Ubuntu 24.04 v6.14 がカーネルパニックを起こして起動しなくなりました。引っかかていた NVIDIA ドライバを UPDATE したら解決するだろうと思っていたのですが、挙げてみるとたカーネル v6.11 も起動しなくなりました。どうも、Nouveau(オープンソースの NVIDIA ドライバ)と衝突している模様。カーネルの起動オプションに nomodeset を追加して Nouveau ドライバのモードセット(modeset)機能を無効化。

設定方法は以下の通りです。

一時的にnomodesetを使う方法(起動時のみ):
PC起動時にGRUBメニューが表示されたら、Ubuntuの起動エントリを選択し、eキーを押して編集モードに入る。
linux行の中にある quiet splash の部分を探し、その後ろに nomodeset を追加する。
F10キーを押して起動する。

恒久的にnomodesetを設定する方法:
/etc/default/grub
変更前:GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
変更後:GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nomodeset"
v6.14はまだ起動しませんので、GRUB内の起動順序を入れ替えます。
変更前:GRUB_DEFAULT=0
変更後:GRUB_DEFAULT="1>2"
$ sudo update-grub

これで起動できました。うーん、対処療法。


2025年8月12日火曜日

リモートデスクトップ(GNOME)のパスワード固定 Ubuntu 24.04

22.04でも設定し、その後忘れてしまったリモート時のパス固定。

GNOME Remote Desktop はパスワードをキーリングに保存しますが、起動時にキーリングがロックされているとパスワードが読み込めず、新しいパスワードを自動生成してしまいます。ダミーのキーリングを作成し、パスワードを暗号化しない(空パスワード)状態にすることで、キーリングのロック問題を回避し、パスワードが固定されるようにします。

パスワードを固定する手順

1. Seahorse(パスワードと鍵)をインストール・起動
$ sudo apt install seahorse
$ seahorse

2. 新しいパスワードキーリングを作成
Seahorse の左ペインで「新しいパスワードキーリング」を追加
任意の名前を付けて作成
パスワード入力画面が出たら、リターンキーを2回押して空パスワードで保存
作成したキーリングをデフォルトに設定

3. 作成したキーリングを右クリックし、「デフォルトにする」を選択
リモートデスクトップのパスワードを再設定

4. Seahorse で元の「ログイン」キーリングに戻す
Seahorse を再度開き、作成したダミーキーリングに「GNOME Remote Desktop」関連のパスワードが保存されていることを確認
元の「ログイン」キーリングを右クリックして「デフォルトにする」に戻す

5. その他
オートログイン設定
「設定」-「システム」-「ユーザー」を選択
「自動ログイン」をオン

自動ロック解除(画面ロック無効化)方法
「設定」-「プライバシーとセキュリティー」-「画面ロック」
スイッチをオフ


2024年8月6日火曜日

システム修復

片道4時間、日帰りで、観測システムを修復してきました。

Linuxに不慣れだった後輩君が設定していたため細部の設定に漏れがあったこと、私の管理ミスでこれを見逃していたこと、夏場の高温でハードの一部に不具合が発生していたこと、最終的には停電がトリガーとなったこと等、いくつかの要因が重なり問題となりました。で、現場まで赴くことに。

原因を突き止めてしまえばその場で対応できる、比較的簡単なソフト側の対策で済んだのですが、熱だけはハード対策が必要そうでした。が、これは高価な製品を購入しないと対応できません。うーん。


システム修復後、ついでに DNS を設定。GUIからなぜか反映されていなかったので、コマンドで変更。

$ sudo vi /etc/systemd/resolved.conf

[Resolve]
DNS=8.8.8.8

$ sudo systemctl restart systemd-resolved.service


apt update は成功しますが、upgrade で失敗します。古いリストが残ったままなのでしょう。リストを全消ししてから再度 update & upgrade。upgrade には時間がかかりました。

$ sudo rm -r /var/lib/apt/lists/*


ひとまず周辺環境を含め目についた問題は全てつぶしておきました。今回は停電により、隠れていた問題も同時に顕在化しました。最初に見逃さないようにしないと、このように不要な対応が発生します。気を付けましょう。


2023年8月20日日曜日

WINシステム その4

Winシステムの受信側プログラムをOS起動時に自動実行させます。

Ubuntu でのスクリプト自動実行は2通り。
・「自動起動するアプリケーション」に登録
・スクリプトをsystemdに登録。

前者が一文を書くだけなので楽です。
後者は手順が多い。↓
1. unitを作成する。
etc/systemd/system/recvt_auto_start.service

[Unit]
Description=recvt_auto_start

[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/home/[user]/WIN/recvt_auto_start.sh

[Install]
WantedBy=default.target
2. 自動起動として設定。
$ sudo systemctl enable recvt_auto_start.service

3. OS再起動後、稼働状況を確認。
$ journalctl -u recvt_auto_start

 

これでOSが再起動しても引き続き受信できる、できたらいいなあ。

*************************************************
20230822追記
今のところ、正常動作しています。何度も再起動しましたが問題なし。大丈夫そうです。

2023年8月17日木曜日

起動しない Ubuntu 22.04

Ubuntu22.04 で、またもや apt upgrade できなくなりました。

error while loading shared libraries: libcrypto.so.1.1

こちらで対応。
https://stackoverflow.com/questions/72133316/libssl-so-1-1-cannot-open-shared-object-file-no-such-file-or-directory

まだ駄目。GRUB が引っかかっているようです。   

 "Cannot upgrade Secure Boot enforcement policy due to unsigned kernels....
https://www.kubuntuforums.net/forum/currently-supported-releases/kubuntu-20-04-focal-fossa-lts/software-support/665555-this-pops-up-when-using-dist-upgrade

Secure Boot を外してみたら、あっさり入りました。

が、今度はWiFiコントローラーとタッチパッド、タッチスクリーンを認識しなくなりました。うーん。

Secure Bootを戻してみましょう、と設定を元に戻すと今度は起動すらしません。うーん、やや重症っぽい。

仕方がないので Secure Boot を外し直し、カーネルの ver を起動時に選択。いくつか試すと正常に起動するモノがありました。一安心。

途中で止まるVerでは ACPI_BIOS_ERROR が発生していました。ドライバーが壊れちゃったのかな?

ま、寝かしておけばいずれ治るでしょう。次のLTSの公開が早いかな?

 


2022年12月8日木曜日

Failed to Install linux-image

Ubuntu22.04 の1台で、apt upgrade が使えなくなって2ヶ月。
Teams を入れようとして支障が出たため、重い腰を上げることにしました。

「大量のエラーが発生したため、処理が停止しました。」

この場合の対応はweb上に色々と書かれています。手当り次第試しましたが駄目。そういえば、手がなくなって寝かせていたのでした。

最後にた取りついたのがコチラ。
you need to remove the post-installation script of the packages
https://askubuntu.com/questions/1371963/ubuntu-20-04-lts-failed-to-install-linux-image-5-4-0-89-generic

次は1発で済ませます。

 

2021年11月5日金曜日

Ubuntu dist-upgrade

Ubuntu は手元に3台あるのですが、2台は 20.04、1台は18.04。

1台だけ環境が異なると支障の出る場合があり、最後の1台も上げましょうと重い腰を上げました。
「Software Updater」で 「upgrade」 をポチ、で、できるはずだったのですがボタンを押しても無反応。

$ sudo apt dist-upgrade
0 upgraded, 0 newly installed, 0 to remove and 1 not upgraded.
cuda-driver が引っ掛かっていました。

$ sudo apt install cuda-drivers
はい、確かにインストール不可→対処↓
https://forums.developer.nvidia.com/t/cuda-install-unmet-dependencies-cuda-depends-cuda-10-0-10-0-130-but-it-is-not-going-to-be-installed/66488/16
$ sudo apt clean
$ sudo apt update
$ sudo apt purge cuda-drivers
$ sudo apt purge nvidia-*
$ sudo apt autoremove
$ sudo apt install cuda-drivers

nvidia-* は迷いましたが、また入れたら良いでしょうと考え enter⏎。
これで完了。

最後に「Software Updater」 で upgrade ボタンを押すと反応しました。


2021年4月17日土曜日

Log into Ubuntu from Win via SSH

Ubuntu20.04 に、Windows10 から ssh して Jupyter notebook を動かしてみました。

以前から、Ubuntu の Python 環境を Windows10 から使いたいなと考えていました。ライブラリの OS 対応状況が異なっており、ラップトップの Win10 では制約が生まれていたためです。GUI 接続は遅いし、ラップトップをデュアル OS にしても GPU を使えないし、ということで、SSH の出番です。
(これらの内容は web 上に情報があふれていますので、最低限と思われる部分のみをメモしておきます。)


まずは、ホスト側の準備。(Ubuntu20.04)
Ubuntu に OpenSSH server をいれます(入れていませんでした)。
$ sudo apt install openssh-server

サーバーを起動。
$ sudo systemctl  start ssh

鍵を作成。
秘密鍵「id_rsa」と公開鍵「id_rsa.pub」が作成されます。
※秘密鍵はローカルホストに保存します。隠しファイルを表示しないと見えません。
$ ssh-keygen -t rsa

「id_rsa.pub」を「authorized_keys」にリネーム。
$ cd ~/.ssh
$ mv id_rsa.pub authorized_keys


次に、クライアント側(Win10)。
ローカルホストに秘密鍵「id_rsa」を保存します。cdコマンドを打たなくてもよいように、同パスにcmd.exe をコピー。そこから立ち上げて ssh の流れです。

余談ですが、AWSのEC2でも ssh 接続の場合は同じようにコマンドを打つだけでしたね。AWSの場合は接続まで仮想ネットワークを構築する作業が必要でしたけど。
https://phreeqc.blogspot.com/2018/10/aws-2.html
・セキュリティ
 Multi-Factor Authentication (MFA), security group (インスタンスの仮想 FireWall)
・アカウント
 AWS Identity and Access Management (IAM) ユーザー (group, policy)
・ネットワーク
 Amazon Virtual Private Cloud (Amazon VPC: IP, subnet, route table, internet gateway), elastic IP
・仮想マシン
 EC2
・ssh
 ssh -i ~/.ssh/Key.pem ec2-user@IP
うーん、なんだか実機にアクセスするよりもセキュリティーが厳しいような。というか、これが普通で、実機が甘いのでしょうね。

Win10 も RS4(1803) で SSH に標準対応していたそうです(Windows Subsystem for Linux + Ubuntu は不要でした)。
https://phreeqc.blogspot.com/2018/10/aws.html
cmd.exe から以下をたたいて接続。ポートフォワーディング機能を使います。
※cmd.exe と 秘密鍵を同じパスにおいておけば、-i オプションも不要
$ ssh -L 8888:localhost:8888 pc-user@IP

これでJupyter notebook をたたけばサーバーが立ち上がります。あとはクライアント側のブラウザでサーバーにアクセスすればOK。
AWSではここで手こずりましたが、実機ではあっさり動きました。config 作っていたかな?
https://phreeqc.blogspot.com/2019/01/ec2-h2o-jupyter.html

 

****************************
ファイルの転送は WinSCP のままです。Jupyter 用途だと、あまり使わないですかね。


2020年5月6日水曜日

メモリ

メモリ192GB のPCで計算。

買った当時、使い切ることはないだろうと考えていたのですが、あっさり使い切りました。最近は 80GB 程度であれば「少なくて済んだ」と思うように。
10年以上前だと 24GB でも奮発したような感覚だったのですが、怖いですね。

GPU だと 40GB で奮発した感覚になっています。10年後だと400越えでしょうか?

2019年1月19日土曜日

NVIDIA driver のインストール (Ubuntu18.04)

NVIDIA-driver-410 入れた時のメモ。

root権限
suでパスを入れるとエラー
sudo -i

Install drivers
$ sudo add-apt-repository ppa:graphics-drivers/ppa
$ sudo apt update
$ sudo apt install nvidia-driver-410

*************************************
20190206追記
Ver.415が出ていました。

$ ubuntu-drivers devices
$ sudo ubuntu-drivers autoinstall
$ sudo reboot
$ nvidia-smi

不要パッケージ削除
sudo apt autoremove

リポジトリ削除
$ sudo add-apt-repository --remove ppa:graphics-drivers/ppa

2018年12月21日金曜日

巨大CSVファイルの操作

5000万行以上の CSV データを取り扱い。

ファイルサイズは 13GB 程度。
ひとまず、手元の Ubuntu + Python + Pandas で読み込もうとしましたが、途中でメモリ実装分の 24GB を超えたため中止。何も指定せずに取り込んでも大丈夫だろうと安易に試行しましたが、ダメでしたね。
調べてみると、分割読み込み、for ループを利用した分割ファイルの一括操作など、メモリに載らない巨大データの取り扱い方法はありました。が、今回はWin10 に帰り EmEditor で不要な列を削除。半分程度の容量に落とし、再度 Python へ。
今度は読めました。

データフレームにしてしまえば、あとは速い。
describe で簡単な統計量を表示。最小値、最大値等で異常値を確認し、その値を含む行を削除。Nanを含む行も削除。それらのチェックを各列を対象に数度回繰り返せば、4000万行程度になりました。EmEditorだと削除だけでも時間かかりますからね。このあたりは Pyhton + Pandas 様サマ。ありがたい。

できたデータは hdf5 で保存。容量が減って、次回からのアクセスも早くなりました。
これ、今後のデフォにしましょう。

*****************************************************
20181230追記
DASK を試しました。
途中の表示は速いのですが、最後にcsv保存しようとすると、メモリーオーバー。
hdfだと時間はかかるものの保存できました。が、18GBに。なぜ?

2018年12月5日水曜日

Win10 + Ubuntu + Fortran

windows10 で Fortaran コードを編集・コンパイルしたいとのこと。

少し古い方に相談されていたみたいで、Cygwin + gfortran を進められていました。が、Cygwin がうまく入らないとのこと。
それなら、ということで Windows Subsystem for Linux をお勧め。Windows10 に Ubuntu を入れ、gfortran を使えるように。

フォルダ・ファイル等の permition の変更、ディレクトリの表現に気を付ける必要はありますが、Win とのファイルのやり取りは容易。Win からファイルを Ubuntu の home/ユーザーフォルダ内に移動して、コンパイル。そのまま計算して結果を Win +EXCELへ。

ま、ちょっとした計算ならコンパイラーを買うまでもないですし、デュアルブート を構築することもないでしょう。
Win10では、ずいぶん手軽になりました。

2018年10月6日土曜日

Jupyter + PyTorch

Docker で Jupyter + PyTorch を動かそうと試みました。

まずは、Nvidia GPU Cloud の PyTorch を利用。
ローカル dir をコンテナ dir に割り当てる。Ver.も指定。
$ nvidia-docker run -it --rm -v /home/Data:/data nvcr.io/nvidia/pytorch:18.09-py3

PyTorch 18.09 は Nvidia driver Ver.390 に未対応。410beta 以上が必要と言われました。410 を入れるため、リポジトリ追加。

$ sudo add-apt-repository ppa:graphics-drivers/ppa
$ sudo apt update

$ sudo ubuntu-drivers autoinstall
$ nvidia-smi
入りません。

$ sudo apt install nvidia-410
だめ。
$ sudo apt list --upgradable
410 提供されていません。

無駄足でした。ppaリポジトリ削除
$ sudo add-apt-repository --remove ppa:graphics-drivers/ppa
$ sudo apt update
ついでに
$ sudo apt upgrade
$ sudo apt autoremove

今度は Nvidia に直接取りに行きました。
が、現段階で 410 は GeForce だと RTX 20系 しか対応していないとのこと。最初に調べたら良かった。
https://www.nvidia.com/drivers/results/138299#driverInfo-138299=1

NGC の Ver とマシーンイメージを確認。
https://docs.nvidia.com/ngc/ngc-alibaba-vmi-release-notes/index.html#volta-alibaba-18-98-1
で、18.05 を選択。
$ nvidia-docker run -it --rm -v /home/Data:/data nvcr.io/nvidia/pytorch:18.05-py3
うん、Jupiter 入ってません。

では、Docker Hub から。
jupyter/tensorflow-notebook を入れると GPU 使えません。
pytorch/pytorch を入れると Jupyter 入ってません。
tensorflow/tensorflow を入れると、GPU も Jupiter も使えますが、Python2。

結局、一番簡単なのは、Google Colaboratory でした。時間制限はありますが、環境を汚さない条件では BEST でしょう。ひとまずこれで行きましょう。


**********************************
20181007追記
杜世橋「現場で使える!PyTorch開発入門」では、イメージが紹介されていました。基本、個人でUPされているものは、その確認が面倒です。が、図書で紹介されているものであれば問題ないでしょう。


2018年9月24日月曜日

CUDA Toolkit and Compatible Driver Versions

現段階で、Ubuntu18.04 に自動で入ったドライバーは Ver.390.48。
対応する CUDA Toolkit は 9.1。

ドライバとCUDA Toolkit
https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html#unsupported-features

Table 1. CUDA Toolkit and Compatible Driver Versions
CUDA ToolkitLinux x86_64 Driver VersionWindows x86_64 Driver Version
CUDA 10.0.130>= 410.48>= 411.31
CUDA 9.2 (9.2.148 Update 1)>= 396.37>= 398.26
CUDA 9.2 (9.2.88)>= 396.26>= 397.44
CUDA 9.1 (9.1.85)>= 390.46>= 391.29
CUDA 9.0 (9.0.76)>= 384.81>= 385.54
CUDA 8.0 (8.0.61 GA2)>= 375.26>= 376.51
CUDA 8.0 (8.0.44)>= 367.48>= 369.30
CUDA 7.5 (7.5.16)>= 352.31>= 353.66
CUDA 7.0 (7.0.28)>= 346.46>= 347.62

NVIDIA GPU CLOUD は、まだUbuntu16。CUDA 9.1もありません。
https://www.nvidia.com/ja-jp/gpu-cloud/

NVIDIA Docker には、18.04対応のファイルがあります。 が、CUDA9.2以上。加えて非公式。
https://hub.docker.com/r/nvidia/cuda/
# CUDA 9.2 is not officially supported on ubuntu 18.04 yet, we use the ubuntu 17.10 repository for CUDA instead.
ドライバーを手動で上げて、9.2を入れようかな?と思いましたが、急ぐ必要もないので公式対応まで待つことにしました。
少し早かったかな?


2018年9月17日月曜日

機械学習環境の更新(Ubuntu18.04)

Ubuntu を 18.04LTS に UP。

クリーンインストールを選択したのですが、ブートローダーの導入に失敗。
Win10 とは物理的に SSD を分けていましたので、Ubuntu の「インストールの種類」を選択する段階で「それ以外」を選択し、Ubuntu のSSD を指定すると、うまく入りました。

①まずは NVIDIA ドライバー。
$ sudo ubuntu-drivers autoinstall
$ sudo reboot
$ nvidia-smi
GPUの情報が出ました。OK。

②Win10 のために時計合わせ。
$ sudo timedatectl set-local-rtc true

③リモートデスクトップは Win側に VNC でなく、Ubuntu 側に XRDPを入れました。手順は googling で得られた通り。重いので、見直すかも。

④Docker、Nvidia Docker
共に18.04へ対応済みでした。手順は4月に入れた16の時と同様。
https://docs.docker.com/install/linux/docker-ce/ubuntu/#install-using-the-convenience-script
https://github.com/NVIDIA/nvidia-docker

⑤Deep Water
今回はDeepwater、XGBoost 共に GPU で動きました(1060の1枚刺し状態ですが)。
https://phreeqc.blogspot.com/2018/04/6-deep-water-deepwater.html

Deep Water は、H2O.ai の HP から消えています。開発は終了したのでしょうか?手元で問題が発生しなくなった時には開発終了になっていた、というのも残念ですね。今後を見据え、他のツールを準備しないといけません。プロがいたらインフラからソフトまで準備して頂けるのでしょうけど。

今日はここまで。
ひとまず、寄せ集めの機械学習環境を更新できました。