受注伝票の一部がデータ更新されないエラーが発生。
何度か繰り返す。原因不明で、とりあえずサーバーを更新してみた。
4年で更新。
パソコン工房で購入。
ISoDEi-M07M-A147-UHCXB(SOLUTION-M07M-147-UHX)
CPU:
インテル Core i7 プロセッサー 14700
[5.4GHz(P2.1GHz-5.3GHz/E1.5GHz-4.2GHz)/20コア(P8+E12)/28スレッド/33MBキャッシュ/TDP 65W-219W]
メモリー:
16GB(8GB×2) [DDR5-4800 / デュアルチャンネル]
ストレージ:
500GB SSD / NVMe M.2
グラフィックボード:
インテル UHD Graphics 770 (CPU統合グラフィックス)
チップセット:
インテル B760 チップセット
Oracle Linux 9.4
PostgreSQL 16.3
作業中、エラーメッセージが「□□□」で表示される時はローケールを一時的に変更する。
どんなに調整しても日本語では表示されないらしいので、英語表示させて確認後、元に戻す。
使用可能なロケールのリスト表示
# localectl list-locales
ja_JP.UTF-8 → en_US.UTF-8 (2023/10/24 これが無かった。結局、エラーメッセージが表示できなかった)
# localectl set-locale LANG=en_US.UTF-8
エラーメッセージを確認したら、元に戻しておく
# localectl set-locale LANG=ja_JP.UTF-8
(1)Oracle Linuxをインストールする時の設定
インストール先
未使用領域の作り方、ドライブを選んで「完了」を押すと、パーティション操作の画面に移行する
ネットワーク設定
IPv4を設定(IP、DNS、ファイアフォール)(チャント設定しておくこと、後から設定ファイルの編集が楽)
IPv6は無効化
最小インストール
rootのパスワードを入力
ユーザpostgresを作成
セキュリティーポリシーの無効化
(2)SELinuxを止める
/etc/sysconfig/selinuxを編集
SELINUX=disabled
#SELINUXTYPE=targeted コメントアウトした
(3)ファイアフォールを止める
# systemctl disable firewalld
(4)sambaのインストール
# yum -y install samba samba-common
# mkdir /home/pub
# chmod 777 /home/pub
# chown nobody:nobody /home/pub
/etc/samba/smb.confの編集
プリンター関係の設定は全てコメントアウトした。
また、どうせ使わないので[home]セクションもコメントアウト。
[global]
workgroup = DOMAIN
security = user
map to guest = Bad User(これがないと、ユーザー認証画面が表示されてしまう)
[pub]
path = /home/pub
public = yes
writeable = yes
guest ok = yes
guest only = yes
create mask = 0777
directory mask = 0777
編集後
# systemctl enable smb
# systemctl enable nmb
起動
# systemctl smb start
再起動は
# service smb restart
(restartしてもクライアントから「pub」が見えなかったので、再起動した)
(5)telnetサーバーのインストール
# yum -y install telnet-server
# systemctl enable telnet.socket
(6)chronyのインストール
今回から。
4年間、時間合わせを行わなかったら、30分くらい時間がずれていたので。
# yum install chrony
/etc/chrony.conf の編集(編集前に.bkを付けて保存)
既存のpool行をコメントアウトして、下記を追加
server ntp.nict.jp iburst
server 0.jp.pool.ntp.org iburst
server 1.jp.pool.ntp.org iburst
allow
編集後
# systemctl start chronyd
# systemctl enable chronyd
(7)その他のインストール
# yum -y install zip
# yum -y install unzip
# yum -y install gcc (「開発ツール」がインストールされていないので)
# yum -y install readline
# yum -y install readline-devel (PostgreSQLのコンパイルに必要)
# yum -y install zlib
# yum -y install zlib-devel (PostgreSQLのコンパイルに必要)
# yum -y install tar
# yum -y install make
# yum -y install icu
(8)不要なサービスの停止
とりあえず
# systemctl disable crond
(9)usbメモリーのマウント(必要なファイルは共有した「pub」にWindowsパソコンから移動するので不要?)
/etc/fstabに下記を追加
/dev/sdb /mnt auto noauto,user 0 0
(9)PostgreSQLのインストール
ソースをmakeしてインストール
データフォルダは/home/pgdata
・アカウントの作成
rootでログイン
# /usr/sbin/adduser postgres
# /usr/bin/passwd postgres
・フォルダーの作成
# mkdir /home/pgdata
# chown postgres:potgres /home/pgdata
# mkdir /usr/local/pgsql
# chown postgres:postgres /usr/local/pgsql
# chown posrgres:postgres /usr/local/src (フォルダーは既にあるので、オーナーだけ変更)
・ソースの展開
sambaで共有した/home/pubにダウンロードしてきたPostgreSQLのソース、tar.gzを用意して
# su postgres
$ cd /usr/local/src
$ tar xfz /home/pub/ソースファイル
・コンパイル
$ cd /usr/local/src/p*
$ ./configure --without-icu
(yumでicuがインストールできたが、オプションがないとエラーで止まる)
($ ./configure オプション無し)
$ make all
$ make install
・初期化
postgresで/home/postgres/.bashrcに下記を追加
PATH="$PATH":/usr/local/pgsql/bin
export PGDATA=/home/pgdata
$source ~/.bashrc
PGDATAが環境変数として設定されているか確認
$ env
($ printenv)
$ initdb --no-locale --encoding=UTF8
(2017/4/6
オプション無しで使ってみるとソートした時に並びが変だった)
/home/pgdata/pg_hba.confの編集、編集前に元ファイルを.bkを付けて保存しておく
$ cd /home/pgdata
$ cp pg_hba.conf pg_hba.conf.bk
下記を追加
host all all 192.168.1.0/24 trust
host all all 192.168.2.0/24 trust
(host all all 0.0.0.0/0 trust )
/home/pgdata/postgresql.confの編集(編集前に元ファイルを.bkを付けて保存しておく)
listen_addresses = '*'
max_connection = 32
shared_buffers = 4GB (旧160MB)
temp_buffers = 8MB (2024/8/20 旧40MB → 8MB テンポラリーテーブルを使ってないので、既定値に戻した)
work_mem = 40MB (旧10MB→16MB→32MB(旧2024/8/20))
random_page_cost = 1.0 (2024/8/19 seq_page_cost = 1.0 に合わせた)
・postgresql.serviceの自動起動
下記を/lib/systemd/systemディレクトリに作成し"postgresql.service"というファイル名で保存
[Unit]
Description=PostgreSQL database server
After=network.target
[Service]
Type=forking
PIDFile=/home/pgdata/postmaster.pid
User=postgres
ExecStart=/usr/local/pgsql/bin/pg_ctl -s -D /home/pgdata start
ExecStop=/usr/local/pgsql/bin/pg_ctl -s -D /home/pgdata stop -m fast
[Install]
WantedBy=multi-user.target
# chown postgres:postgres /lib/systemd/system/postgresql.service
# systemctl enable postgresql.service
として登録。再起動してpostgresql.serviceが起動しているか確認。
# systemctl --type service
・データベースの作成
$ createdb DataBaseMei -E UTF-8 -l ja_JP.UTF-8 -T template0
$ psql DataBaseMei < ダンプデータ
----------------------------------------------------------------------------------------------------
ここで失敗してしまった場合は一度、postgresql をアンインストールしてinitdbし直す
サービスを止める
# systemctl stop postgresql.service
postgresqlをアンインストール
$ cd /usr/local/src/p*
$ make uninstall
データフォルダーを削除
# rm -rf /home/pgdata
再作成
# mkdir /home/pgdata
# chown postgres:postgres /home/data
postgresqlを再インストール
$ cd /usr/local/src/p*
$ make install
環境変数PGDATAを確認して初期化
$ printenv
$ initdb --no-locale --encoding=UTF8
後、同様に下記を編集
/home/pgdata/pg_hba.conf
/home/pgdata/postgresql.conf
----------------------------------------------------------------------------------------------------
・ユーザーの作成(スーパーユーザーとして)
ユーザーは手動で登録、データベースを取り込んでもユーザーは登録されない。
ユーザー一覧
$ psql DataBaseMei
nhs=# select * from pg_user;
スーパーユーザーでユーザー登録 の場合
$ createuser -s UserMei
一般ユーザーでロール付与の場合
$ createuser UserMei
$ psql DataBaseMei
DataBaseMei=# grant pg_read_all_data to UserMei;
DataBaseMei=# grant pg_write_all_data to UserMei;
パスワードの設定
DataBaseMei=# alter role UserMei with password 'PASUWAAD';
・ユーザーの削除
$ dropuser Namae
------------------------------------------------------------
2019/8/21
1.sambaが開かなかった、telnetがつながらなかったので、
# systemctl disable firewalld
2.ホスト名の変更
ホスト名の確認
# hostnamectl
ホスト名の変更
# hostnamectl set-hostname [ホスト名]
3.IPアドレスの変更
IPアドレスの確認
# ip a
デバイスを確認
# nmcli d
IPアドレス、サブネットマスクを変更
/etc/NetworkManager/system-connections/enp0s31f6 (例えば)を修正
コメントアウトは#を付ける
インストール時に自動で作成された、IPアドレスだけ変更する
------------------------------------------------------------
インストール終了後、テスト環境ではピアツーピアでクライアントPC接続している。
その場合にクラアントPCからの接続が遅くなってしまう時
は設定したDNSは見えなくなっているので。コメントアウト(#を付ける)する。
それでも遅い場合は/hostsにクライアントPCを追加する。
------------------------------------------------------------
4.サービスの状態確認
起動中のサービス一覧を見たい場合は、以下のようにコマンドを実行します。
# systemctl list-units --type=service
サービスの自動起動を無効にしたい場合は、以下のようにコマンドを実行します。
# systemctl disable SeviceMei
5.ブートダンプ
$ dmesg | less
2024/6/25
6.GRUB2の編集
再起動した時、所要のOSが既定になっていない場合
一覧OSを上から0, 1, 2,・・・・
上から2番目を既定にしたい場合は
# grub2-set-default 1
# grub2-mkconfig -o /boot/grub2/grub.cfg
------------------------------------------------------------
AromaLinux 2024/9/26
パスワード設定時に「文字数が足りない」などエラーが出た時
/etc/pam.d/common-passwordが無いので、system-autuを編集
例えば、次のように最小文字数を変更できます。
password requisite pam_pwquality.so retry=3 minlen=6 dcredit=-1 ucredit=-1 ocredot=-1
------------------------------------------------------------