変奏現実

パソコンやMMORPGのことなどを思いつくまま・・・記載されている会社名・製品名・システム名などは、各社の商標、または登録商標です。

この画面は、簡易表示です

Linux

[Oracle19c]どうやって起動 するん?

まず、SQLPLUSからCONNECTしようとしたら

ORA-12162: TNS:net service name is incorrectly specified

原因は、ORACLE_SIDを環境変数に登録していなかったせいらしい。

~/.bash_profileに追加して

$ source ~/.bash_prodile
$ sqlplus /NOLOG
SQL> connect AS SYSDBA
Enter user-name: sys
Enter password: ****************
Connected to an idle instance.
SQL> startup
ORACLE instance started.

Total System Global Area 2432695832 bytes
Fixed Size		    9137688 bytes
Variable Size		  570425344 bytes
Database Buffers	 1845493760 bytes
Redo Buffers		    7639040 bytes
Database mounted.
Database opened.
SQL> 

終わる時は、shutdown、quit。

さて、A5から直接接続できるか試してみたけど

ORA-12514: TNS:listener does not currently know of service requestion in connect description

から先に進めなかったので、

順当にOracleClientをインストし、

ORACLEデータベースをインストしたLINUXにあるtnsnames.oraから下記をコピペして、

ORCL =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = ***)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = ****)
    )
  )
HOST = ***はPCからデータベースをインストしたサーバの名前かIPアドレス
SERVICE_NAME=****はそのまま使う。

PCの適当なフォルダにtnsnames.oraファイルを保存し、

保存先フォルダ名はユーザ環境変数「TNS_ADMIN」に保持。※システム環境変数の方がいいはず

ODBCデータソースアドミニストレイーターで、データソースを新規追加する。

ORACLEクライアントを選択して

TNSサービス名にSID(ここではtnsnames.oraでORCLだから)を入れ、「接続テスト」
ユーザー名とパスワードを入れて
で、良かったらしい。

さて、A5では

な感じで「テスト接続」は、

だったので、【OK】して保存。

こんな調子で大丈夫なのか?と自分でもツッコミをいれたくなったけど

管理ツールタグを見れば

なので大丈夫らしい。

あとはPDBにテーブルを作って、アクセスできればOKかな?



[Linux]xrdpインスト

1.CentOS7の場合

epelを追加

# yum -y install epel-release
## yumコマンドに --enablerepo=epel オプションを指定した場合のみ epel が有効になる様に
# vi /etc/yum.repos.d/epel.repo
enable = 1 ⇒ 0 に修正。

パッケージをインスト

# yum -y --enablerepo=epel install xrdp
# yum -y --enablerepo=epel install tigervnc-server
## エラーが起きやすい設定を修正
# vi /etc/xrdp/xrdp.ini
max_bpp=32 ⇒ 24 に修正
# systemctl start xrdp
# systemctl enable xrdp

ファイアウォールの設定変更

# firewall-cmd --permanent --zone=public --add-port=3389/tcp
# firewall-cmd --reload

オマケで

yum update

2.CentOS8の場合

epelを追加

# dnf -y install epel-release
## dnfコマンドに --enablerepo=epel オプションを指定した場合のみ epel が有効になる様に
# vi /etc/yum.repos.d/epel.repo
enable = 1 ⇒ 0 に修正。

パッケージをインスト

# dnf -y --enablerepo=epel install xrdp
# dnf -y --enablerepo=epel install tigervnc-server
## エラーが起きやすい設定を修正
# vi /etc/xrdp/xrdp.ini
max_bpp=32 ⇒ 24 に修正
# systemctl start xrdp
# systemctl enable xrdp

ファイアウォールの設定変更

# firewall-cmd --permanent --zone=public --add-port=3389/tcp
# firewall-cmd --reload

オマケで

# dnf update


[Oracle19c]Linux版

AlmaLinux9やOracleLinux9のように新しいOSでは

アレが無い、コレが無いと、dnfがお得意の関連パッケージの自動インストール機能がうまく機能していない。

しかし、古いCentOS7なら、あまり面倒なことをせずに19Cのインストーラの初期画面まで進んだ。

※但し

  • 前提条件のチェックを全てクリアするために、
  • CPU4個、メモリ16GB、スワップ領域16GBに増量。
    • パッケージのアップデート時にX-Windowの画面が固まり操作不能になるので、CPU+3個
    • インスト時にスワップ領域不足の警告が出るのでスワップ領域を増量。
      • 8GBではstartup時にシェアメモリ不足(ORA-27104)が発生。更に増量(16GB)
    • インスト時にシェアメモリ不足の警告が出るのでメモリ増量してカーネルパラメータを再計算
  • リスナー作成直後に再起動するとリスナが起動してないので
    • /etc/hostsにノード名が無かったので追記し、lsnrctl startする。
  • アドバンスモードではOracle Enterprise Manager のポートに何を指定してもダメだったので、チェックを外した。

参考1:CentOS7 Stream Oracle Database 19c : インストール では日本語でインストーラが動いた。

CentOS8は OSのサポートが2021年12月末で終了し、https://ftp.riken.jp/Linux/centos/8.5.2111/isos/x86_64/ のリンクも無くなったので、

CentOS8 Streamを使う事になる。

CentOS Stream 8 へ https://ftp.riken.jp/Linux/centos/8-stream/isos/x86_64/

参考2-1:Oracle Dtabase 19c(CentOS8) は、最終的には「なぜかうまくいかない」。

※参考2-1は、メモリ8GBで試行している。

以下、変更点

1.カーネルパラメータの設定方法

元々は固定値で設定していたが、割り当てたメモリ量から計算する様に修正。

# MEMTOTAL=$(free -b | sed -n '2p' | awk '{print $2}')
# SHMMAX=$(expr $MEMTOTAL / 2)
# SHMMNI=4096
# PAGESIZE=$(getconf PAGE_SIZE)
# cat > /etc/sysctl.d/50-oracle.conf << EOF
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmmax = $SHMMAX
kernel.shmall = $(expr \( $SHMMAX / $PAGESIZE \) \* \( $SHMMNI / 16 \))
kernel.shmmni = $SHMMNI
kernel.sem = 250 32000 100 128
kernel.panic_on_oops = 1
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
EOF

2.インストールするパッケージの追加

インストーラを起動するとエラーが出たので、それっぽいパッケージを追加。

# dnf -y install libnsl

ダウンロードしたrpmをインストールする手順が抜けていたので追加

# dnf localinstall  *.rpm       ※個別にrpmファイルをしてして実行したけど、多分これでいいはず

差し替えるJDKのパスを

# cp -r /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.322.b06-11.el8.x86_64/jre /u01/app/oracle/product/19.3.0/dbhome_1/jdk/jre

hostsに自分のマシン名が無いので

127.0.0.1   ******.******.****** localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         ******.******.****** localhost localhost.localdomain localhost6 localhost6.localdomain6

ここまでやっても、

「インストール」ボタンを押して7%まで進んだあたりで

「ファイル%filename%が見つかりません」

と出るエラーが出る、「継続」押下で続けるが・・・

100%まで進んるのになぁ
OpenJDKに差し替えて動いたけど、どこかで互換性が無くて失敗したっぽい。
DBCAの構成で失敗してるので、日本語対応のJREに差し替えたせいかもしれない。

※メモリ16GBでの動作は未確認。

参考2ー2:CentOS8 Stream Oracle Database 19c : インストール のページはインスト直前まで。

login: oracle
Password:xxxxxxx

$ vi ~/.bash_profile
# 最終行に追記
umask 022
export ORACLE_BASE=/u01/app/oracle

# インストール用 Dir 作成
$ mkdir database

LANG=Cを付けてインストーラを起動すると真っ白になる。とりあえず、保留。

参考2ー3:CentOS8 Oracle Database 19c : インストール すると日本語文字化けするので

cd database
$ unzip LINUX.X64_193000_db_home.zip
$ export CV_ASSUME_DISTID=RHEL8.2
$ export LANG=C
$ ./runInstaller

CentOS8系では、インストーラのJREの日本語フォントとX-Windowの日本語フォントがうまくマッピングされず日本語モードでは文字化けするが、英語モードでのインストールなら問題無し。

しかし、メモリ8GBで得たシェアメモリの容量ではstartupでシェアメモリの容量不足となり16GBに増量し、カーネルパラメータを再計算したところ、startupに成功した。

CentOS8 stream でメモリ8GBでも使えるカーネルパラメータの計算方法があればいいんだけど。

そんな訳で、CentOS8系は微妙。

参照2-3に参照2-1のJRE差し替えを混ぜるといいのかもしれない。

Hyper-Vの起動画面よりもXRDPでWindowsのリモートデスクトップ越しにインストーラを起動した方がマウスカーソルもオーバーラップするしコピペもできインストールもスムーズ。

・・・

と書いたものの、実際やってみると手順通りにヌルっとインストールできず、ドコかでアハってしまう。

rootでシェル起動してもいい?ってメッセージをちょっと放置したら画面が固まるけど、それはOSアップデートが後追いでやってきたせいな気もする。

yumやdnfのアップデートでおきる僅かな修正で何かがうまくいっていないんだろう。

インストーラのチューニングが攻めすぎなんだろうね。

Linux「9」なんて無理そうだから、ここで調査を終了。

とりあえず、CentOS7がアンパイだ。



[CentOS]どうしよう

開発もサポートも切れるので乗り換えないといけない。

とりあえず、AlmaLinux 9.x に乗り換える予定。

GUIをインストするには

# dnf grouplist

でグループパッケージを探してみるが、GNOME Desktopは無かったので

# dnf groupinstall "SERVER with GUI"

で我慢する。

XRDPをインストしようとしたらパッケージが無いとか散々。

ぐぐってみるとちゃんとAlmaLinux9でのインストページがあった。

epelリポジトリィを追加するのを忘れていたせいか。

無事、リモートデスクトップに繋がったものの、コレジャナイ感が漂う。



【SSL】期限切れ→仕様変更→SSL✕のコンボ

また電子証明書の期限切れ

cronで自動化してあったハズなのに?

# /usr/bin/certbot renew
# systemctl restart httpd

ブログにログインすらできない。

再起動してもダメ

でもしばらく経ったらOKだった。

手動でdnf updateするとAppStreamが見えないとか言い出す

ググってみるとURLが変わったらしい

/etc/yum.repos.dをバックアップし

sed -i -e 's/mirrorlist=/#mirrorlist=/g' -e 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-*

※元ネタ

CentOS8 で dnf update が失敗する件

dnf updateしたら、1826個もあった。変わったのは相当前だったのかもしれない(笑

2021/11/04にcerbot-auto newしていたからその後らしいけど。

  廃止              : centos-release-8.2-2.2004.0.1.el8.x86_64        1821/1826
  廃止              : centos-repos-8.2-2.2004.0.1.el8.x86_64          1822/1826
警告: /etc/yum.repos.d/CentOS-fasttrack.repo は /etc/yum.repos.d/CentOS-fasttrack.repo.rpmsave として保存されました。
警告: /etc/yum.repos.d/CentOS-centosplus.repo は /etc/yum.repos.d/CentOS-centosplus.repo.rpmsave として保存されました。
警告: /etc/yum.repos.d/CentOS-Sources.repo は /etc/yum.repos.d/CentOS-Sources.repo.rpmsave として保存されました。
警告: /etc/yum.repos.d/CentOS-PowerTools.repo は /etc/yum.repos.d/CentOS-PowerTools.repo.rpmsave として保存されました。
警告: /etc/yum.repos.d/CentOS-HA.repo は /etc/yum.repos.d/CentOS-HA.repo.rpmsave として保存されました。
警告: /etc/yum.repos.d/CentOS-Extras.repo は /etc/yum.repos.d/CentOS-Extras.repo.rpmsave として保存されました。
警告: /etc/yum.repos.d/CentOS-Devel.repo は /etc/yum.repos.d/CentOS-Devel.repo.rpmsave として保存されました。
警告: /etc/yum.repos.d/CentOS-CR.repo は /etc/yum.repos.d/CentOS-CR.repo.rpmsave として保存されました。
警告: /etc/yum.repos.d/CentOS-Base.repo は /etc/yum.repos.d/CentOS-Base.repo.rpmsave として保存されました。
警告: /etc/yum.repos.d/CentOS-AppStream.repo は /etc/yum.repos.d/CentOS-AppStream.repo.rpmsave として保存されました

URLの変更が巻き戻されとる!

もう1回

# sed -i -e 's/mirrorlist=/#mirrorlist=/g' -e 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-*
# dnf update
CentOS Linux 8 - AppStream                                4.8 MB/s | 8.4 MB     00:01
CentOS Linux 8 - BaseOS                                   4.7 MB/s | 4.6 MB     00:00
CentOS Linux 8 - Extras                                   6.3 kB/s | 1.5 kB     00:00
Remi's Modular repository for Enterprise Linux 8 - x86_64 3.0 MB/s | 3.1 kB     00:00
GPG 鍵 0x5F11735A をインポート中:
 Userid     : "Remi's RPM repository <remi@remirepo.net>"
 Fingerprint: 6B38 FEA7 231F 87F5 2B9C A9D8 5550 9759 5F11 735A
 From       : /etc/pki/rpm-gpg/RPM-GPG-KEY-remi.el8
これでよろしいですか? [y/N]: y
Remi's Modular repository for Enterprise Linux 8 - x86_64 153 kB/s | 973 kB     00:06
Safe Remi's RPM repository for Enterprise Linux 8 - x86_6 2.3 MB/s | 3.1 kB     00:00
GPG 鍵 0x5F11735A をインポート中:
 Userid     : "Remi's RPM repository <remi@remirepo.net>"
 Fingerprint: 6B38 FEA7 231F 87F5 2B9C A9D8 5550 9759 5F11 735A
 From       : /etc/pki/rpm-gpg/RPM-GPG-KEY-remi.el8
これでよろしいですか? [y/N]: y
Safe Remi's RPM repository for Enterprise Linux 8 - x86_6 474 kB/s | 2.1 MB     00:04
依存関係が解決しました。
行うべきことはありません。
完了しました!
#

しかも1826はMAX値なのか1826番目の関連パッケージが多すぎるのか?

以後、1826/1826表示が延々続く・・・(汗

更にcronが消えていたことも判明

# /etc/rc.d/init.d/crond status
-bash: /etc/rc.d/init.d/crond: そのようなファイルやディレクトリはありません

CentOS7以降はcronからcronie-noanacronに変わったので、

CentOS7以降はcronからcronie-anacronに変わったので、

自動 ndf updateで削除されてしまったのかな?

cronie-noanacronをインストしcronie-anacronをアンスコしてみた。

# sudo dnf install cronie-noanacron
メタデータの期限切れの最終確認: 0:01:41 時間前の 2022年03月19日 22時30分50秒 に実施しまし た。
依存関係が解決しました。
==========================================================================================
 パッケージ                 アーキテクチャー バージョン            リポジトリー     サイズ
==========================================================================================
インストール:
 cronie-noanacron           x86_64           1.5.2-4.el8           baseos            19 k

トランザクションの概要
==========================================================================================
インストール  1 パッケージ

ダウンロードサイズの合計: 19 k
インストール後のサイズ: 396
これでよろしいですか? [y/N]: y
パッケージのダウンロード:
cronie-noanacron-1.5.2-4.el8.x86_64.rpm                    20 kB/s |  19 kB     00:00
------------------------------------------------------------------------------------------
合計                                                       20 kB/s |  19 kB     00:00
トランザクションの確認を実行中
トランザクションの確認に成功しました。
トランザクションのテストを実行中
トランザクションのテストに成功しました。
トランザクションを実行中
  準備             :                                                                  1/1
  インストール中   : cronie-noanacron-1.5.2-4.el8.x86_64                              1/1
  検証             : cronie-noanacron-1.5.2-4.el8.x86_64                              1/1
インストール済みの製品が更新されています。

インストール済み:
  cronie-noanacron-1.5.2-4.el8.x86_64

完了しました!
# dnf remove cronie-anacron
依存関係が解決しました。
==========================================================================================
 パッケージ              Arch            バージョン              リポジトリー       サイズ
==========================================================================================
削除中:
 cronie-anacron          x86_64          1.5.2-4.el8             @anaconda           49 k

トランザクションの概要
==========================================================================================
削除  1 パッケージ

解放された容量: 49 k
これでよろしいですか? [y/N]: y
トランザクションの確認を実行中
トランザクションの確認に成功しました。
トランザクションのテストを実行中
トランザクションのテストに成功しました。
トランザクションを実行中
  準備             :                                                                  1/1
  削除             : cronie-anacron-1.5.2-4.el8.x86_64                                1/1
  scriptletの実行中: cronie-anacron-1.5.2-4.el8.x86_64                                1/1
  検証             : cronie-anacron-1.5.2-4.el8.x86_64                                1/1
インストール済みの製品が更新されています。

削除しました:
  cronie-anacron-1.5.2-4.el8.x86_64

完了しました!
# systemctl restart crond
# systemctl status crond
● crond.service - Command Scheduler
   Loaded: loaded (/usr/lib/systemd/system/crond.service; enabled; vendor preset: enabled)
   Active: active (running) since Sat 2022-03-19 22:42:46 JST; 4s ago
 Main PID: 120900 (crond)
    Tasks: 1 (limit: 23826)
   Memory: 1.2M
   CGroup: /system.slice/crond.service
           mq120900 /usr/sbin/crond -n
(push q)

※元ネタ

【CentOS7】Cron(cronie-noanacron)をインストール

CentOS8でファイルを定期的にバックアップするcronの設定

statusこまんどがqキー押下するまで待ちになっているのも謎だけど

ここまで書いて【更新】したら

サーバがオフラインらしいよぉ?と泣き言

あ、消したssl.confが復活しとる。

パッケージのssl.confは手元のSSL化したバーチャルホスト設定ファイルとうまくかみ合わないので

# NameVirtualHost *:80

# SSL
Listen 443 https

SSLPassPhraseDialog exec:/usr/libexec/httpd-ssl-pass-dialog
SSLSessionCache         shmcb:/run/httpd/sslcache(512000)
SSLSessionCacheTimeout  300
SSLRandomSeed startup file:/dev/random  256
SSLRandomSeed connect builtin
SSLCryptoDevice builtin

Include vhost/*.conf

な内容のvhost.confで代用している。

Include vhost/*.conf

だけ追記してもいいけどね。

なかなか面倒だなぁ

ps.2022/06/17

再びhttps期限切れ。

クローン化したのにどうしたのかな?

# systemctl status crond
● crond.service - Command Scheduler
   Loaded: loaded (/usr/lib/systemd/system/crond.service; enabled; vendor prese>
   Active: active (running) since Sat 2022-03-19 22:42:46 JST; 2 months 29 days>
 Main PID: 120900 (crond)
    Tasks: 1 (limit: 23826)
   Memory: 13.1M
   CGroup: /system.slice/crond.service
           mq120900 /usr/sbin/crond -n

 6月 17 17:01:01 **********.*********.***** CROND[1338801]: (root) CMD (run-par>
・・・
 6月 17 21:05:01 **********.*********.***** crond[120900]: (curl) ERROR (getpwn>
・・・
# systemctl restart crond
# systemctl status crond
● crond.service - Command Scheduler
   Loaded: loaded (/usr/lib/systemd/system/crond.service; enabled; vendor preset: enabled)
   Active: active (running) since Fri 2022-06-17 21:45:51 JST; 11s ago
 Main PID: 1350619 (crond)
    Tasks: 1 (limit: 23826)
   Memory: 1.2M
   CGroup: /system.slice/crond.service
           mq1350619 /usr/sbin/crond -n

 6月 17 21:45:51 **********.*********.***** systemd[1]: Started Command Scheduler.
 6月 17 21:45:51 **********.*********.***** crond[1350619]: (CRON) STARTUP (1.5.2)
 6月 17 21:45:51 **********.*********.***** crond[1350619]: (CRON) INFO (Syslog will be used instead of sendmail.)
 6月 17 21:45:51 **********.*********.***** crond[1350619]: (CRON) INFO (RANDOM_DELAY will be scaled with factor >
 6月 17 21:45:51 **********.*********.***** crond[1350619]: (CRON) INFO (running with inotify support)
 6月 17 21:45:51 **********.*********.***** crond[1350619]: (CRON) INFO (@reboot jobs will be run at computer's s>

何やらエラってたのでリスタート。

# /usr/bin/certbot renew
# systemctl restart httpd

で修復完了。

クローンのログを見ると

Jun 12 18:05:01 *********** crond[120900]: (curl) ERROR (getpwnam() failed - user unknown)

curlってユーザが無いということらしい。

wp-cron.phpを起動するトコで使っていたので、apacheに変えてみる。

certbotはログになかった???

時間が被って変になったのかもしれない毎月1日の04:03に変えてみる。

ps.2023/3/23

# dnf update
トランザクションの概要
================================================================================
インストール      6 パッケージ
アップグレード  561 パッケージ
削除              3 パッケージ

ダウンロードサイズの合計: 1.0 G
これでよろしいですか? [y/N]: y
・・・

ps.2023/08/31

なぜか証明書が更新されなかったのでコマンドラインから更新してみた。

# /usr/bin/certbot renew
Saving debug log to /var/log/letsencrypt/letsencrypt.log

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Processing /etc/letsencrypt/****************.***
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Renewing an existing certificate for ssiscirine.iobb.net

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Congratulations, all renewals succeeded: 
  /etc/letsencrypt/********************.*** (success)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
※ここまでを見ると証明書の更新は成功したようだ・・・
Hook 'post-hook' reported error code 5
Hook 'post-hook' ran with error output:
 Invalid unit name "httpd
 " was escaped as "httpd\x0d" (maybe you should use systemd-escape?)
 Failed to reload httpd\x0d.service: Unit httpd\x0d.service not found.
※cronで指定したオプションがなぜか動き(ゴミファイルかな?)、しかも内容がマズかったらしい。ググってみるとapacheを起動しようとして失敗したようなので手動で再起動。
#  systemctl restart httpd

8/1のletsencryptのログを見ると

–post-hook “systemctl reload httpd”

が直後のCR(\x0d)を誤って

–post-hook “systemctl reload httpd\x0d”

に観えたらしい。

このpost-hookで失敗したので

ヤバイと思ったのか、ちゃんと更新できた証明書も巻き戻したらしい。

/etc/cron.d/letsencryptの改行をCRLFからLFに治す。

動作テストには –force-renew –dry-run オプションを付ければいいはず。



[git]コマンド

多分、こんな感じかな

  1. 参照系
    1. git clone ${リポジトリィ}
      • カレント・ディレクトリィにドコかのリポジトリィをコピる。
    1. git pull
      • リモートリポジトリの最新状態に更新
  2. 更新系
    1. とりあえずクローンする
    2. git checkout ${ブランチ}
      • 新たなブランチで履歴を作る時は、-b ${新しいブランチ} を使う
      • 既存のブランチでも、初回は git fetch ${ブランチ} で情報の取得が必要
    3. git add ${ファイル名}
      • コミット対象ファイルに追加
    4. git rm ${ファイル名}
      • コミット対象ファイルから削除
    5. git mv ${ファイル名}
      • コミット対象ファイル名の変更
    6. git commit -m ${メッセージ}
    7. git push origin ${ブランチ}
  3. 管理
    1. git init
      • カレント・ディレクトリィにリポジトリィを作る。
    2. git branch ${ブランチ}
      • ブランチを作る
      • ブランチを削除する時は -d ${ブランチ}

な感じで使えばいいかな



【CentOS8】え!

最近知ったけど、ホストOSの7は2024年までサポート期間が残ってるけど、ゲストOSで使ってる8は今年(2021)中にサポート終了だって!

Red Hat Developer Programに参加してRHELを最大16個をサブスク登録して使う?

CentOS Streamに移行する?

ん-めんどくさいけど、CentOSからCentOS Streamにコンバートできるらしいからコレで済ませてしまうかもしれない。

root@centos-linux# dnf install centos-release-stream
root@centos-linux# dnf swap centos-{linux,stream}-repos
root@centos-linux# dnf distro-sync
root@centos-stream# cat /etc/centos-release
CentOS Stream release 8

Windows 8と同じく短命なのか。(南無南無

CentOS-Xとかにすればいいのに。



【CentOS】USB ON/OFF

OctoPrintでWEBカメラのタイムラプスが照明の反射で見にくいので、USBライトをつけようと思うけど、スイッチでON・OFFが面倒なので、コマンドでON/OFFできないか?
調べてみました。

WindowsのUSBデバイスの取り外しっぽいコマンドの記事があった。

  1. lsusbコマンドでデバイス検索
    • デバイスに対応する {Bus}-{port}. … .{port} をメモメモ。
  2. デバイスのUSBポートを解放
    • echo -n {Bus}-{port}. … .{port} >/sys/bus/usb/drivers/usb/unbind
  3. デバイスのUSBポートを接続。
    • echo -n {Bus}-{port}. … .{port} >/sys/bus/usb/drivers/usb/bind

{Bus}-{port}. … .{port} の部分はlsusbの結果次第なので、1-1.2-3.4 と長かったり、1-2.3と短かったりするので、難しい。

これでUSBライトをON、OFFできたらいいな。

あ、OctoPrintのタイムラプスのソースをチョット書換えが必要かな・・・

SUDO問題どうしよう?

wget http://localhost;8089/ON とか wget http://localhost;8089/OFF すればいいのかな?

てか?USBライトでも装置名が出てくるのかな?



保護されない通信、再び

また、3か月が経ちました。ブラウザがエラるので、

# /usr/local/bin/certbot-auto renew
Upgrading certbot-auto 1.9.0 to 1.11.0...
Replacing certbot-auto...
Your system is not supported by certbot-auto anymore.
Certbot will no longer receive updates.
Please visit https://certbot.eff.org/ to check for other alternatives.
Saving debug log to /var/log/*****/letsencrypt.log

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Processing /***/*****/*****/*****.***.***.conf
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Cert is due for renewal, auto-renewing...
Plugins selected: Authenticator webroot, Installer None
Renewing an existing certificate
Performing the following challenges:
http-01 challenge for ssiscirine.moe.hm
Using the webroot path /***/***/***** for all unmatched domains.
Waiting for verification...
Cleaning up challenges

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
new certificate deployed without reload, fullchain is
/***/*****/***/*****.***.***/*****.pem
- - - - - - - - - - - - - - - - - - - - -- - - - - - - - - - - - - -

- - - - - - - - - - - - - - - - - - - - -- - - - - - - - - - - - - -
Congratulations, all renewals succeeded. The following certs have been renewed:
  /***/*****/***/*****.**.**/*****.pem (success)
- - - - - - - - - - - - - - - - - - - - -- - - - - - - - - - - - - -

certbot-autoはサポート対象外になって、certbot-apacheが使えるらしい

# dnf list available | grep certbot-apache
python3-certbot-apache.noarch        1.11.0-1.el8              epel

インストしてみる

# dnf install certbot-apache
メタデータの期限切れの最終確認: 2:41:13 時間前の 2021年01月30日 23時48分00秒 に 実施しました。
依存関係が解決しました。
================================================================================
 パッケージ                Arch   バージョン                    Repo      サイズ
================================================================================
インストール中:
 python3-certbot-apache    noarch 1.11.0-1.el8                  epel      143 k
依存関係のインストール中:
 python3-acme              noarch 1.11.0-1.el8                  epel       88 k
 python3-augeas            noarch 0.5.0-12.el8                  AppStream  31 k
 python3-certbot           noarch 1.11.0-1.el8                  epel      388 k
 python3-configargparse    noarch 0.14.0-6.el8                  epel       36 k
 python3-distro            noarch 1.4.0-2.module_el8.3.0+562+e162826a
                                                                AppStream  37 k
 python3-josepy            noarch 1.2.0-5.el8                   epel       95 k
 python3-ndg_httpsclient   noarch 0.5.1-4.el8                   epel       53 k
 python3-parsedatetime     noarch 2.5-1.el8                     epel       79 k
 python3-pyasn1            noarch 0.3.7-6.el8                   AppStream 126 k
 python3-pyrfc3339         noarch 1.1-1.el8                     epel       19 k
 python3-requests-toolbelt noarch 0.9.1-4.el8                   epel       91 k
 python3-zope-component    noarch 4.3.0-8.el8                   epel      313 k
 python3-zope-event        noarch 4.2.0-12.el8                  epel      210 k
 python3-zope-interface    x86_64 4.6.0-1.el8                   epel      158 k
弱い依存関係のインストール中:
 certbot                   noarch 1.11.0-1.el8                  epel       49 k
 python-josepy-doc         noarch 1.2.0-5.el8                   epel       21 k

トランザクションの概要
================================================================================
インストール  17 パッケージ

ダウンロードサイズの合計: 1.9 M
インストール済みのサイズ: 7.2 M
これでよろしいですか? [y/N]: y
パッケージのダウンロード:
(1/17): python3-distro-1.4.0-2.module_el8.3.0+5 234 kB/s |  37 kB     00:00
(2/17): python3-augeas-0.5.0-12.el8.noarch.rpm  189 kB/s |  31 kB     00:00
(3/17): python-josepy-doc-1.2.0-5.el8.noarch.rp 186 kB/s |  21 kB     00:00
(4/17): python3-pyasn1-0.3.7-6.el8.noarch.rpm   439 kB/s | 126 kB     00:00
(5/17): certbot-1.11.0-1.el8.noarch.rpm         329 kB/s |  49 kB     00:00
(6/17): python3-acme-1.11.0-1.el8.noarch.rpm    1.2 MB/s |  88 kB     00:00
(7/17): python3-certbot-apache-1.11.0-1.el8.noa 2.0 MB/s | 143 kB     00:00
(8/17): python3-configargparse-0.14.0-6.el8.noa 1.0 MB/s |  36 kB     00:00
(9/17): python3-josepy-1.2.0-5.el8.noarch.rpm   2.6 MB/s |  95 kB     00:00
(10/17): python3-ndg_httpsclient-0.5.1-4.el8.no 1.6 MB/s |  53 kB     00:00
(11/17): python3-pyrfc3339-1.1-1.el8.noarch.rpm 689 kB/s |  19 kB     00:00
(12/17): python3-parsedatetime-2.5-1.el8.noarch 2.1 MB/s |  79 kB     00:00
(13/17): python3-certbot-1.11.0-1.el8.noarch.rp 2.0 MB/s | 388 kB     00:00
(14/17): python3-requests-toolbelt-0.9.1-4.el8. 2.9 MB/s |  91 kB     00:00
(15/17): python3-zope-event-4.2.0-12.el8.noarch 4.5 MB/s | 210 kB     00:00
(16/17): python3-zope-interface-4.6.0-1.el8.x86 3.6 MB/s | 158 kB     00:00
(17/17): python3-zope-component-4.3.0-8.el8.noa 4.0 MB/s | 313 kB     00:00
--------------------------------------------------------------------------------
合計                                            947 kB/s | 1.9 MB     00:02
トランザクションの確認を実行中
トランザクションの確認に成功しました。
トランザクションのテストを実行中
トランザクションのテストに成功しました。
トランザクションを実行中
  準備              :                                                       1/1
  インストール中    : python3-zope-event-4.2.0-12.el8.noarch               1/17
  インストール中    : python3-zope-interface-4.6.0-1.el8.x86_64            2/17
  インストール中    : python3-zope-component-4.3.0-8.el8.noarch            3/17
  インストール中    : python3-pyrfc3339-1.1-1.el8.noarch                   4/17
  インストール中    : python3-requests-toolbelt-0.9.1-4.el8.noarch         5/17
  インストール中    : python3-parsedatetime-2.5-1.el8.noarch               6/17
  インストール中    : python3-ndg_httpsclient-0.5.1-4.el8.noarch           7/17
  インストール中    : python3-configargparse-0.14.0-6.el8.noarch           8/17
  インストール中    : python-josepy-doc-1.2.0-5.el8.noarch                 9/17
  インストール中    : python3-josepy-1.2.0-5.el8.noarch                   10/17
  インストール中    : python3-pyasn1-0.3.7-6.el8.noarch                   11/17
  インストール中    : python3-acme-1.11.0-1.el8.noarch                    12/17
  インストール中    : python3-distro-1.4.0-2.module_el8.3.0+562+e162826   13/17
  インストール中    : python3-certbot-1.11.0-1.el8.noarch                 14/17
  インストール中    : certbot-1.11.0-1.el8.noarch                         15/17
  scriptlet の実行中: certbot-1.11.0-1.el8.noarch                         15/17
  インストール中    : python3-augeas-0.5.0-12.el8.noarch                  16/17
  インストール中    : python3-certbot-apache-1.11.0-1.el8.noarch          17/17
  scriptlet の実行中: python3-certbot-apache-1.11.0-1.el8.noarch          17/17
  検証              : python3-augeas-0.5.0-12.el8.noarch                   1/17
  検証              : python3-distro-1.4.0-2.module_el8.3.0+562+e162826    2/17
  検証              : python3-pyasn1-0.3.7-6.el8.noarch                    3/17
  検証              : certbot-1.11.0-1.el8.noarch                          4/17
  検証              : python-josepy-doc-1.2.0-5.el8.noarch                 5/17
  検証              : python3-acme-1.11.0-1.el8.noarch                     6/17
  検証              : python3-certbot-1.11.0-1.el8.noarch                  7/17
  検証              : python3-certbot-apache-1.11.0-1.el8.noarch           8/17
  検証              : python3-configargparse-0.14.0-6.el8.noarch           9/17
  検証              : python3-josepy-1.2.0-5.el8.noarch                   10/17
  検証              : python3-ndg_httpsclient-0.5.1-4.el8.noarch          11/17
  検証              : python3-parsedatetime-2.5-1.el8.noarch              12/17
  検証              : python3-pyrfc3339-1.1-1.el8.noarch                  13/17
  検証              : python3-requests-toolbelt-0.9.1-4.el8.noarch        14/17
  検証              : python3-zope-component-4.3.0-8.el8.noarch           15/17
  検証              : python3-zope-event-4.2.0-12.el8.noarch              16/17
  検証              : python3-zope-interface-4.6.0-1.el8.x86_64           17/17
Installed products updated.

インストール済み:
  certbot-1.11.0-1.el8.noarch
  python-josepy-doc-1.2.0-5.el8.noarch
  python3-acme-1.11.0-1.el8.noarch
  python3-augeas-0.5.0-12.el8.noarch
  python3-certbot-1.11.0-1.el8.noarch
  python3-certbot-apache-1.11.0-1.el8.noarch
  python3-configargparse-0.14.0-6.el8.noarch
  python3-distro-1.4.0-2.module_el8.3.0+562+e162826a.noarch
  python3-josepy-1.2.0-5.el8.noarch
  python3-ndg_httpsclient-0.5.1-4.el8.noarch
  python3-parsedatetime-2.5-1.el8.noarch
  python3-pyasn1-0.3.7-6.el8.noarch
  python3-pyrfc3339-1.1-1.el8.noarch
  python3-requests-toolbelt-0.9.1-4.el8.noarch
  python3-zope-component-4.3.0-8.el8.noarch
  python3-zope-event-4.2.0-12.el8.noarch
  python3-zope-interface-4.6.0-1.el8.x86_64

完了しました!

更新済みだけど、SSL証明書を取得してみよう。

# certbot --apache
Saving debug log to /var/log/*****/letsencrypt.log
Plugins selected: Authenticator apache, Installer apache

Which names would you like to activate HTTPS for?
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: ssiscirine.moe.hm
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate numbers separated by commas and/or spaces, or leave input
blank to select all options shown (Enter 'c' to cancel):
Cert not yet due for renewal

You have an existing certificate that has exactly the same domains or certificate name you requested and isn't close to expiry.
(ref: /***/*****/*****/*****.conf)

What would you like to do?
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: Attempt to reinstall this existing certificate
2: Renew &amp; replace the certificate (may be subject to CA rate limits)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 1 ※面倒なんで1にした。
Keeping the existing certificate
Deploying Certificate to VirtualHost /***/ssl_virtualhost-***.conf
Redirecting vhost in /***/virtualhost-***.conf to ssl vhost in /***/ssl_virtualhost-***.conf

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Congratulations! You have successfully enabled https://ssiscirine.moe.hm
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

IMPORTANT NOTES:
 - If you like Certbot, please consider supporting our work by:

   Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
   Donating to EFF:                    https://eff.org/donate-le

なんとapacheに追加した仮想ホスト設定ファイルも書き直されたらしい。

証明書の有効期限を確認する

# certbot certificates
Saving debug log to /var/log/*****/letsencrypt.log

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Found the following certs:
  Certificate Name: ssiscirine.moe.hm
    Serial Number: **************************************
    Key Type: RSA
    Domains: ssiscirine.moe.hm
    Expiry Date: 2021-04-30 16:19:26+00:00 (VALID: 89 days)
    Certificate Path: /***/*****/***/***/*****.pem
    Private Key Path: /***/*****/***/***/*******.pem
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

SSL証明書の自動更新もしておく。

# vi /etc/crontab
10 3 *  *  * root /usr/bin/certbot renew を追記

ps.2021.12.15

ブログをブラウザで見てると、期限切れマークになっていた。

# certbot certificates
Saving debug log to /var/log/*******/*******.log

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Found the following certs:
  Certificate Name: ssiscirine.iobb.net
    Serial Number: **************************************
    Key Type: RSA
    Domains: ssiscirine.iobb.net
    Expiry Date: 2021-12-02 11:41:03+00:00 (INVALID: EXPIRED)
    Certificate Path: /***/*****/***/***/*******.pem
    Private Key Path: /***/*****/***/***/*******.pem
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

みごとにエクスファイヤしてたので、更新。


# /usr/bin/certbot renew
Saving debug log to /var/log/*******/*******.log

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Processing /etc/letsencrypt/renewal/ssiscirine.iobb.net.conf
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Renewing an existing certificate for ssiscirine.iobb.net

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Congratulations, all renewals succeeded:
  /***/*****/***/***/*******..pem (success)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# certbot certificates
Saving debug log to /var/log/*******/*******.log

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Found the following certs:
  Certificate Name: ssiscirine.iobb.net
    Serial Number: **************************************
    Key Type: RSA
    Domains: ssiscirine.iobb.net
    Expiry Date: 2022-03-15 05:50:07+00:00 (VALID: 89 days)
    Certificate Path: /***/*****/***/***/*******.pem
    Private Key Path: /***/*****/***/***/*******.pem
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

最後に

# systemctl restart httpd


保護されていない通信

更新を忘れていたらしい。

# /usr/local/bin/certbot-auto renew
Upgrading certbot-auto 1.6.0 to 1.9.0...
Replacing certbot-auto...
Creating virtual environment...
Installing Python packages...
Installation succeeded.
Saving debug log to /var/log/letsencrypt/letsencrypt.log

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Processing /etc/letsencrypt/renewal/ssiscirine.moe.hm.conf
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Cert is due for renewal, auto-renewing...
Plugins selected: Authenticator webroot, Installer None
Renewing an existing certificate
Performing the following challenges:
http-01 challenge for ssiscirine.moe.hm
Using the webroot path /****/****/******** for all unmatched domains.
Waiting for verification...
Cleaning up challenges

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
new certificate deployed without reload, fullchain is
/etc/letsencrypt/live/ssiscirine.moe.hm/fullchain.pem
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Congratulations, all renewals succeeded. The following certs have been renewed:
  /etc/letsencrypt/live/ssiscirine.moe.hm/fullchain.pem (success)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
#

これだけでは配信しているhttpsの電子証明書が古いまま(2020/10/29迄)なので、

# systemctl restart httpd

証明書の有効期間は、2021年1月30日まで。




top