「CentOS」タグアーカイブ

OpenSceneGraph インストールのyumまとめ!

OpenSceneGraphのインストールで各種パッケージをインストールするのは大変です。
対象OSはCentOS 7です。

一つ一つパッケージを確認しながらインストールしていると、何時間掛かることでしょう?

ということで、私がインストールしたyumコマンドを以下に記録しておきます。

概ね必要そうなライブラリは全てインストールしたつもりです。

Qtやgccなんかは既にインストールしていることを前提としております。

epelリポジトリもインストールしていることを前提としています。

これで大分楽になるはず!

足りないライブラリとかパッケージがあれば、どなたかコメントしてください。

このコマンドを書き換えて楽になりたいです(^^;

インストールの詳細は以前に書いた下記の内容をご確認下さい。

OpenSceneGraphをLinuxへインストールする。

OpenSceneGraphをLinuxへインストールする。(2回目)

 

 

Raspberry Pi 3にCentOS 7を入れてみた時にやったこと

Raspberry Pi 3 Model Bをamazonで購入しました。
https://www.amazon.co.jp/gp/product/B01CSFZ4JG/ref=oh_aui_detailpage_o00_s00?ie=UTF8&psc=1

使える様になるまでの手順をまとめておきたいと思います。

準備

 

製品はケースに搭載された状態で送られてきます。
プライム会員だったので、夕方ぐらいに注文して翌日午前中には届きました(^^♪

必要な物を確認してみました。
①USBキーボード
②USBマウス
③HDMIケーブル
④HDMI対応ディスプレイ
⑤電源ケーブル(Micro USB Bコネクタ)
⑥電源 DC 5V 2A以上で良さそう。
2.5Aと書かれている日本語サイトもあったのですが、下記に記した公式ホームページを見る限り2Aになっていました。
ご家庭で余ったACアダプタを探せば一つぐらいは見つかるのではないかと思いますw
⑦Micro SDカード(8GB以上)
古いガラケーのMicro SDメモリを・・・と思ったのですが、容量が少なすぎました(^^ゞ

詳しくは公式ホームページを参照してみてください。
https://www.raspberrypi.org/learning/hardware-guide/

私は結局のところ⑦のMicro SDカードを購入しました。
8GBだと心許無いので16GBの製品にしました。

ディスプレイは取りあえずテレビでも大丈夫!一時的に使用するなら、パソコンのディスプレイでも良いと思います。

ハードウェアの準備はこれで終わりです。

次に準備したSDカードへOSをインストールしてあげる必要があります。
OSをインストールするには、Windows/Linux/Macなどが入ったパソコンが必要となります。
また、Micro SDカードを扱える環境が必要です。

OSとしてNOOBSやRASPBIANを用いるのが一般的なのだそうです。
でも、色々と理由がありまして、CentOSを入れることにしました。

CentOS 7をインストールしましたが、一応は正常に起動しています。
すこぶる速く起動してくれます。
小規模なWebサーバレベルであれば、十分なスペックではないかと思います。
一度評価してみようと思います。

インストール方法

CentOS 7をインストールします。

Raspberry PiにOSをインストールするには、まずパソコンなどでMicro SDメモリ(以下「SDメモリ」と称す)へOSを書き込んであげる必要があります。
SDメモリへOSを書き込むためには、「DD for Windows」というツールを使用します。
それと当然ですが、書き込むOS本体もダウンロードします。

こちらのサイトからDD for Windowsをダウンロードします。
http://www.si-linux.co.jp/techinfo/index.php?DD%20for%20Windows#s74c46f6

DD for Windows自体はインストールする必要はなく、適当なフォルダーで解凍したらそのまま使えます。ただし、管理者モードで起動する必要があります。(後でも書きますので、今はダウンロードしたファイルを適当なフォルダーへ解凍するまでにしてください。)

次に、CentOS 7の本体をダウンロードします。
こちらのサイトからダウンロードします。
https://buildlogs.centos.org/centos/7/isos/armhfp/

以下のファイルをダウンロードしました。
CentOS-Userland-7-armv7hl-Minimal-1611-test-RaspberryPi3.img.xz
(ここから直接ダウンロードすることも可能ですが、最新版が出ているかも知れませんので、サイトで確認してください。)

ダウンロードした.xzファイルは7zipを使えば簡単に解凍することが出来ます。
他の解凍ツールは試していません。

ここまで準備が出来たら、パソコンにSDメモリを差し込みます!

ここからが本番です。

DD for Windowsを右クリック→「管理者として実行」を選択し起動します。

対象ディスクとしてSDメモリを指定します。
「ファイル選択」をクリックして、先程ダウンロードしたCentOSの.imgファイルを指定します。
「ファイル選択」で表示される画面では、「*.ddi」ファイルしかデフォルトでは表示してくれない状態になっています。
「All files(*.*)」にして対象ファイルを指定してください。

後は、「書込」をクリックすればSDメモリへOSが書き込まれます。

私は、16GBと32GBのSDメモリへ実装してみたのですが、書き込むファイルサイズに対してSDメモリの容量が多いとメッセージが表示されますが構わず続行します。

書き込みが完了すると、SDメモリの空き部分をドライブと認識しようとするメッセージがWindows側で表示されますが、ドライブとは認識させずに全て「いいえ」で逃げてください。
これを「はい」で対応すると、せっかく書き込んだOSがまともに起動しない状態が発生する場合がある様です。

SDメモリをWindowsからUSBメモリを抜く手順と同じく安全に取り出して下さい。

取り出したSDメモリをraspberry Pi 3に差し込みます。

キーボードやマウス(最初は要らない)とHDMIケーブルでディスプレイを接続します。

最後にマイクロUSBで電源供給を行えば起動します。

起動した瞬間は、なんとなくごちゃごちゃしていて、ログインプロンプトが解り難いかも知れません。
「Enter」キーを押して出し直しても構いませんので、以下のIDとパスワードでログインします。

ID:root
パスワード:centos

以上でインストールが出来ました。

・・・・・・でもこれだけではまだインストールしただけです。
ネットワークもDHCPで自動割当てされる状態です。
SDメモリの空き部分が使える状態にありません。
yum updateも出来ません。
Webサーバにするなら、Apacheもインストールされていません。
Apacheインストールすると、ファイアウォールが影響して使えません。
だらだら・・・・

ということで、これらの問題解決をこれから行います。
やることがそれなりに多いので、基本的な設定方法は以下に記し、それ以外の項目は別記事で記載します。

基本設定をゴニョゴニョ

キーボード設定

キーボードの初期設定を行います。
CentOS 7を入れた状態はミニマムインストールと同じような状態にあると思われます。
キーボードの設定も十分に行われていません。
そのままでも違和感なく使えているのですが、念のため設定を行います。

こんな感じです。

ネットワーク設定

デフォルト状態では、DHCPで動的にIPアドレスが振られる設定になっています。
クライアント端末みたいな感じで使う場合には問題は無いのですが、固定IPしたいと思います。

固定IPにするには、設定ファイルを変更して・・・・というのは面倒です。
かといって、今の段階ではデスクトップ環境も入っておらず、GUIで設定することも出来ないのでは?という状況。

でも大丈夫!

nmtuiというツールを使います。
既に機能は備わっていますので、コマンドラインからnmtuiを実行します。

コマンドを実行するとこんな画面が起動します。

「接続の編集」を選択します。

既にeth0が存在します。「eth0」を選択してTABキーを使って「編集」まで移動したら、Enterを押して編集モードへ移行します。

IPv4が「自動」になっているので、「手動」に変更して編集を続けます。

「アドレス」には、xxx.xxx.xxx.xxx/24の様な形式で、IPアドレスとサブネットマスクを同時に設定します。
例えば、192.168.0.123/24と設定した場合、IPアドレス=192.168.0.123でサブネットマスクは255.255.255.0ということになります。

ゲートウェイとDNSにもアドレスを設定します。

「OK」を選択して、後は画面を見ながら終了します。

最後に設定を更新するためネットワークマネージャを以下のコマンドを実行して再起動します。

ifconfig -aコマンドなどを使用して、eth0に指定したアドレスが正しく設定されているか確認してください。

ダメだったら、一度再起動してみると良いと思います。

ここまで完了しましたら、一度外部のパソコンなどからTeraTermなどでSSHを使用した接続を行ってみると良いでしょう。
接続出来ない場合には何らかの設定に間違いがあると思います。
ネットワーク管理者などと相談して、確認を行ってみてください。
また、詳しい状況などコメント欄に記載して頂ければ、フォローできるかも知れませんので、お気軽にお声掛けください。
ただ、リアルタイムでの回答には対応しておりませんのでご了承ください。

SDメモリの拡張

ここまでの状態では、SDメモリの空き容量が使えない状態にあります。
パーティションを拡張して空いている領域も使える様にします。

実際の方法については、以下の記事に記載しましたのでそちらを参照してください。

Raspberry Pi 3SDメモリの空きを認識させる。

 

 

CentOS 7へNVIDIAドライバをインストールする。

CentOS 7へNVIDIAドライバをインストールする手順について記録する。

まず、NVIDIAのホームページから対象となるドライバをダウンロードする。

保存先は、パスに日本語が入らないように注意しておきましょう。FireFoxでダウンロードすると、日本語環境の場合は「ダウンロード」ディレクトリに保存されるので、適当に移動しておきます。

カーネルを再構築するので、kernel-develなどもインストールしておきます。

gccなども

必要になりますので事前のインストールが必要です。

さて、準備が整ったら順次開始します。

まず、CUIの環境へ移行します。

ここでリブートしても良いのですが、Ctrl+Alt+F2でCUIに移行して、設定を続けます。

下記のコマンドでまずはnouveauが読み込まれていることを確認しておきます。

次にカーネルの作成を行います。

既存のカーネルを別名保管します。

 

次にnouveauドライバの読み込みが行われないようにブラックリストを作成します。

内容は以下の通り。

もう一つファイルを作成します。

内容は以下の通り。

ここで再起動します。

再起動後はまだCUIの状態です。

ログインして以下のコマンドを投げます。

これでnouveau関連のドライバが表示されなければ、nouveauが入っていない状態でOSは起動されています。

ランレベルを元に戻します。

以下のコマンドで設定を確認します。

graphical.targetとなっていればOKです。

再起動してGUI画面でログインが要求されれば完了です。

幾度繰り返したことか分りませんが、毎回毎回面倒です。

yumでインストールする方法もあるので、最新版のドライバじゃなくても良いという方はそちらの方法も試してみると良いかも知れません。
でも、折角入れるんだったら最新版が良いですよねw
バグも取れているはずだし。。。というところですが、昔は違ったんです。
最新版だからと言って安定しているとは言えず、安定版をメーカーなどに確認して入れたり、それさえも分からないときは取っ替え引っ替え入れ替えて評価を繰り返しました。

その頃からすると、NVIDIAのドライバも更新すると障害が減っている傾向にあるんじゃないかと昨今は思っています。

でも、入れやすくしてくれないかねぇ〜NVIDIAさん♪

 

ノートPCへLinuxをインストールしようとして断念した。

今回は失敗談です。

GeForce 740Mを搭載したノートPCへCentOS 7をインストールして、NVIDIAのドライバを適用しようと試みました。

いくつかの方法を試みましたが、残念ながら断念することにしました。

まずは普通にCentOS 7をインストールしました。

ここでも一波乱ありましたが、CD-ROMからインストールは問題なく出来たので?その話は省略f^_^;)

最初は何も考えずにNVIDIAのドライバをインストールしました。

完全にダメでした。

NVIDIA Optimus Technologyが原因でした。

BIOSでIntel HDを無効にすることを考えるも、そんな設定は無いw

しばらく調べて、bumblebeeなるものを発見!

行けるか!?と期待したが、やはりNVIDIAのドライバはインストール出来るものの、起動時にscreenが無いと怒られる。

/etc/xorg.confを削除して、startxを起動すると画面は立ち上がるものの、nvidiaのドライバが認識されずOpenGLも使えない_| ̄|○

この問題を解決できず、最終的に断念しました。

誰か情報お持ちであれば、教えて〜と言いたいが、きっとここを見に来た人も同じ問題で躓いていることだろうと半ば諦めています。

というより、誰かが見てくれる可能性の方が少ないかなf^_^;)

CentOS 7にGDALとprojを入れる。

CentOS 7にGDALを入れます。

メンテナンス性を考えると、yumで入れたい。

ということで、EPELのリポジトリを登録してGDALをインストールする。

1)EPELリポジトリの登録

まずはyumを使ってepel-releaseのリポジトリをインストールします。

こんな感じでインストール完了!

epel-releaseリポジトリを明示的に使用する(通常は使用しないで、必要な時だけ使用する)場合は、以下の設定を行う。

この設定を行った場合には、yumのオプションに–enablerepo=epelを指定していないとEPEL-Releaseリポジトリは参照されません。

試しに、enabled=0の時と1にした時とでインストール対象が変わることを示します。

<EPEL-Releaseが参照されない(enabled=0)場合>

 

<EPEL-Releaseを参照する(enabled=1)場合>

19-23行目でprojが参照されていることを確認できます。
この状態になると、projをyumでインストールすることが出来ます。

以下では、enabled=1(明示的に指定しないで使用する)で作業を進めます。

2)projのインストール

ここまで来たら簡単です!
projをインストールします。

おしまし!。。。じゃない、まだGDAL入れてないしw

3)GDALのインストール

GDALのインストール手順を書きすれていました(^^;

こんな感じです。

出力されているコメントを見るとOGRの名前が見当たりませんが、OGRもしっかりと入っています!

試しにこんな感じで確認できます。

ということで、今度こそおしまい!

 

service iptables save がCentOS 7で出来ない( ゚Д゚)

CentOS 7を使い始めて、iptablesの設定をしようとゴチャゴチャ・・・

# service iptables save
The service command supports only basic LSB actions (start, stop, restart, try-restart, reload, force-reload, status). For other actions, please try to use systemctl.

出来ない!systemctl使えって言ってるよ!!

調べてみたら、なんかこんな感じで使える様になるらしいw

無事完了!
結局、コマンドをそのまま使える様に、以下をインストールするだけということですね。

それもあるのですが、centOS 7からfirewalldに移行していますので、なるべくそちらへ移行することが望ましいです。

CentOSにRPMforgeリポジトリを追加して、wputをインストールする。

FTPサイトからファイルをダウンロードする際に使うことが出来るwgetの逆で、FTPサイトへファイルをアップする機能でwputという機能がある。

ここでは、CentOS 6.xにおける実装方法を記載します。

他のバージョンについても基本的に同じなのですが、RPMForgeリポジトリだけ異なりますので気を付けてください。

あまりメジャーではないが、ftpでスクリプトを書いてゴチャゴチャするより手っ取りくファイルを転送出来るので便利です。

リポジトリを追加する前に、リポジトリの優先度を指定できるプラグインを追加しておきます。

それを実現するためのプラグインはyum-prioritiesです。

インストール方法について記載します。

<<リポジトリ優先度指定用プラグインのインストールと設定>>

<<RPMforgeリポジトリの追加>>

wputをインストールするには、RPMSearchでRPMをダウンロードしてインストールする方法もありますが、やはりCentOSであればyumでインストールを行いたいと思います。

RPMforgeリポジトリの追加にもyumを使用します。
やり方は、CentOS 6.xに関する方法です。
他のバージョンの時には別のファイルになるので注意してください。

<<wputのインストール>>

やっとインストールする準備が完了しました。

ということで、wputをインストールしちゃいます(^^♪

最後に確認してみましょう。

こんな感じでバージョンが表示されれば完成です。

使い方は至って簡単です。

wgetにも色々なオプションがあります。詳しくはヘルプを参照してください。

 

 

一般ユーザにホームディレクトリ以外を見せなくする。

表題があまり正確ではないので、正確に。

Linux(CentOS 6.x)ですが、sshでログインしたユーザが/を見えたりする状態って嬉しくない時があります。

そういう時に、自分のホームディレクトリ以下のフォルダーやファイル以外を見えなくしてしまおうというのが今回の説明です。

本当は、sshでrootにログイン出来なくした上で、他のユーザからsu -でrootにスイッチしたいと考えました。
その時、他のユーザにおいてホームディレクトリ以下しか見えない設定にしたかったのですが、思うように出来なさそうなので・・・諦めました。

なので、実のところ副産物に過ぎず、あまり問題も気にせず、一応出来たよ・・・ということで書きますね。

まず、前回sshでrootアカウントのログインを出来なくしました。
その続きで見ている人がいたら要注意です。
これから作成するユーザをrootの代わりに作ったユーザIDには設定しないでください。
これから作成するユーザはsu コマンドを利用してrootにスイッチすることは出来ません。

あまり利用される機会は少ないと思いますが・・・

順序を説明します。

まず、新たにユーザを作成します。

一応、フォルダーも作成されて.bashrcなんかも入れてくれています。
useraddコマンドで作成するとちょっと違った感じになっちゃいますので、必ずadduserコマンドで作成してください。

出来上がったホームディレクトを確認します。

chrootするだけなら、この時点で特に設定を変更する必要はないのですが、最終目的はsshでログインまでさせることを考えているので、ここで設定を少し変更します。

理由は、sshでログインして移動させることが出来るディレクトリはroot権限になっている必要があるようです。
更に、オーナーをrootにしてしまうと、パーミッションを変えてやらないと一般ユーザが何も出来ない状態になってしまうからです。

では先程作ったabcユーザのフォルダーに対し設定変更を行います。

ここから必要最小限のファイルをコピーします。
と言いながら、面倒なのでがっつりと(^^ゞ

これで、chroot出来る環境が整ったはずです。
確認します。

これで成功です。

CTRL+Dで一度抜けます。

ここから、今度は作成したユーザ(abc)にsshでログインします。

入れることを確認したら、これも一旦抜けます。
このままでは、cd ..とすると/homeへ移動できてしまうはずです

sshdの設定を変更します。sshd_configファイルに以下の設定を追加します。最後に追加すれば良いはずです。

sshdの設定を再読み込みします。

こんな感じになっていればOKです。

仕上げの確認です。

cd ..で上位のディレクトリへ移動しようとしても移動できていないことが判ると思います。

設定は以上なのですが・・・ここで問題です。

そうです。ファイルを作ることが出来ないんです!

入れるけど、何も作成することが出来ない状態なのです。

そこで、ファイルが作れる環境を準備します。

何度も済みませんが、また抜けてください。
root権限で作業を行う必要があります。

rootアカウントに戻ったら、以下の操作を行います。
作成するディレクトリは任意の名称で構いません。

これで、/home/abc/user_spaceでabcユーザが自由に使えるスペースが出来ました。

先程と同じようにsshでログインしても大丈夫です。

今回この資料を残したのは、chrootで以下のエラーが発生したためです。

この問題を解決する方法が他のサイトにも記載されてはいたのですが、私が調べたサイトでコピーしているフォルダーの内容などをチェックしても失敗してしまったので、それらしきフォルダーをコピーして動くようにした経緯を残したかったからです。

誰かの参考になるかな?
正直、あまり使い道が無い結果になっているのですが・・・

私の最終目的は、ここからsu コマンドでrootユーザにスイッチ出来るところまでだったのですが、それには/etc/passwdをコピーするなど、本来隠しておきたいファイルが公になってしまうことが解りました。
まあ、それでも良かったのかも知れませんが・・・取りあえず、この段階でやる気が尽きましたのでご勘弁ください。

どなたかフォローのコメントを頂ければ幸いです。

P.S.ほとんど見られていないだろうから、コメント無いよな~寂しいなぁ~(8_8)