カテゴリー
Linux

【シェル芸人】10000 までの素数を出力するコマンド【Linux】

はじめに

面接官「ほう。得意な言語はPerlですか」 学生「はい!」 面接官「では、10000までの素数を出力してください」 学生「system “seq 2 10000 | factor | awk ‘NF == 2’ | cut -d: -f1″」 面接官「げぇっ シェル芸人」

まあ!素敵!

あら?Perl でと出題されていますのに、シェルで解答なさっていらっしゃるようですわね。それで、面接官が「げぇっ」となってしまいましたのね!面白いですわ♪

さて、今回はこのシェル部分に注目し、各コマンドについて調べることでシェルに対する理解を深める、勉強をしたいと存じます♪

10000 までの素数を出力するシェル

seq 2 10000 | factor | awk 'NF==2{print $2}'

最初に引用したツイートのシェル部分から最後の部分のみ変更しています。いろいろ調べていましたら、「cut」コマンドは「awk」コマンドを工夫することで省略できましたから。

さて、具体的に出力を確認しながら各コマンドを勉強してまいりましょう。その際、10000 までですと出力が多すぎますので、10 までの数で考えます。

カテゴリー
Linux

【rbenv】ウェブアプリの場合は rbenv で Ruby バージョンを切り替えただけじゃダメでしたの!

ポイント

  • ウェブアプリは Apache で設定した、Passenger をインストールした Ruby を使用する。rbenv で指定した Ruby は使用されない。

ポイントから言えそうなこと!

  • rbenv local でディレクトリにバージョンを設定しても、Apache の Passenger 設定が有効になってしまう。
  • rbenv local や rbenv global で設定した Ruby バージョンと Apache の Passenger 設定とを連携させられれば理想的。誰か実現していそうなものだが。。。

まとめの位置づけで、実際に起きた現象を説明しますの♪

カテゴリー
Linux

【CentOS】Ruby と Ruby on rails すら無い状態から Redmine をインストールする!【rbenv】

現在の環境と目指すところ

  • CentOS 5.10
  • Apache 2.2.3
  • MySQL 5.5.35
  • http://192.168.56.111/ でウェブブラウザからアクセス可能

PHP はインストールされておりますけれども、Ruby はされておりません。

といいますか、、、Ruby ってなにかしら?わたくし、宝石大好き!という程度です♪

そんな状態ですの。

さて、Redmine をインストールしたく存じます。どうやら Ruby と MySQL が必要なようですわね?また、ウェブアプリケーションですので、Ruby と Apache の連携も必要ですの。

本投稿では、WordPress 程度(Apache、MySQL、PHP)しか扱ったことのないわたくしたちが、Ruby をインストール、Apache 都の連携、そして Redmine のインストールまで試行錯誤しながら実現させていく、、、はずですわ♪

カテゴリー
Linux

【Ruby】Gem インストール!RMagick インストール出来ない、動かないエラー記録!

bundle install --without development test

Redmine で使用する Gem を上記コマンドでインストールいたします。。。なのですけれども、エラーのためにうまく行きません。

  • CentOS 5.10
  • RMagick がインストールできない

今回は、そのエラーの記録と、対処メモを記録いたします。

下記はエラーまとめですわ。

  • ImageMagick がインストールされていないためダメ
  • ImageMagick のバージョンが低いためダメ
  • ImageMagick-lib の依存性を無視して ImageMagick、ImageMagick-devel をインストールしたらダメ
  •  2 つ以上 ImageMagick があると「警告」
  • PKG_CONFIG_PATH が設定されていないからダメ

また、bundle console でもエラーとなりました。

  • ダイナミックリンクライブラリのパス設定がなくてbundle console エラー

これにも、対処いたしましたの。

カテゴリー
Linux

【ImageMagick】ソースからインストールする経過を淡々と記録!

ポイント

  • アンインストールも make で可能なため、/tmp で行うのではなく、/root などにダウンロード、解凍して make まで行い、アンインストールする日に備えるべきである。

環境

  • CentOS 5.10

今回は、ソースからのインストール時のログをただ記録しただけの投稿となります。次回、ソースから ImageMagick をインストールする時、躓いたら参考にいたしますわ♪

カテゴリー
Linux

ImageMagick をソースからインストールして Ruby の Gem の RMagick が動くまで実践!

本投稿のクライマックス

「試行錯誤。最終手段その2!パッケージ管理できなくなることを許容してソースからインストールしてみます♪★【成功】★」を実践すれば OK ですの。

ただし、本投稿のやり方では ImageMagick の yum や RPM でのパッケージ管理はできません。

きっかけ。Gem パッケージのインストールが失敗する

Gem(Ruby のライブラリ)の依存関係解決ツールである Bundler を利用して、Redmine に必要な Gem をインストールしたいのです!

その時に、ImageMagick のそこそこバージョンが新しい物が必要でした><。簡単にインストール出来ませんでしたので、その奮闘記を残します!

カテゴリー
Linux

【Linux】☆VPS☆★できない><★swapoff -a && swapon -a でスワップ領域を開放!できない。。。

VPS のスワップ領域を開放できなかった時の状況

[root@oki2a24 ~]# swapoff -a && swapon -a
Not superuser.
[root@oki2a24 ~]#

。。。ノー。。。

では、少し調べてみましょうか。VPS と VirtualBox のコマンドについて調べました。OS は次のとおりです。

  • どちらも CentOS 5.10

なお、VPS は本サイトが乗っておりますが、次のサービスを使用させていただいております。

安くて、とってもよいのですのよ♪

カテゴリー
Linux

【Linux】grep で複数条件を指定する方法♪

grep で複数条件を指定する方法まとめ

  • grep -e pattern1 -e pattern2
    e オプション「検索条件を指定」を複数指定する
  • grep -e pattern1 | grep pattern2
    grep コマンドを | (パイプ)でつなぐ

具体的な使い方!こう使っていますの♪

カテゴリー
Linux

【Linux】特定のプロセスを監視するコマンド組み合わせを試しました♪

特定のプロセスを監視するためのコマンド組み合わせ

例えば、Apache、http を監視する例。

# プログラムを定期的に実行し結果を出力
watch -n 0.5 -d 'ps auxw | grep httpd'

項目名の行、httpd、mysql、を監視する例。

watch -d 'ps auxw | grep -e USER -e httpd -e mysql'
  • -n または –interval=
    指定した数字の秒の間隔ごとに監視を行う。
  • -d
    更新されたとき、 前回と異なっている部分をハイライト表示する。
  • 監視対象のコマンドにパイプ「|」が含まれる場合はクォーテーション(「’」または「”」)で囲む。さもなくば、watch がパイプの部分で終了し、パイプ後のコマンドが実行される。
カテゴリー
Linux

【Linux コマンド】ps auxw を調べました♪

Linux で動いているアプリやパッケージなど、プロセスを見ることのできるコマンド ps の便利なオプションまとめ

# すべてのプロセスを詳細に表示
# a 自分以外のユーザーのプロセスも表示
# u 実行中のプロセスをユーザー名と開始時刻を含めて表示
# x 制御端末のないプロセスの情報も表示
# w 表示を拡大。無くてもよい。
ps auxw

各オプションをそれぞれ調べましたの♪