投稿

8月, 2025の投稿を表示しています

ubuntuでcronを利用したshutdown処理

 1.概要 ubuntu desktop環境を自動でshutdownするために、crontabを作成したのですがうまく行きません。その内容と対処方法に関して記述します。 2.詳細 普通にubuntuにloginした状態でcrontabを利用して時間指定でshutdownを動かしてみます。 crontab -e 設定内容は以下の通りで、15:00にshutdownを実行して停止しそうです。 0 15 * * * shutdown -h now しかし、shutdownは実行されません。/var/log/syslogを参照すると下記ログが記録されています。 (username) CMD (shutdown -h now) (CRON) info (No MTA installed, discarding output) 参考資料を参照するとMTAを導入との記述ですが、納得できません。 そこで、root権限不足が理由ではないかと考えて、sudoでcrontabを作成しました。 sudo crontab -e 設定内容は1時間変更して、16:00にshutdown実行です。 0 16 * * * shutdown -h now これで想定通りに動作します。 参考 "(CRON) info (No MTA installed, discarding output)" error in the syslog https://askubuntu.com/questions/222512/cron-info-no-mta-installed-discarding-output-error-in-the-syslog

rc.localを利用したubuntuのPC起動時の処理実行

 1.概要 ubuntu-22.04起動時に実行したい処理がある場合、/etc/rc.localにその内容を記述します。ネットを調べて異なる設定ファイルの記述があったのですが、ubuntu-22.04.5で従来方式で動作したのでその内容を記述します。 2.詳細 /etc/rc.localを作成して、その中に実行した処理を記述後、実行権限を与えます。 sudo vi /etc/rc.local 内容は以下のテスト事例とします。 #!/bin/bash echo "Test rc.local" 実行権限を与えます sudo chmod +x /etc/rc.local 3.所見 /etc/rc.localが実行される背景にはsysytemdの設定が存在します。 最初の参考資料には、下記設定があり上記/etc/rc.localの設定で動作するとのことです。 /lib/systemd/system/rc-local.service 次の参考資料には、下記設定を作成して/etc/rc.localを動かすことができるとのことです。 /etc/systemd/system/myservice.service 私は最初の方式を利用しました。 参考 ubuntu 18.04 で rc.local を使う https://qiita.com/tanyorg/items/401cbadd88fa3fe0b9d3 問題の概要 https://zenn.dev/zuzuzu/articles/etc_rc_local

PCとディスプレイの接続に利用するdisplay portの変化

 1.概要 PCとモニター接続は長い期間をかけて変化してきました。最近、古いモニターを交換してDP(DisplayPort)に関して調べたのでその内容を記述します。 2.詳細 モニターがブラウン管を利用していた時代から液晶に代わり、接続インターフェイスも変わってきました。ブラウン管時代はVGAのアナログインターフェイスでしたが、液晶に変わってデジタルインターフェースになり、スピーカーも内蔵されるようになりました。 VGA => DVI => HDMI/DisplayPort => usb-c と変わってきています。 PC側の出力インターフェイスとモニターの入力インターフェイスは同じような時期に変更されていますが、PCの買替サイクルが短いので、モニター側のインターフェイスがPCのインターフェイスよりも古いことが起きてしまいます。例えばPC側がHDMIの出力でモニター側がVGA/DVIなどです。この時に変換ケーブルが必要となりますが、実現できない組み合わせがあることを知りました。 DP(DisplayPort)はその例です。HDMIとDPはDVIと音声を一つにしたインターフェイスのようですが、実現方式が異なっているようです。DPはパケット方式を利用しているとのことで単純な接続ケーブル変換方式での実現とはならないようです。 一般に販売されているDP→DVIは片方向変換でDVI→DPを実現する製品は限られているようです。しかし、PC側のusb-cからDPへの変換ケーブルは多数あります。usc-c側でDPをサポートする仕組みがあるようです。 中々なくならないのがVGA方式で、DVI,HDMI,DP,usb-cから接続する変換ケーブルが用意されています。アナログインターフェイスは最強なのかもしれません。 参考 DisplayPortからHDMIケーブルに変換するときの正しい方法とよくあるトラブルとは?注意点もあわせて解説! https://classlab.co.jp/rirife/convert-displayport-to-hdmi-cable/

Ubuntu Desktop上にDirecotry ShortCutを作成する方法

 1.概要 Desktop上にデータが入ったディレクトリのショートカットが欲しくなることがあります。Windowsの場合は視覚的操作で簡単にショートカットを作成できますが、ubuntuでどのように作成するかを調べてみました。その内容を記述します。 2.詳細 参考資料を参照してシンボリックリンク方式で実現をしました。 デスクトップ上に作成したいディレクトリは、/home/username/JobDocumentとします。 terminalでシンボリックを/home/username/Desktopに作成することで実現できます。 cd /home/username/Desktop ln -s /home/username/JobDocument JobDocument 上記操作をするとubuntuのデスクトップ上にJobDocumentのディレクトリのショートカットが表示されます。 参考 Linux上でディレクトリ(フォルダ)やファイルへのショートカットを作成する方法 https://note.com/kurakana/n/n4ad266fcbe81 Desktop Icon https://ubuntults.blog.fc2.com/blog-entry-96.html

クラウド環境に慣れてしまうと物理機器への対応が難しい

 1.概要 クラウド環境のサービスに慣れてしまうと物理PCで同じことを実施しようとした時に予想しなかったことに遭遇します。postgresqlを十分なメモリを搭載した物理PCで動作させた時に、メモリが想定されたように利用されないことに気が付きました。ネットで調べると、shared_bufferの値を変えることが必要とわかりました。クラウド環境は便利ですが、物理PCへ移行が必要になった時に、必要な設定事項があることを再認識しました。そのことを記述します。 2.詳細 Oracleなどの商用databaseを大規模サーバで動作させるときには、ベンダーに必要な設定変更を確認することができます。しかし、OSSのdatabase(postgresqlなど)を利用する場合、小規模環境を前提としており、環境に合わせた設定変更が必要になるようです。 最近は、PCのリソース(core数、物理メモリ、ストレージ)が安価になり、以前の大規模サーバレベルが個人でも利用できるようになっています。しかし、提供されたPCリソースをどのようにして効率的に利用するかはとても難しく、運用しながら調整をすることになります。 今回の事例はpostgresqlです。 共有メモリバッファ(shared_buffers)はデータをキャシュするメモリ領域です。既定値は128MBでした。 今回は16GBのメモリ搭載のPCなので、/var/lib/postgresql/data/postgresql.confのパラメータを変更しました。 shareed_buffer = 4G postgresqlを再起動して設定内容が反映されます。 参考 ここだけはデフォルトから変更すべきPostgreSQLの設定(パフォーマンスチューニング) https://qiita.com/sgmryk/items/2aee8c525991daab83bc