CentOS」カテゴリーアーカイブ

Pythonz で Python のインストールが失敗する原因と対策


OS やアプリのバージョンがまちまちな複数の共有マシンで作業することが多い。Python やライブラリのバージョンを揃えたいとき、ユーザーディレクトリに Python をインストールするツールとして Pythonz や Virtualenv は便利だ。

これらなしの Python 環境は考えられないくらい依存しているのだけれど、今日 CPython 3.5.2 をインストールしようとしたら失敗。その環境には、自前で Gcc 4.8.4 をいれていたこともあり、色々試行錯誤するも改善せず。

ふと思って、make の並列化を無効化したところ、コンパイルが通る。このパターンか…と思いつつ、Pythonz から無効化する術がないことを知りしょんぼり。とりあえず Pythonz を一部書き換えてインストール成功。

こういうことは他の環境では起きたことがないので再現性低そうだなと思いつつ、時間があったら Pull request 送ってみようかな。

Let’s Encrypt の証明書を使って無料で HTTPS 化

しばらくこの WordPress は HTTP でアクセスしていたけど、無料で証明書を使えるサービスである Let’s Encrypt が使えそうだったので HTTPS 化してみた。

certbot を使うとできるよ、と説明があったので、それに従うことにした。このサイトは CentOS6 + Apache Web Server で構築されているので、ここにやり方が載っている。

特にはまることなく証明書をインストールできて、自動で設定もしてくれた。ただし、HTTP から HTTPS へのリダイレクトは自動設定ではうまくいかなかったので、手動で .htaccess を変更して 301 リダイレクトするように設定した。

 

【解決済】HP Microserver gen7 で CentOS 7.2 にアップデートすると kernel panic する問題

AMD Neo シリーズの CPU を搭載したマシンを CentOS 7.2 にアップデートすると、起動直後にハングする問題が起きています。自分は N54L を搭載したマシンで発生。

問題のカーネルバージョンは kernel-3.10.0-327.el7 で、boot option を追加すると回避できるとのこと。

Adding initcall_blacklist=clocksource_done_booting to GRUB_CMDLINE_LINUX in /etc/default/grub and then grub2-mkconfig -o /etc/grub2.cfg fix this bug. Thank you for sharing this solution.

参考

Top で特定のユーザのプロセスを非表示にする

top でプロセスの一覧を眺めている時に root のプロセスが邪魔な時がある。そんな時には以下の方法で特定のユーザのプロセスを非表示にできる。

$ top -U !username

top コマンド起動後に u を押して !username と入力することでも可能。

参考:How to exclude some users from Linux Top screen?

Samba で別サーバで稼働している LDAP を認証に使う方法

Microserver に CentOS 7 を入れてファイルサーバとして使えるようにした。その時に Samba でアクセスできるようにしたかったのだが、LDAP サーバはすでに別のサーバで動かしている。 「Samba LDAP」 とかで調べると、LDAP が動いているサーバで Samba も動かす方法が書いてあったりしてなかなか欲しい情報に辿りつけない。しかも、Samba は Windows の認証の機能(ドメインコントローラとかいうそうな)もあるようで、Active Directory 関連の情報も出てきたりしてさらにわけがわからなくなってくる。つまりはググラビリティが低い。

このサイトこのサイトがかなり参考になる。設定をスムーズに行うために理解しなければならないのは、以下の点と思う。

  1. Samba の認証を LDAP で行うためには、Samba の認証に使う情報を LDAP の各ユーザのエントリに持たせる必要があり、そのためにスキーマの追加が必要。
  2. Samba パスワードを pbdedit や smbpasswd コマンドで変更できるようにするためには、自分の LDAP アカウントを書き換えられるように LDAP サーバのアクセス制御をしておく必要がある。
  3. Unix アカウントのパスワードと、Samba のパスワードは LDAP においては別の Attribute として保持される。Unix アカウントのパスワードと、Samba パスワードを同期させるためには、/etc/smb.conf で
    ldap passwd sync = yes
    

    とすればよいが、これは Samba からパスワードを変更した時に Unix アカウントのパスワードも変更するというものであって、その逆をすると(つまり passwd コマンド等で Unix アカウントのパスワードを変えると)別々のパスワードが設定されることになる。

  4. CentOS 7 でも
    yum install samba-client
    

    とすれば smbpasswd コマンドを使うことができる。

それにしてもディレクトリサービスは複雑すぎる。できることが多いのはわかるけど、もっと扱い易くないと簡単にわけわからんくなってしまうよ。

HP ProLiant MicroServer N54L 購入

最終ロットの文言に後押しされて買った。
ファイルサーバにして、データ置き場に使う。

FreeNAS とかもいいなと思ったけど、メモリが 4GB しか搭載してなくて要求 8GB に届かなかったのでやめた。とりあえず CentOS 7 をインストールしてみた。

内部 USB ポートに 16GB のフラッシュメモリを挿して、そこに OS をインストール。
それ以外に 3GB SATA HDD を 2 本挿して LVM でミラー。コンパクトな筐体ながらディスクを 4 本も挿せるのがいい。手狭になったら拡張できる。

RAC 付きのモデルを購入したので、Web UI から電源の入/切もできるし、ビデオリダイレクションもできる。値段を考えると素晴らしい。
インターフェース拡張のために RAC を挿してももう一つ PCIe のスロットがあるというのもいけてる。NIC を増設してルータにする、とかもできそう。

CPU は 2 コアで今のところ力不足は感じていない。
メモリも 4GB もあれば十分に感じる。
研究上の実験データをこの中に突っ込んで DB で参照できたりしたら最高だけど、そこまでのスペックではないなぁ、と思ったり。

このモデルはもう販売停止で、後継のGen8 は価格帯が上がっているので、他に新たな安鯖が登場してくれるといいんですが。

OpenVPN client on CentOS 7

CentOS 7 を OpenVPN client にする話。
うまい説明が見つけられなかったのでメモしておく。

tun の場合は openvpn を起動するだけで OK だけど、 tap の場合には openvpn を起動するだけでは繋がらない。
この場合、あらかじめブリッジを作成しておいて (br1とする) 、openvpn が作った tap デバイス (tap1 とする) する。

# brctl addif br1 tap1

とした上で、

# ifconfig tap1 up

とし、 br1 に振った(振られた) IP アドレスで VPN につながるようになる。