「Linux」カテゴリーアーカイブ

Linux関連情報

Rocky Linux 8 NAS接続

メッチャ忙しいから、メッチャシンプルに!
こんな感じです。

dnf install samba-client

dnf install cifs-utils

mount -t cifs //<ドメイン>/<dir> /mnt/xxxx

パスワードが必要な場合は

mount -t cifs //<ドメイン>/<dir> /mnt/xxxx -o password=xxxxx

/etc/fstabに以下を追加

リブートして接続されていれば完成です!

外部のSMTPサーバを使ってメールをコマンドで発行するには

SMTPサーバの設定をやってからメールを配信する仕組みを作る手法については、何どもやっているのですが、意外とSMTPサーバの構築は必要なくてメール配信だけコマンドラインでやりたいってのが無かったので、ここにメモしておきます。

Rocky Linux 8/CentOS 8の環境下で行います。

色々なサイトを見ていると、「mailコマンドが標準で使えるよ/インストールされている」とか「sendmailが入ってるから・・・」とか、どれならコマンド叩いたら・・・と思ってmailコマンド叩くと無いって怒られるw

最近はセキュリティ絡みで、外部と連携する機能は標準でインストールされない様になっているんですかね?

ということで、必要なパッケージをインストールします。

これで準備は完了です。
mailxだけ入れて、mailコマンド叩くと、sendmailが無いって怒られるんですよw
だから入れました。

ということで、コマンド叩いてみます。

設定はそれぞれの環境で異なりますが、概ねこんな感じです。
あとは、自分にテストメール送ってみて、届いていたら完成です。

Rocky Linuxへの移行

本記事は2021年9月1日現在の移行手順を記しています。
必ずしも最新の情報では無いことをご留意ください。
また、CentOSやRocky Linuxがそうであるように、OSSは自己責任です。
本記事の内容に不備があったとしても、何らの責任も保障もありません。
必ずバックアップを行ってから作業を行うことを強くお勧めします。

さて、2020年12月にCentOS 8の保守期間を2021年末で打ち切るという暴挙発言があってから、移行先に苦慮しておりました。
いくつかの選択肢があることはここで示しませんが、その一つとしてRocky Linuxを使用することとしました。

既にRocky Linuxへの移行手順については、いくつものサイトで記載されていますが、個人的なコメントも付け加えながら記録しようと思います。

まず、準備した環境はVMware上で動作する仮想マシンです。
CentOS 8 がインストールされています。
比較的単純な構成となっており、複雑な環境でどうなるかはこれからいくつかの環境を移行する中で生じる課題として、今後、気が向いた時にでも追記していこうかと思います。

では、移行手順を記します。

確認

まず、本家サイトを確認します。

https://rockylinux.org/

https://rockylinux.org/ja/

ドキュメントを確認し、Convert CentOS (and Others) to Rocky Linuxの内容を確認してみます。

ざっくりと最初の方で記載されていることは、ハードウェアとかVPSなどの実装環境とそこで動作しているCentOSやAlma linux,RHEL,OracleLinuxのバージョンが8.4に対応していることが求められています。

あと、root権限が必要になりそうですね。sudoでも可能なようです。

更に読み進むと、migrate2rockyをダウンロードして使用することが記載されています。
migrate2rockyは、下記のコマンドでダウンロードできます。
(後でこちらも記載します。)

この後の記載では、ブラウザでダウンロードする方法が記載されているのですが、まあコマンドラインで良いでしょう。どの道、コマンドラインで全て操作するのですから。。。

コマンド実行すれば出来上がりっぽい?
ということで、作業開始します。

手順

OSを最新状態にする。

まず、OSを最新の状態にアップデートします。

アップデートを行った後に、再起動を行うことをお勧めします。
※私の環境ではMySQL/MariadDBの設定を少し弄っていたために、MySQL/MariadDBが起動出来無くなっていました。こちらを参考に修正を行い復旧しました。

移行ツールのダウンロード

インターネットに接続されてる環境であれば、先に示したmigrate2rockyを直接ダウンロードすれば良いです。

本家では、/home/へアップロードする様に記載されていますが、他のサイトではどこでも良さそうですね。
説明が面倒なので、/home/で作業を進めます。

その他にもGitを使う方法やwgetを使う方法なども記載されています。
今回は、面倒な事をする気はないので、上記の方法で進めます。

インストール

これで準備は完了したようなので、インストール作業を進めます。

まず、移行ツールに実行権限を与えます。

そして実行しますが。。。。長い。。。

こんな感じで成功したようです。

最後にリブートするように指示されています。
その前に、、、、ちょっとだけ確認してみます。

当然ですが、既に、/etc/centos-releaseは存在せず、rocky-releaseに置き換わっていますね。
ということで、リブートします。

これで終わりです。

最後に

今回移行を行った環境は比較的シンプルな構成でした。
ダウンロードされたモジュールの総容量は約1.3GB程度と予想されます。
実際に掛かった時間は計測していませんが、体感で1時間程度ではないでしょうか?

アップデートと更新に係る時間がほとんどでしたら、既に最新の状態にされていた環境であれば30分程度で移行が完了するのではないかと思います。

作業自体は、非常にシンプルです。

作業後に少しだけ触ってみましたが、変わった印象も違和感もありませんでした。

MySQL/MariaDBを/rootや/home以下へ設定している環境をアップデートした時にMySQL/MariaDBが起動出来なくなってしまう!?

私の環境で発生した問題です。
CentOS 8.x/Rocky Linux 8.xにMySQL/MariaDBをインストールし、データベースを/home以下へ保存していました。
容量とパーティションの関係でそうなったのですが、これがOS/MySQL/MariaDBアップデート時に悲劇を招きました。

無事アップデートを終えたかに見えた状態でOSを再起動してみると、データベースが起動していない!?
試しにサービスの起動を以下のコマンドで試みるも、起動してくれない。

/etc/my.cnf.d/に変更が行われているのではないかと疑ってみたが、どうやら関係はない。

結果はコレだった!!

/usr/lib/systemd/system/mariadb.service
もしくは
/user/lib/systemd/system/mysql.service

この中で、バージョン情報などが変更されているのだが、以下の設定がデフォルトに戻っていた。

この設定は、/rootや/home以下にデータベースを保存する設定をした際に変更した経緯がある。
アップデートによりファイルが更新されて、デフォルトに戻されていたのだ!

設定のバックアップファイルなどは残っておらず、結論として当該ファイルの内容は完全に初期化され、過去の設定は残っていなかった。

設定を以下の様に変更した。

その後、以下のコマンドで設定を再読込みしサービスを起動したら正常に起動することが出来た。

この問題をどう回避するべきなのだろう?
通常は発生しないがバグなのだろうか?仕様なのだろうか?
アップデート前に、sosreportなどで設定をバックアップしておくべきなのだろうか?
でも、バックアップを確認するのも大変ですよね。困った事象です。
お気をつけ下さい。。。。
と言いつつ、ここを見ている人は、既に嵌った人ですよね。
ご愁傷さまでしたm(__)m

VMware Workstation Pro アンインストール

ちょっと不具合がありまして、VMware Workstation Proをアンインストールしようとした時のメモです。

こちらの記事を参考にしました。

https://docs.vmware.com/jp/VMware-Workstation-Player-for-Linux/16.0/com.vmware.player.linux.using.doc/GUID-0F7D2C5C-2B5C-4857-9166-A0B3B0C72B5F.html

こちらの記事では、VMware Workstation Playerのアンインストールコマンドがあり、プロダクトを指定する必要があることが判りました。

でも、正式なプロダクト名が分からないので、ヘルプを表示します。

プロダクトリストを出すオプションを指定してコマンドを実行します。

赤で示した部分がプロダクト名なので、以下のコマンドでアンインストールを行います。
バックアップとかは事前に確認してくださいね。

ということで完了です。

CentOS 8 でdnfが使えなくなった!?

この内容は、2021年12月末に行われたCentOS 8のEOLによる影響が出たために、その対応について記しています。
その他のdnf障害とはことなる対応となりますので、ご注意ください。

現象について

2022年2月に入ってから、CentOS 8.xでdnfコマンドを利用しようとしたところ、以下のメッセージが表示されました。

数日前には正常に動いていたのですが、突然使えなくなっていました。
キャッシュをクリアして。。。とか試みたのですが改善されません。

調べてみると、CentOS 8のEOLが影響しているっぽい。
A)の内容にも記載されていますが、EOLに伴ってサイトが退避されたようです。

A) https://forums.centos.org/viewtopic.php?f=54&t=78708
B) https://stackoverflow.com/questions/70930615/no-urls-in-mirrorlist-with-yum-on-centos-due-to-appstream

CentOS Streamへの移行まで書き記されていて、ドキっとします。
私はRocky LinuxやAlma Linuxへの移行は考えていますが、 CentOS Streamへの移行は考えていないので、必要なところだけ抜き出したメモをここに記そうと考えました。

対策

対策としては、リポジトリの設定を書き換える必要があることが判明しました。

以下のコマンドを実行して、リポジトリの設定を書き換えます。

その後、dnf listコマンドは正常に動作できるようになり、updateも問題なく行うことができました。

暫くは、EOLの影響がどこまで広がるのか心配です。

早めにRocky やAlmaへ移行しようと思います。

GNOMEデスクトップにアイコン追加とマウスメニューを表示する。

そろそろCentOS 8も終末を迎えるというのに、こんな時期にメモを残しても役に立つのだろうか?とは思いながらも、次に使うRocky Linuxでも同じことになるだろうから意味はあると疑わないで記録を遺します。

以前に調べて設定していたのですが、サイドやろうと思った意外と見つからない。
CentOS 8からデスクトップにアイコンが表示されなくなり、マウスメニューからターミナル/端末も起動出来無くなってしまった。

マウスの右クリック→メニューから端末を開くという流れが出来無いのが面倒で仕方がない。

対策は、アイコンを表示させることでクリアになる。

やること

まず、準備として以下のコマンドで必要なパッケージをインストールする。

次に、インストールされたTweaksを使って、デスクトップにアイコンを表示できるようにする。

Tweaksを開く。

「拡張機能」→「Desktop Icons」をオンにする。

以上で設定が完了しました。

デスクトップ画面にアイコンが表示されているはずです。

また、マウスを画面上で右クリックすると、メニューが表示され「端末を開く」を確認することができると思います。(環境によっては、英語で表示される場合があります。)

少し使いやくなったかな?

ついでに、デスクトップを切り替えて使いたい時がありますよね。
そんな時にも、Tweaksで拡張設定ができます。

「Window List」をオンにするだけです。

Zabbix 5.2 をCentOS 8へインストールする。(SELinuxは有効で!)を試してみる。

最近、日本語のインストール手順を記したサイトを確認したりしながら思うことがあります。
オリジナルサイトに英語で記述されている手順も確認する必要がありますね。

ということで、オリジナルサイトのインストール方法は下記のURLから確認してください。

多分、このURLから辿る感じですが。。。
https://www.zabbix.com/documentation/current/manual/installation/install_from_packages#from_distribution_packages

バージョン5.2をRHEL/CentOS/Oracle Linuxに入れる場合はこの辺りかな?
https://www.zabbix.com/download?zabbix=5.2&os_distribution=red_hat_enterprise_linux&os_version=8&db=mysql&ws=apache

ということで、順次始めて行きます。

まず、以下のインストールを行っておきましょう。

  • Apache
  • PHP 7.2以上

インストールと設定

上記で記したオリジナルサイトへアクセスして、対象を選択します。

Zabbix対象バージョンと環境を指定

少し画面をスクロールしてリポジトリのインストール方法を確認します。

Zabbixリポジトリの登録

リポジトリを追加して、dnfのキャッシュをクリーンしてます。

zabbixサーバとフロントエンドとエージェントをインストールします。

結構色々とインストールするみたいで、少し時間が掛かります。
途中、確認メッセージが表示されますが、全て「y」で答えれば大丈夫だと思います。(自己責任で)

データベースの設定

MariaDBの設定を行います。

データベースの初期設定やスキーマが準備されていますので、それを以下のコマンドで設定します。

最後に、設定ファイルにデータベースのパスワード設定を行えば、初期設定は完了です。
/etc/zabbix/zabbix_server.confにデータベース作成時に使用したパスワードを以下の様に設定すれば完了です。

サービスの登録

サービスを登録します。
色々サービス起動させるんですね。

最後に確認します。
http://IP_address/zabbix

こんな画面が表示されれば成功です。

zabbix起動画面

ログインまでの各種設定

まずは日本語にします。

Zabbix日本語で

前提条件がOKになっているか確認します。

前提条件確認画面

Zabbixデータベース接続設定。こちらではデータベースへのパスワードだけ入力します。他はそのままで大丈夫でしょう。

サーバの詳細でも何もすることないです。

GUIの設定が出来るようになっていました。
タイムゾーンとデフォルトデータを変更してみました。

GUI設定

最後に確認ですね。

確認画面

これでおしまい?

インストール設定終了画面

最後の設定が完了すると、ログイン画面が表示されます。

初期のユーザ名はAdminで、パスワードはzabbixです。

さて、このままでは正常に動作しません。
「zabbixサーバが動作していません・・・・」みたいなコメントが表示されます。
SELinuxに影響されています。
本家の設定内容にも記載がありますが、以下の設定を行います。

Apacheを再起動します。

これでSELinuxを有効にしていても、zabbixを使用することが可能です。
せっかくの監視システムですから、セキュリティにきちんとしておきたいですからね。

今更ですが、パッチ(Patch)の当て方について

最近は、プログラムの修正などはファイルを更新(アップデート)して完了させることが多いですね。
わざわざpatchを当てるくらいなら、何故、git使わないだ?という声もあるでしょう。
正直、需要が乏しい所でもありますね。
でも、今回は敢えてpatchについて、メモを残しておきます。

Patchとは

面倒なんで、Wiki調べてください。
https://ja.wikipedia.org/wiki/%E3%83%91%E3%83%83%E3%83%81

差分ファイルを作って、それをもってファイルの更新を行う方法になります。
更新後に問題があった場合には、Patchを戻すことも可能です。

今回、私が出くわした状態は、ファイルを更新して欲しいという要望でした。
完全に更新すれば必ず動く!という保証付きならば良かったのですが、実際には間違っていた部分もあって、元に戻さないといけない可能性がありました。
当然、バックアップを取ってから更新するということも考えたのですが、そこそこの数があったので、どうたものかと悩んだ挙句、少し時間は掛かるものの、patchによる適用とバックオン可能な状況を選択しました。

悲しいかな、gitを適用してなかったのがいけないんですけどね(^^ゞ

差分の確認

patchは差分情報により、更新対象となるファイルを更新するとともに、最悪場合は元に戻すことが出来ます。
Linuxでは、patchコマンドに差分情報を与えることで、ファイルの更新を行うことになります。
この差分を確認するコマンドは、ご存知のdiffコマンドです。

# diff old.txt new.txt

これで、old.txtとnew.txtの差分を標準出力に出力することが可能です。

patchファイルの作成

patchファイルの作成には、このdiffコマンドを使用します。
具体的には以下のコマンドです。

# diff -up old.txt new.txt

ファイル単位で行うには、このコマンドで差分情報が標準出力に表示されます。
実際にpatchファイルを作成するには、以下の様にリダイレクトを使って標準出力をファイルに出力します。

# diff -up old.txt new.txt > file.patch

とすることで、patchファイルが作成されます。

patchの適用をする際には、このファイルを利用して以下の様に適用します。

# patch new.txt < file.patch

これで終わりです。
元に戻す場合には、以下のコマンドを使用します。

# patch -R new.txt < file.patch

でも、一つ一つのファイルに適用するのは面倒ですね。
patchコマンドは、ディレクトリ単位の更新にも対応しています。

まずは、差分情報の作成から行いましょう。

diff -uprN old_dir new_dir > dir.patch

更に適用するには以下のコマンドで適用します。

patch -p1 new_dir < dir.patch

元の状態に戻す場合も同様に、以下のコマンドを使用します。

patch -R -p1 new_dir < dir.patch

更新対象のファイルが実行ディレクトリにある場合や、ディレクトリが実行ディレクトリにある場合には、ファイル名やディレクトリ名を省略することが可能です。
でも、明示的に行う方が、間違いが無くて良いですよね。

patchコマンドの詳しいオプションに関してはヘルプを参照するとか、他のブログを参考にしてください。

Gnomeが固まる~~~( ゚Д゚)

私はCentOSを頻繁に使用していますが、放置するといつの間にか画面が固まった状態になったり、動いてもいつ反応が返ってくるのか遅延が酷くなる症状に陥ることがそこそこ頻繁に発生します。
当初は、無理やりリブート掛けたりしていたのですが、逃げ道を発見しました!

備忘録です。完ぺきではありません。
特に発生しやすい環境は仮想OSです。
これどうにかならないか?と悩んでいました。

<2021/09/01 追記ここから>
2つの方法を提案します。
・一度ログアウトする方法
・画面ロックを行う方法
<2021/09/01 追記ここまで>

一度ログアウトする方法

まず、Ctrl+Alt+DELLを押します。
シャットダウンを促すダイアログが出てきますが、ここでシャットダウンしていたのは、今までの私です。
泣く泣く幾度シャットダウンを行ったことか・・・(TT)

せっかくCtrl+Alt+DELLを押しましたが、キャンセルします。
この後、右上の電源マークをクリックして現在のアカウントから以下のいずれかを選択します。

  • ユーザの切り替え
  • ログオフ

一度、ログイン画面へ遷移します。
その後、再度ログインすると問題が解消されます。

これに気が付くまで長かった~

概ねこれで解決です。

2021-08-04 追記

画面ロックする方法

上記の方法だと、ログアウトした時に動作していたプログラムが止まってしまいます。
もう一つ、やってみる価値があるかと思う方法がありました。

スーパー+Lで画面ロックを行います。
見た目の感覚ですが、これで一度GNOMEの画面がリフレッシュされて画面ロックの状態になります。

この後、再度ログインしてみてはどうでしょう?

多分、復旧するような気がします。