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

2016年2月3日

本日開発環境を作りなおすの巻

 開発環境といってもデータベース・サーバーのことです。

今まで、VMWare ESXi 5.5を使って仮想マシンを立てて開発に使用していました。
どこかの記事でESXi 5.5自体をUSBメモリにインストールすれば、HDDを消費せずに済むとよという記事に乗っかってその通りに運用していました(1年くらいノンストップで運用)。
他には、RedmineとSoftEatherを動かしてましたよ。

だがしかし、よくよく考えてみたら、USBメモリなんていつ急に使えなくなるということもあるのでやはりこれは危険ということで新しい環境を構築することにしました。

使っているソフトは、「XenServer 6.5」のフリー版です。
Citrixのサポートを受けずに自分でできるんだったら、無料で使用できますよというものです。


準備段階として新しいHDD 2TB(7,000円弱)を購入しました。
今は、2TBくらいが一番手ごろなのでしょうか?

ちゃんとした運用をするのであれば、RAIDを組んだりいろいろとするのでしょうが、そこまでは求めていないのでよしとします。

ESXiよりもクライアントソフトがよい感じがします。
仮想マシンのバックアップや復元が簡単そうです。


これで、仮想環境はXenServerに決まりっ!。

これから、OSインストール、設定、MySQLのインストールとデータベースの復元をしなければならないのでちょっと時間が掛かりそうです。
徹夜でやるか、明日の仕事をサボって作業するかどうしようか悩みどころです。


参考にした記事
XenServerをインストールしてみた
XENSERVER 6.5を使ってみました


2015年9月20日

Windows10とVirtualBox5.0とVagrantではまったの巻その2

 以前の記事で、Windows10とVirtualBox 5.0は、正しく動作しないがあるという記事を書きました。
VirtualBox5.0.4をインストールすることで解決されているようなのでインストールしてみたら既存の仮想マシンが正しく動作しない場合があるという現象がありました。
 具体的には、Guest Additions 5.0.4が使用できないという問題です。

 それを解決する方法です。

ホストOS:Windows 10
ゲストOS:CentOS6.7 64bit版


すでに作成されていたVirtualBoxの仮想マシンにGuest Additionsのバージョンが4.3.4がインストールされている場合、VirtualBox 5.0.4をインストールしているとGuest Additionsが正しく動作しないという問題があります。


VagrantのPluginの「vagrant-vbguest」をインストールしていると本来は、正しいバージョンの「Guest Additions」をインストールしてくれるのですが、なんだかと途中でエラーを起こしてインストールできていないようなのです。

 グーグル先生に聞いてみるとLinuxのカーネルのバージョンが古いのが問題なので新しいものをインストールするようにというのが書いてありました。
※エラーメッセージにも「yum install kernel-devel-2.6.32-431.el6.x86_64」と表示されるので、その通りにしてみます。

>yum install kernel-devel-2.6.32-431.el6.x86_64
 言われたとおりにやってみる→なぜかうまくいかない
 Error: Nothing to doとメセージがでる

>sudo yum install kernel kernel-devel
 グーグル先生に聞いた通りにやっている→うまくいかない
 Error: Nothing to doとメセージがでる

これで新しいカーネルがインストールされるのでゲストOSを再起動すると新しいGuestAddionsがインストールされるはずです。
ですが、インストール自体がされません。

Qiitaでこの問題を解決している記事がありました。

Vagrantのフォルダ同期のエラーの対処

そもそも、yumでkernelのインストールを止めているようでした。
カーネルのアップグレードをする為には、「/etc/yum.conf」のカーネルを対象外にする(?)設定をコメントアウトする必要があるようです。

exclude=kernel*

#exclude=kernel*

これで、「sudo yum install kernel kernel-devel」をすると正しくインストールされます。

あとは、ゲストOSを再起動するだけです。



まとめると
  1. 同期フォルダが同期されなくなった場合、GuestAddionsのバージョンを疑う
  2. Vagrant pluginの「vagrant-vbguest」をインストールする
    vagrant plugin install vagrant-vbguest
  3. なぜか、「GuestAddions」のインストールに失敗する
    Kernelのdevelがインストールされていない為、正しくコンパイルができない。
  4. kernel-develをインストールする
    sudo yum install kernel kernel-devel

    インストールされない場合は、/etc/yum.confのexclude=kernel*をコメントアウトして再度、カーネルをインストールする
  5. ゲストOSを再起動し、フォルダ共有ができるか確認する
    できなかったら、別の問題なので解決方法を探す

これが、VagrantとVirtualBoxの最後のハマりどころになれば良いのですが…。

2015年1月12日

linuxでコマンドで消せなくなったファイルを削除する

 ファイル名に制御コードが入ってしまった場合等にrmコマンドでファイルが消せなくなってしまいます。
 それのファイルを消す方法です。

1.i-node番号を調べる

$ ls -li
ファイルの枚にnode番号が表示される

2.ファイル名を変更する。
find . -inum 9999 -ok mv '{}' aaaa.dat \;

yを入力して続行。

9999は、i-node番号
例では、aaaa.datにファイル名が変更される

3.ファイルを削除する
$ rm aaaa.dat



サイト
消せないファイルの削除の仕方(linux)

2014年12月16日

linuxのcronをどこに書くかやっと判った話。

 linuxで定期的にコマンド実行した時は、「cron」に書きますが、今まで書く場所を間違っていたような気がしました。

 crontabを使って書いていたのですが、これだた実際のファイルがあるわけではなく、linux上に設定を直接書いている感じなんですよね。

 ちょっと調べたら、ちゃんとありました。
決まったディレクトリにファイルを置いて実行してもらやり方が。

/etc/cron.dディレクトリにcrontabで書いていたものと同じ記述をしたファイルを置くことでいいんですね。
いやー、最近知りました(動くことを優先して真面目に最適な方法を調べてませんでした。反省)


このサイトを良く見ます。
https://www.express.nec.co.jp/linux/distributions/knowledge/system/crond.html


余談ですが、cronで最近やらかした失敗を一つ。

設定ミスなんですが、下のような記述をしました。

* 4 * * * root 何らかのコマンド

4:00に何らかのコマンドを一回実行したかったのですが、時間のところを「*」にしたものだから、1分毎にコマンドが実行されてしまったようです。
このコマンドの中にメールを送信するというのがあったので1分ごとのメールが送信されていました。
それも、自分でない人に対して。
自分のところに送るようにしていれば、直ぐに気づいて修正したのですが…。とほほです。


2014年8月18日

iptablesにハマるの巻(MySQLにつながらない…)

 MySQLを使う必要があって、CentOS6.5にソースからインストールして見ました。
(なぜソースからというと新しいのが使いたかったからなんです。練習にもなるし)

 インストールが終わって(これも一時問題がありましが…)、ローカルホストからの接続は確認できたので、別のPCから接続を試みたとろこ繋がらない…。
 ちゃんと、CentOS側では、3306のポートは開けています。でも、繋がらない。

何がまずいのかわかりませんが、iptablesの設定の順番を変更することで解決しました。


filter
:INPUT DROP [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [34:5744]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A INPUT -p tcp -m tcp --dport 3306 -j ACCEPT
-A INPUT -p tcp -m tcp --sport 3306 -j ACCEPT
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT

filter
:INPUT DROP [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [34:5744]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 3306 -j ACCEPT
-A INPUT -p tcp -m tcp --sport 3306 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT

なにが違うかというとハイライトしている行の設定を書く位置を変更しました。

なるほど、-A INPUT -j REJECT --reject-with icmp-host-prohibitedの後ろに書いたのは、全てREJECTされるらしいです。
なので、REJECTの行を後ろに移動したら動いたんですね。うん、うん。

教えて!gooに同じことで悩んでる人がいました。
http://oshiete.goo.ne.jp/qa/7530019.html


ほんとにこの書き方でいいのか、何が問題かはこれから調べて自分の知識にしていく必要がありんす。
もう少し真面目に本とか呼んで意味で覚えないとダメだなこれは。

2014年4月2日

linuxのディレクトリとファイル毎のパーミッションの変更の備忘録


あるディレクトリ配下のパーミッションを変更するときは、以下のように書いて実行しますが、これだとファイルにも実行権限が付いてしまい気持ち悪いです。

/path以下のファイル、ディレクトリを全て755にする。
通常のファイルも実行権限がつくから気持ち悪い(当然実行はできない)。
>chmod -R 755 /path


フィアル毎、ディレクトリ毎にパーミッションを変更する方法を調べました。
(やはり、同じことを思っている人がいますね。)

findでファイルまたは、ディレクトリを検索して、chmodに渡してパーミッションを変更するようです。


ファイルのみのパーミッションを変更
>find path/ -type f -print | xargs chmod 644

ディレクトリのみのパーミッションを変更
>find path/ -type d -print | xargs chmod 755



参考サイト



今まで作ったシステムは、この気持ち悪い状態になってるよ感がする…。
あとで直しておこう。

2014年2月12日

Linuxのいろんなアプリケーションをソースから入れてみた

 詳しいことは後で備忘録としてまとめようと思いますが、初めてApacheやらPHPやらMySQLやらをソースから入れてみました。
 いろんなものが微妙に動かないので辛いです。
ディレクトリのパーミッションが正しくなくて動かないとかいろいろです。

 さっきまで、phpMyAdminが動かなくて四苦八苦してました。

 やっとログインページが出たと思ったら、mysqlのrootアカウントでログインができないし。

原因を調べてみたらPHPのセッションを保存するディレクトリのパーミッションが正しく設定されていない為にPHPがちゃんと動作していなかったとういうのが原因でしたよっ。

 きっと、バイナリパッケージからインストールすればこんな問題は無いんですよね。

でも、でも、自分の好きなバージョンをインストールできるようになるからこれからは、この方法でできるようになろう。


Windowsの世界でお任せ環境にいすぎると面倒に感じるけど、いい練習になった感じ。


2013年10月12日

WindowsXPのサポートが終わるにあたって(その2)

 WindowxXPをLinuxディストリビューションに変更した時に問題はないのか?ということになります。

Linuxディストリビューションにしても問題はあります

現在作ったEXCELやWORDのファイル、Linuxディストリビューションには無いソフト(例えば、はがきソフト)とかのデータはどうやって使えるようにできるのでしょうか?
 やはり、そのまま使うことはできません。Office製品のデータは、データコンバートすることでLibreOfficeで読み込むことができるようになると思います(やはり、完璧ではなく、一部正しく変換できない場合があります)。

 データをコンバートする先がない場合は、どうするか…。
似たソフトウェアを探すか、作るか、汎用データ(よく言われるCSVファイルとか)に変換して、他のソフトで使えるようにできるかを検討する必要があります。
 はがきソフトとかはどうするんでしょうか?
LibreOfficeのWriterで対応できそうですね(簡単では無さそうですが)。

 確実に同じデータを使うようにするには、やはり、新しいWindowsに移行してそれに対応した既存のアプリケーションをインストールし直す(ライセンスには気をつける必要があります)必要があると思います。
 

結局は!

どの方式でWindowsXPから脱却するかは、利用者にかかっています。
さてあなたならどうしますか?

例えば

じゃ、筆者だったらどうするか?
パソコンに使う予算にもよりますが、新しいパソコンを買うことができる予算があるのであれば、新しいパソコンを買います(そもそも前からこのようなことになることをわかっているので、お金をこつこつ貯めていると思います)。
 そして、古いパソコンは、Linuxディストリビューションをインストールして古いパソコンも使ってみます。
 パソコンのことを詳しいからできるんだと思われるかもしれませんが、そのとおりです。
 自慢でも何でもないです。事実なだけです。

 周りに相談する人がいないんでしたら、なんとかお金を工面して新しいパソコンを買うほうが良いと思います。
 今は、安くても性能の良いパソコンはいくらでもあります。

では、WindowsXPを早めに使うのをやめて、いろいろな問題を起こさないようにしましょう。

別に、Microsoftの回し者でも何でもないです。

WindowsXPのサポートが終わるにあたって(その1)

 一般の方でWindowsXPをお使いの方でサポートが終わるというのをどう感じていらっしゃるでしょうか?
 報道や雑誌で、セキュリティへの問題があるのでWindows7など、XPより後に発売されたOSに切り替えるようにとあります。

セキュリティは人だけでなく他の人にも迷惑がかる

私が思うに一般の方にセキュリティに問題があるといってもピンと来ないんではないでしょうか?
 インターネットで怪しいサイトを見なければよいとか、インターネットにつながなければ良いとか思ってないでしょうか?
 インターネットにつながなければほんとにセキュリティは守られるのでしょうか?やはり絶対ではないです。USBメモリや人からもらったCDとかからでもウイルスに感染したりする可能性があります。
 インターネットにつながっている場合は、他の人に迷惑をかけることもあります。
 一般の人にセキュリティについて聞かれるといつも言うのですが、「ウイルスソフトをちゃんとアップデートしていても感染するときは感染します。でも、最新のものを入れておくと感染する確率が大幅に下がります。」と。
 ※絶対安心なんてありません。現に新しいウイルスなどはどんどん開発されています。絶対大丈夫という人がいたら怪しんでください。

WindowsXPパソコンは勧められても買うべきではありません。

あまり大きい声では言えないですが、WindowsXPがインストールされている中古パソコンは、買わないほうがいいです(実は、売る方もどうかしていると思っています)。あと6ヶ月間使用できれば、あとは使わないというのは、その時そう思っただけで、必ず(と言っていいほど)使います。
 見た目、問題んなく動きますからね。
テレビとかだってそうですよね。写っている間は、見ますよね。それは、見えなくなるだけという問題しかないからです。
 もし、メーカーのサポートが切れた時点から、発火する可能性が急に上がると言われたらどうしますか?テレビが映るからって使いませんよね。
 それと同じです。

じゃぁ、どうするのさ?

私が思うにやはり、新しいOSのインストールされたパソコンを買うか、今のパソコンのOSを入れ替えることが良いと思います。
 じゃぁ、どんなOSが良いの?Windows Vistaや7、8は動くの?となると思います。
まず、無理だと思います。うまく行ったとしてもOSは動きますレベルで終わる可能性があります(遅いからという意味です)。
 
 世の中には、Linuxディストリビューションというものがあります。
やはり、これもパソコンのスペックによりOSは動いて他のアプリケーションは、動作しないというパソコンのリソース(CPUやメモリ)を大きく期待するものもあります。
 ですが、逆にパソコンのリソースがそれほど大きくなくても動作するものもあります。

 今このブログは、LinuxMintというLinuxディストリビューションにChromiumというブラウザをインストールしてそこで書いています。
 パソコンは、PanasonicのLet's note CF-Y4です。(メモリ:1.5GB CPU:Pentium M 1.5GHz)
ネットサーフィン(もう既に死語?)だけだったら、これで十分です。
プレインストールされているソフトウェアもたくさんあります。

  • ブラウザ:FireFox
  • メール:ThunderBird
  • Office製品:LibreOffice
  • 画像処理:GIMP
  • アクセサリ:電卓、エディタなど

一般的なWindowsパソコンについているソフトウェアはついているようです。
ただ、日本語入力ソフト(IME)がプレインストールされていないのでインストールが必要です。

続きます。