LoadModule cgid_module modules/mod_cgid.so 先頭の#を外し、このパラメータを有効に。
<IfModule alias_module> このディレクティブで
ScriptAlias /cgi-bin/ "/usr/local/apache2/cgi-bin/" このパラメータが有効な事をチェック
<Directory "/usr/local/apache2/cgi-bin"> このディレクティブで
# AllowOverride None 先頭に#を付けて、コメント化
Options ExecCGI Options NoneをOptions ExecCGIに修正
Require all granted
</Directory>
<IfModule mime_module> このディレクティブの下の方にある以下のパラメータ
AddHandler cgi-script .cgi 先頭の#を外し、このパラメータを有効に。
/usr/local/lib
/usr/local/lib64/perl5/auto/Text/Kakasi
必要な箇所を修正したあと、/usr/local/apache2/cgi-bin/にドットファイルとして.namazurcでコピーを忘れると、namazu.cgiをダウンロードしてしまうようになるので注意。
cp /usr/local/etc/namazu/namazurc /usr/local/apache2/cgi-bin/.namazurc
インデックスを作成するときの--excludeオプション(シングルクォートでオプション文字列全体を括って、'|'でつなぐ)
mknmz '--exclude=index.html|img' /usr/local/apache/html
namazu-2.0.21の場合、/usr/local/share/namazu/filter/pdf.plの2箇所で4行ずつをコメント化(namazu-2.0.22pre7は判定に$isPopplerが含まれているため修正不要)
61 if (util::islang("ja")) {
62 # if ($pdfconvver >= 1.00) {
63 @pdfconvopts = ('-q', '-raw', '-enc', 'EUC-JP');
64 # } else {
65 # @pdfconvopts = ('-q', '-raw', '-eucjp');
66 # }
67 } else {
85 if (util::islang("ja")) {
86 # if ($pdfinfover >= 2.02) {
87 @pdfinfoopts = ('-enc', 'EUC-JP');
88 # } else {
89 # @pdfinfoopts = ();
90 # }
91 } else {
namazu-2.0.22pre7の場合、/usr/local/share/namazu/filter/pdf.plを以下の通り修正
65 if (util::islang("ja")) {
66 if ($IsPoppler || $pdfconvver >= 1.00) {
67 # 抽出されないキーワードが生じるので、-rawオプションを外す
68 # @pdfconvopts = ('-q', '-raw', '-enc', 'EUC-JP');
69 @pdfconvopts = ('-q', '-enc', 'EUC-JP');
70 } else {
71 # @pdfconvopts = ('-q', '-raw', '-eucjp');
72 @pdfconvopts = ('-q', '-eucjp');
73 }
74 } else {
96 if (util::islang("ja")) {
97 if ($IsPoppler || $pdfinfover >= 2.02) {
98 @pdfinfoopts = ('-enc', 'EUC-JP');
99 } else {
100 # 日本語のエンコード指定を強制してみた
101 # @pdfinfoopts = ();
102 @pdfinfoopts = ('-eucjp');
103 }
104 } else {
# tar zxf namazu-2.0.21.tar.gz
# cd namazu-2.0.21/File-MMagic
# perl Makefile.PL
# make
# make install
mknmzを実行する前に、NKF.pmをインストール
# yum install -y perl-NKF
defined(@array) is deprecated at /usr/local/share/perl5/File/MMagic.pm line 1122.
(Maybe you should just omit the defined()?)
[root@ ~]# chmod +w /usr/local/share/perl5/File/MMagic.pm ← MMagic.pmへ書き込み権限追加
[root@ ~]# vi /usr/local/share/perl5/File/MMagic.pm ← MMagic.pm編集
#elsif (defined @$entry) { ←←←←←←←←←← 1122行目の行頭に#を追加してコメントアウト
elsif (ref $entry eq "ARRAY" and @$entry) { ← 1123行目を追加
/usr/lib/systemd/system/vncserver@:2.serviceの[Service]セクションでUserをコメントにすると起動出来た。
[Service]
Type=forking
#User=user0010
PAMName=login
※ただし、起動後にリモート画面の端末では.bash_profileに定義した環境変数 LD_LIBRAY_PATH が反映されていない。
#!/bin/sh
# Uncomment the following two lines for normal desktop:
unset SESSION_MANAGER
exec sh /etc/X11/xinit/xinitrc
[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey
vncconfig -iconic &
x-terminal-emulator -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
x-window-manager &
#chmod 755 ~/.vnc/xstartupを忘れずに実行
.vnc/configに以下の解像度から何れかを定義
geometry=1280x960
geometry=1366x768
geometry=1440x810
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
# addpath $HOME/bin
BAH_ENV=$HOME/.bashrc
export PGHOME=/usr/local/pgsql
export PGDATA=$PGHOME/data
export PGLIB=$PGHOME/lib
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH":"$PGLIB"
PATH=$PATH:$PGHOME/bin
export PATH BASH_ENV
# Oracle Instant Client x86_64 Environment
# instantclient-x86_64版でOracle9iに接続する時は、
# instantclient version 10.2でなければ接続できないので要注意。
# 他のバージョン( 12.2.0.1 or 18.3.0.0 )では、エラーになる。
# instantclientで接続するときは、transname.oraは不要。(TNS_ADMINの登録も不要)
export ORACLE_HOME=/usr/local/oracle/instantclient_10_2
export PATH=$PATH:$ORACLE_HOME
export NLS_LANG=JAPANESE_JAPAN.AL32UTF8
# LD_LIBRARY_PATHの指定は、ダブルクォートを忘れない事
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH":"$ORACLE_HOME"
まず、expect をインストールする
yum -y install expect
以下のスクリプトをfilefromscp.shで保存し、chmod 755 filefromscp.sh する
#!/bin/bash
# REMOTE_DIRからLOCAL_TEMPにディレクトリごとコピーし
# コピーした後にLOCAL_TEMPの不要ファイルを削除後、
# LOCAL_TEMPからLOCAL_DATAに全ファイルを移動する
#
USER=hoge
PASS=passwd
HOST=servername
# コピーするファイルがあるリモート側のディレクトリを指定
REMOTE_DIR=/home/${USER}/data/
# ローカル側の一時ディレクトリを指定
LOCAL_TEMP=/home/${USER}/tmp
# ファイルを格納するローカル側ディレクトリを指定
LOCAL_DATA=/home/${USER}/data
expect -c "
set timeout 10
spawn scp -rpq ${USER}@${HOST}:${REMOTE_DIR} ${LOCAL_TEMP}
expect \"Are you sure you want to continue connecting (yes/no)?\" {
send \"yes\n\"
expect \"${USER}@${HOST}'s password:\"
send \"${PASS}\n\"
} \"${USER}@${HOST}'s password:\" {
send \"${PASS}\n\"
}
interact
"
# 一時ディレクトリの不要ファイルを削除(ディレクトリごとコピーされている)
rm ${LOCAL_TEMP}/data/*.bak
# コピーされたディレクトリに残っているファイルを格納ディレクトリに移動
mv ${LOCAL_TEMP}/data/* ${LOCAL_DATA}
# 一時ディレクトリにコピーされたディレクトリ全体を削除
rm -r ${LOCAL_TEMP}/data
ただし、ワイルドカードが使えないので、個別のファイル以外、ワイルドカードで複数のファイルを指定できない。(上記は-rオプションでディレクトリを指定)
# gsettings set org.gnome.desktop.interface clock-show-date true
# gsettings set org.gnome.desktop.interface clock-show-seconds true
VGAでログオン画面になっているのでCTRL+ALT+F4でコンソール画面に切り替え、gdmサービスを止める
# systemctl stop gdm.service
xorg.confのテンプレートxorg.conf.newをカレントディレクトリに作成する
# Xorg -configure
CentOS7でXGI XG20グラフィックコントローラーはVESAドライバでサポートされているらしく、
/var/log/Xorg.0.logをみると解像度はBuilt-in modeで1600x1200まで対応しているようだが、
Virtual size is 1280x1024と出てるので、Virtua sizeと同じ1280x1024の画面モード情報を
下記のコマンドで取得する
# cvt -r 1280 1024
# 1280x1024 59.79 Hz (CVT 1.31M4) hsync: 63.02 kHz; pclk: 90.75 MHz
Modeline "1280x1024R" 90.75 1280 1328 1360 1440 1024 1027 1034 1054 +hsync -vsync
テンプレートxorg.conf.newの内容を上記の表示された画面モードで修正し、必要な箇所も合わせて修正する
このとき、Modeline "1280x1024R"のRは取り除く
HrizSyncとVertRefreshはモニターのカタログから読み取って記述
# vi ./xorg.conf.new
Section "Monitor"
Identifier "Monitor0"
VendorName "Monitor Vender"
ModelName "Monitor Model"
HorizSync 31.2 - 82.3
VertRefresh 56.0 - 76.0
# 1280x1024 59.79 Hz (CVT 1.31M4) hsync: 63.02 kHz; pclk: 90.75 MHz
Modeline "1280x1024" 90.75 1280 1328 1360 1440 1024 1027 1034 1054 +hsync -vsync
EndSection
使用するドライバーをVESAに指定
Section "Device"
Identifier "Card0"
Driver "vesa"
VendorName "XGI"
BoardName "Volari Z7 (XG20)
BusID "PCI:5:7:0"
スクリーン解像度を指定
Section "Screen"
Identifier "Screen0"
Device "Card0"
Monitor "Monitor0"
SubSection "Display"
Viewport 0 0
Depth 24
Modes "1280x1024"
EndSubSection
EndSection
テンプレートのxorg.conf.newを/etc/X11に本来のファイル名でコピー後、再起動する
# cp ./xorg.conf.new /etc/X11/xorg.conf
# reboot
python3をインストールする準備(リポジトリを追加)
# yum install -y https://centos7.iuscommunity.org/ius-release.rpm
そのままインストールしようとすると、python-rpm-macros-3-32.el7.noarch と python-devel-2.7.5-80.el7_6.x86_64 が
コンフリクトするので、python-devel-2.7.5-86.el7にupdateする
# yum update python-devel
python3.6をインストール
yum install python36u python36u-libs python36u-devel python36u-pip
# yum install gpgme-devel jansson-devel libarchive-devel lmdb-devel
# ./configure
# make
# make install
Samba4そのものをインストールするときに必要なパッケージが他にもあったが失念した。次回インストールする際に追記。
yum install expat-2.1.0-10.el7_3.x86_64.rpm
tar zxf apr-1.7.0.tar.gz
cd apr-1.7.0/
./configure
make;make install
tar zxf apr-util-1.6.1.tar.gz
cd apr-util-1.6.1/
./configure --with-apr=/usr/local/apr
make;make install
tar zxf apache-2.4.41.tar.gz
cd apache-2.4.41/
./configure --enable-mdule=so
make;make install
Troubleshooting > Rescure a CentOS system
-----------------------------------------
1) Continue
2) Read-only mount
3) Skip to shell
4) Quit (Reboot)
Please make a selection from the above:
1[ENT]
Please pressto get a shell
[ENT]
一度、ルートファイルシステムをchrootコマンドでマウントし直す
chroot /mnt/sysimage/
このまま再起動
exit
exit
何もせずに再起動しただけでマシンが立ち上がった。
ただし、再起動時に以下のメッセージで処理が止まったように見えたが、5分位待てば正常に起動した
warning skipping the following r/o file systems /sys/fs/cgroup
その後、再びrebootすると、今度は通常通り時間もかからずに再起動した。
# systemctl disable libvirtd
この後、マシンを再起動するとインターフェースは存在しなくなっているはず。
状態を確認する
# virsh net-list
defaultの中身を確認する
# virsh net-dumpxml default
動作中のインターフェースを停止する。
# virsh net-destroy default
停止したことを確認する。
# virsh net-list -all
自動起動を無効化。
# virsh net-autostart default --disable
無効化を確認する。
# virsh net-list -all
この後、マシンを再起動
-------------- ここまで ------------------------
有効化するとき
# virsh net-start default
自動起動も有効化
# virsh net-autostart default
ls -l /dev/disk/by-uuid/
vi /etc/fstab
UUID=76760E10760DD233 /mnt/usbhdd ntfs defaults,user,umask=002 0 1
umount /dev/sd?1 # 接続デバイスを指定
mkdir /mnt/usbhdd
chown user.group /mnt/usbhdd
mount /mnt/usbhdd