ラベル CentOS の投稿を表示しています。 すべての投稿を表示
ラベル CentOS の投稿を表示しています。 すべての投稿を表示

2021年2月11日木曜日

Cent OS 7においてJVMのエラーでCalibreをインストールできない


Calibre のインストーラーが Java でできているのだが,解凍したバイナリを実行すると
*** Warning with: ./install
The version of ./JRE/bin/java may not be correct!
...Required: "1.6.0"
...Found: Error: no `server' JVM at `/cad/mentor/CDROM/install.ixl/JRE/lib/i386/server/libjvm.so'.
...Please check that you have correctly installed the Mentor Install program that contains the Java Runtime Environment.
Error: no `server' JVM at `/cad/mentor/CDROM/install.ixl/JRE/lib/i386/server/libjvm.so'.

と表示される.スクリプトを見ると,解凍したバイナリ中で
$ JAVA -version
を実行したときに,バージョン情報では無くて libjvm.so がエラーを吐くようだ.

解決方法は XFS ではなくて他のファイルシステム,例えば ext3 や ext4 を使うとよい.
EBS 12.2 -- problem installing EBS on XFS -- no server JVM at libjvm.so

上記ブログの内容を簡単にまとめると,RHEL7 系ではデフォルトでファイルシステムが XFS で,XFS で 1 TB 以上の容量を取り扱う場合に 64 bit inode を使うのだが,これが 32 bit のJava アプリケーションの実行に問題を発生させるという話.マウント時に 32 bit inode を使うようにしてもよいとのことだ.
自分の環境は Cent OS 7 に 3 TB の SSD を XFS(デフォルト) で作成していたので問題となったようだ.古い 500GB の HDD を ext4 でフォーマット & マウントしたらインストーラーが起動した.

(上記Blogでは Oracle Linux 7 で問題となっていて,自社の OS で自社のインタプリタが動かないってどういうことやねん,という感じ)

Cent OS フォーラムにもトピックが立っていたが,解決しなかった.

2019年8月28日水曜日

CentOS7 で MACアドレスを偽装する

事情があって Linux マシンの MAC アドレスを偽装したい.
いろいろ方法があるっぽいが,自分の環境では,ip コマンドで MAC アドレスを偽装する必要があり,それを起動時に反映させるために udev にルールを書く必要があった.さらに,udev のルールと対応する様に network-scripts も書き換える必要があった.

ここでは仮に,接続プロファイル ifcfg_enp0 においてMACアドレスを書き換える.

(1)  /etc/udev/rules.d/70-persistent-ipoib.rules に以下のように追記
ACTION=="add", SUBSYSTEM=="net", ARRR{address}=="偽装するアドレス", ATTR{type}==1, KERNEL="eth*", NAME="ifcfg_enp0"

(2) /etc/sysconfig/network-scripts/ifcfg-enp0 を編集
HWADDR=偽装するアドレス
BOOTPROTO=static
IPADDR=xxx.xxx.xxx.xxx
PREFIX=24
GATEWAY=xxx.xxx.xxx.xxx
DNS1=xxx.xxx.xxx.xxx
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
NAME=enp0
ONBOOT=yes

IPアドレスや設定などは適当に変えてください.

network-scripts だけではだめだったよ.macchanger は一瞬だけ MAC アドレスを変更できるのだがなぜか即戻ってしまって使えなかったよ.

参考:
Arch Wiki:Macアドレス偽装

2019年4月18日木曜日

Windows10ホスト上のVMware Workstation 15 PlayerのゲストCentOS7.2とフォルダを共有する

すんなりいかなかったのでメモ.解決策は以下のリンクの通りになった.
Solved: Shared folders not available on Linux guests after upgrading to VMWare Workstation 15


ホスト側:
[管理]→[仮想マシン設定]→[オプションタブ]→[共有フォルダ]から,ホスト側の共有フォルダの場所を指定する.
これは今まで通り

ゲスト側:
yumでopen-vm-toolsをインストール
% yum install open-vm-tools
マウントポイント/mnt/hgfsを作る
% cd /mnt
% mkdir hgfs
手動でマウントしてみる.
% vmhgfs-fuse .host:/ /mnt/hgfs -o allow_other
/mnt/hgfs/[ホストOSで設定した共有フォルダ名]/
にアクセスしてみて,読み書きできればOK

手動でマウントできたら,/ets/fstabに以下の構文を書いてあげると次回以降自動でマウントする.
% echo ".host:/ /mnt/hgfs fuse.vmhgfs-fuse allow_other 0 0" >> /etc/fstab

あとは必要に応じてスタティックリンクを作ればOK
% cd 
% ln -s /mnt/hgfs/[ホストOSで設定した共有フォルダ名]/ SharedFolder

ゲストOSをサスペンド・レジュームするとマウントができなくなると書かれていたが,こちらではそんなことはなさそう.ただしサスペンド前のディレクトリスタックは無効になっているみたい.

起動に時間がかかるようになった.mountしようとして時間かかっているのだろうか.

2019年4月4日木曜日

VMware上のCent OS7に固定IPを割り当てる

Windows10をホストOS,Cent OS7をゲストOSとして,ゲストOSに固定IPを割り当てたい.いろいろやり方があって混乱したけれど,結果的には以下の記事の情報が役に立った.

VMWARE PLAYER の NAT ネットワークを極める
http://hetarena.com/archives/2343

ポイントは,Vmware上のNATネットワークでは,
ゲストOSからみて
ホスト:192.168.xxx.1
ゲートウェイ:192.168.xxx.2
になる.固定IPにしたければ,(1)DHCPの範囲外で性的に割り当てるが,ホストOS上で動くDHCPサービスがゲストOSに固定IPを割り当てるようにすればよい.

ゲストのCent OSでは,まず自分のMACアドレスを探す.
% ip a
1: lo: mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
(略)
2: ens33: mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:0c:29:35:e2:ea brd ff:ff:ff:ff:ff:ff
    inet 192.168.xxx.128/24 brd 192.168.xxx.255 scope global noprefixroute dynamic ens33
(略)


この地点ではDHCPで192.168.xxx.128が割り当たっている.xxxはVMwareインストール時に一意に決まるそう.
ens33のlink/etherに続く12文字がMACアドレス.これをホストOSのDHCPサービスの設定に書き込む.

NATではホストOSはVMnet8で通信するのでそこを書き換える.
開くファイル:C:\ProgramData\VMware\vmnetdhcp.conf
host VMnet8 {
     hardware ethernet 00:0c:29:35:e2:ea;
     fixed-address 192.168.xxx.50;
 }
のように書き換える.ここでは固定IPとして 192.168.xxx.50を割り当てる.なお,システムによっては直接編集ができないようなので,私はいったんデスクトップにファイルをコピーしたうえで編集し,C:\ProgramData\VMware\vmnetdhcp.confを上書き保存した.

設定を反映させる.

ホストOSのDHCPサービスを再起動.
[タスクマネージャ]→(必要に応じて詳細設定表示)→[サービス]→[VMnetDHCP]を右クリック→[再起動]

ゲストOSのネットワークを再起動
% systemctl restart network

IPアドレスを確認
% ip a
1: lo: mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
(略)2: ens33: mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:0c:29:35:e2:ea brd ff:ff:ff:ff:ff:ff
    inet 192.168.xxx.50/24 brd 192.168.249.255 scope global noprefixroute dynamic ens33
(略)

これでIPアドレスを固定できた.

ここまで記事を書いて気が付いたが,昔全く同じ記事を書いていた.車輪の再発明をしてしもうたてへぺろ(少しだけ情報多いからそのまま載せます)