2015年5月30日土曜日

Error: Cannot write to /usr/local/Cellar エラーの処理

「brew install mongodb」を実行したら、

Error: Cannot write to /usr/local/Cellar のエラーになりました。

/usr/local/Cellar に書き込み権限がないから、
以下のコマンドで権限を修正したら、問題を解決できました。

sudo chmod a+w /usr/local/Cellar

2015年5月23日土曜日

linux kill と killallの違い

killコマンドは、指定したプロセスにシグナルを送信するコマンドです。
killallコマンドは、指定したプロセス名にシグナルを送信するコマンドです。

書式:

  • kill [-シグナル名またはシグナル番号] <プロセスID>
  • killall [-シグナル名またはシグナル番号] <プロセス名>

主なシグナル名とシグナル番号:
シグナル名シグナル番号動作
HUP1再起動を行う
INT2割り込み Ctrl+Cキーと同じ動作
KILL9強制終了する
TERM15普通終了

2015年5月19日火曜日

Linux オプション -v

Linuxコマンドのオプションの中に、よく-v オプションがあります。
-v  はverbosの略称です。

verboseの意味は?
辞書によりますと、
まず、読み方は:
ver・bose /vɚːbóʊsvəːbˈəʊs/

【形容詞】
そして日本語の意味は
言葉数の多い多弁のくどい冗長な.
用例


Linuxコマンドに、-v よくxxx詳細出力に使います。
例: tar -v 処理したファイルの一覧を詳細に出力

2015年5月17日日曜日

Linux プリンターと印刷を管理する

Common Unix Printing System(コモン・ユニックス・プリンティング・システム)とは:
  Unix系オペレーティングシステム (OS) 用のモジュール化された印刷システムである。普通CUPS(カップス)と略称される。


CUPSの設定ファイルは、/etc/cups/cupsd.confです。

よく使うコマンドは、


  • lpr  -print a file 印刷ジョブを生成し、キューに登録するコマンドです。
  • lprm --remove a print job プリントキューにある印刷ジョブを削除する。
  • lpq -view print jobs キューに登録されている印刷ジョブの確認を行うコマンドです。

2015年5月16日土曜日

Linux キーボードアクセシビリティ

キーボードアクセシビリティの主な機能は:

  • スディッキーキー:
    StickyKeys 同時に複数のキーを押下することが困難である人のために、これを順次入力可能となる機能
  • リピートキー:
    RepeatKeys キー押下した後すぐ離すことが困難な人のために、ある一定時間以上にキーを押さないと入力操作が繰り返されない機能

  • スローキー:
    SlowKeys 一定時間以上にキーを押下したもののみ入力が確定する機能
  • バウンスキー:
    BounceKeys 一定時間内に複数入力された場合は無視する機能

  • マウスキー
    mousekeys キーボードのテンキーでのマウスポイントの操作を可能にする機能
    

LINUX ファイルのパーミッションと所有者を管理する SUID SGID スティッキービット(Sticky Bit) それぞれの使い方


  1. SUID (Set User Idの略称) SUIDが設定されると、実行したユーザーではなく、そのファイルの所有者の権限で実行されたものとみなされます。                           test.txtファイルをSUIDを設定する例:                                    $ chmod u+s test.txt                                     $ chmod 4755 test.txt
  2. SGID(Set Group Idの略称) SGIDが設定されると、実行したユーザーではなく、そのファイルの所有グループの権限で実行されたものとみなされます。                       設定例:                                                             $ chmod g+s test.txt                                     $ chmod 2755 test.txt
  3. スティッキービット(Sticky Bit)  ファイルではなく、ディレクトリに対して設定するアクセス権です。 スティッキビットが設定されたディレクトリは、書き込みが許可されたファイルであっても、ほかのユーザーが所有しているものの削除することができません。
     設定例:
   $ chmod o+t test.txt                                       $ chmod 1755 test.txt

2015年5月15日金曜日

LPICレベル1試験の出題範囲詳細

101試験範囲:出題範囲詳細(Ver3.5)※2012/10/1~2015/11/30まで

2015年5月11日月曜日

Linux テキスト整形コマンドfmtの使い方

テキスト整形するコマンドはfmtです

fmt オプション ファイル名

主なオプションは
-s --split-only 行分割のみ実行
-u --uniform-spacing 単語間のスペースを1スペース分に整形
-w --width 1行あたりの出力桁数を指定

2015年5月10日日曜日

yumコマンドの使い方

yum(Yellow dog Updater Modifiedの略称です。)はRed Had系のRPMパッケージの管理ツールです。

yumの設定ファイルは/etc/yum.conf

yumコマンド使用されてるリポジトリ情報の設定ファイルを格納するディレクトリは/etc/yum.repos.d

RPMパッケージファイルやソースファイルのダウンロードのみを行うコマンドはyumdownloader

yumコマンドよく使うオプションは以下の通りです。


  • list インストール可能なパッケージ情報を表示する
  • info 指定したパッケージの詳細情報を表示する
  • search 指定した文字列を含むパッケージ一覧を表示する
  • grouplist パッケージグループの一覧を表示
  • groupinstall 指定したグループのパッケージをインストール
  • check-update アップデート可能なパッケージ一覧を表示
  • install インストール
  • update 指定したパッケージをアップデート
  • remove 指定したパッケージをアンインストールする


apt-get コマンド及びオプショ一覧


まず、主なコマンド一覧は以下の通りです。
  • update サーバーからパッケージ·リストを取得する
  • upgrade 更新する
  • install 新しいパッケージをインストールする
  • remove アンインストールする
  • autoremove 自動的に使わないパッケージを削除する
  • purge パッケートとコンフィグファイルを削除する
  • source ソースをダウンロードする
  • build-dep ソース·パッケージをビルドして得た依存関係を用いてインストール及びアンインストールを実施する
  • dist-upgrade カーネルをアップグレードする
  • clean
  • autoclean

次は、オプション一覧です。
  • -h --help ヘルパ
  • -q --quiet プロセスを表示せず、情報をログに書き込む
  • -qq エラー以外は表示しない
  • -s --simulate  実際には実行しない。実行シミュレーションのみ行う
  • -y --yes 全ての問い合わせにyesで答え、プロンプトは返さない
  • -f --fix-broken 整合性チェックで失敗しても処理を続行する。強制インストール
  • -m --ignore-mission ---fix-mission 
  • -u --show-upgraded 同時に更新パッケージリストを表示する
  • -b --compile --build ソースパッケージを取得し、ビルドを行う
  • -c --config-file コンフィグファイルを表示する
  • -o --option カスタマイズコンフィグレーションを設定する 例:-o dir::cache=/tmp
  • -d --download-only ダウンロードのみ行う、アーカイブのインストールや展開は行わない
最後、よく使うapt-get例をあげていきます。
apt-cache search package name パッケージを検索する
apt-cache show package name パッケージの関連情報を表示する 例:パッケージのサイズ、バージョンなど。
apt-get install package name パッケージをインストールする
apt-get install package name --reinstall パッケージを再インストールする
apt-get -f install パッケージを修復しながらインストールする
apt-cache depends packagename 依存関係を表示する
apt-cache rdepends packagename 指定したパッケージに依存するパッケージを取得する


2015年5月9日土曜日

rpmコマンド オプション一覧

RPMはRedHat Package Manageの略称です。
RedHatのソフトウェア管理ツールの一つです。

よく使うオプションは以下の通りです。

-i, --install    install package(s) インストール
-v, --verbose  provide more detailed output 
      インストール/アンインストール時 の情報表示オプション
-h, --hash    print hash marks as package installs (good with -v)
     インストール/アンインストールする際に'#'で表示します。
-e, --erase                       erase (uninstall) package アンインストール
-U, --upgrade=<packagefile>+      upgrade package(s)アップグレード、存在しない場合はinstall
--replacepkge                    regardless of whether a package has been installed, are         forced to       install the package.インストール済みを関わらず、強制的にインストールを行う
--test                            インストールをせず、インストールチェックのみを実施する
--nodeps                          依存関係を無視する
--force                           強制的にインストールするz
-q Query options (with -q or --query):パッケージの詳細を表示する
-a, --all       query/verify all packages インストールされている全てのパッケージを選択する
-p, --package     query/verify a package file 指定したパッケージを選択する。パッケージ名またURLを指定可能
-l, --list    list files in package パッケージ内のファイル一覧を表示する
-d, --docfiles   list all documentation files パッケージ内のドキュメントのみを表示する
-f, --file query/verify package(s) owning file 指定したファイルを所有するパッケージを選択する
-F, --freshen パッケージをアップグレード,存在しない場合はインストールしない
-V,--verify パッケージを検証
-root 作業ディレクトリを指定
--prefix パッケージをインストールするディレクトリを指定
--relocate インストール済のパッケージを、ディレクトリを変更して再インストール

dpkg コマンド オプション アクション一覧

dpkgとは、Debianパッケージを管理するためのコマンドです。

dpkg コマンドの設定ファイルは/etc/dpkg/dpkg.cfg

主なアクションは以下の通りです。


  • -c (--contents) パッケージに含まれるファイルの一覧を表示
  • -i (--install) パッケージをインストール
  • -P(--purge) 設定ファイルも含めて、パッケージを削除
  • -r(--remove) 設定ファイルを残して、パッケージを削除

  • -C(--audit) パッケージのインストール状態を検査
  • -I(--info) パッケージの情報を表示
  • -l(--list) インストール済みパッケージの一覧を表示
  • -L(--listfiles) 指定したパッケージからインストールされたファイルを表示

  • -s(--status) 指定したパッケージの詳細情報を表示
  • -S(--search) 指定したファイルを含んでいるパッケージを表示
主なオプションは以下になります。
  • -E(--skip-same-version) 同じバージョンが既にインストールされている場合は、インストールを行われない
  • -R(--recursive) 再帰的に処理
  • -G(--refuse-downgrade) デグレインストールを行わない

2015年5月8日金曜日

Mac Javaのバージョン変更する方法

MacでJAVA_HOMEを 変更する方法

たまにjavaのバージョンを変更したい~その時、まず新しいバージョンのJAVAをインストールして、JAVA_HOMEを再設定すれば完成です

JAVA_HOME再設定するには以下のコマンドを実行します

echo export "JAVA_HOME=\$(/usr/libexec/java_home)" >> ~/.bash_profile
最後ターミナルを再起動してecho $JAVA_HOME で確認します。



2015年5月6日水曜日

Backbone.js超簡単入門 その一

まず、Backbone.jsとは?
軽量のjavascript MVCフレームワークです。

Backbone.jsにいつく重要な要素を説明します。

  • Modelモデル:検索処理等の業務ロジック処理を行い、処理結果データを保持する役割と果たす。例:人間People
  • Collection Modelの集合
  • View:ユーザーインタフェースとしてユーザーとのやり取りを行う役割を果たす
  • Router:クライアント側でのページ遷移のイベントとその後の処理をマッッピングをマッピングするルーティング機能を提供する
とりあいず、いつもの「Hello World」をBackbone.jsで書いてみましょう。
以下のソースコードを「test.html」ファイルで保存します。

<!DOCTYPE html>
<html>
<head>
  <title>kaoru2012-backbone.js-Hello World</title></head>
<body>
<button id="check">→クリックMe</button>
<ul id="world-list">
</ul>
<a href="http://kaoru2012.blogspot.jp/">もっとみる</a>
<script src="http://chay.chagasi.com/jquery-1.10.2.js"></script>
<script src="http://chay.chagasi.com/underscore.js"></script>
<script src="http://chay.chagasi.com/backbone.js"></script>
<script>
(function ($) {
  World = Backbone.Model.extend({
  // name属性を持つWoldモデルを作成します。
    name: null
  });
  Worlds = Backbone.Collection.extend({ // Worldの集合オブジェクトWorldsを定義
      initialize: function (models, options) {
      this.bind("add", options.view.addOneWorld);
    }
  });
  AppView = Backbone.View.extend({
    el: $("body"),
    initialize: function () {
      // コンストラクター関数
      this.worlds = new Worlds(null, { view : this })
    },
    events: {
      "click #check":"checkIn", // イベントをバインドする
    },
    checkIn: function(){
      var world_name = prompt("すみません、どこからきましたか。");
      if(world_name == "") world_name = '未知の星';
      var world = new World({ name: world_name });
      this.worlds.add(world);
    },
    addOneWorld: function(model){
      $("#world-list").append("<li>ここは<b>" + model.get('name') + "</b> からの挨拶:hello world!</li>");
      }
  });

  // AppViewオブジェクトを作る
  var appview = new AppView;
})(jQuery);
</script>
</body>
</html> 




共有ライブラリの検索パスを追加方法

共有ライブラリの検索パスを追加方法は以下の二つがあります。

方法1、環境変数LD_LIBRARY_PATHにパスを追加
       例:ホームディレクトリにあるtestLibを共有ライブラリの検索パスに追加したい時
      $ LD_LIBRARY_PATH=$LD_LIBRARY_PATH:~/testLib
$ export LD_LIBRARY_PATH

方法2、 /etc/ld.so.confファイルを修正します。
  ちなみに、/etc/ld.so.confの変更を反映させるにはldconfigコマンドの実行が必要です。

補足知識:実行ファイルが必要としている共有ライブラリを表示するコマンドはldd

2015年5月5日火曜日

ブートローダ、GRUBの設定ファイルは何に?

GRUBの設定ファイルは/boot/grub/menu.lst

LILOの設定ファイルと違って、GRUBの設定ファイルが変更されたら、設定を有効にするためにコマンドを実行する必要はありません。

GRUBをインストールするコマンドはgrub-installです。

GRUBの主な設定項目は以下の通りです。

項目設定内容
defaultデフォルトで起動するOSのエントリ番号
timeoutブートプロンプトの表示時間
title起動時にのメニューに表示するエントリ名
rootルートファイルでバイス
kernelカーネルのイメージファイル


/boot/grub/menu.lstファイルの例:
 default=0
 timeout=30
 # To boot the default kernel
 title Debian Linux
 root (hd0,1)
 kernel /boot/vmlinuz root=LABEL=/
 initrd /boot/initrd.img

2015年5月4日月曜日

Linux ブートローダの設定項目

Linux のLILO(Linux Loader)の設定ファイルは /etc/lilo.conf

項目 設定項目
boot LILOをインストールするデバイス
map マップファイル
prompt ブートプロンプト
timeout ブートプロンプトの表示時間
default デフォルトで起動するカーネルのラベル名
image カーネルのイメージファイル
label ブートイメージのラベル名
root ルートファイルシステムパーティション
read-only ルートファイルを読み取り専用でマウントするかとか
other Linux以外のOSがインストールされているパーティション
table otherを設定時されたときに、そのOSがインストールされているデバイス
initrd カーネルと共に読み込む初期RAMディスクイメージ

Lilo.confファイルの設定例:
boot=/dev/hda
map=/boot/map
install=/boot/boot.b
prompt
timeout=50
message=/boot/message
lba32
default=linux

image=/boot/vmlinuz-2.4.0-0.43.6
 label=linux
 initrd=/boot/initrd-2.4.0-0.43.6.img
 read-only
 root=/dev/hda5

other=/dev/hda1
 label=dos


/etc/lilo.confファイルの設定を変更したら、その変更内容をシステムに反映させるには、実行すべきコマンドは/sbin/lilo

 LILOのインストール先は主に以下の三つです。
 ① Master Boot Record (略:MBR)
  ハードディスク上の特別な領域で、MBRにLILOを配置することで、素早くブートすることができます。
 ② ハードパーティションの先頭セクタ
 ③ フロッピーディスク  
 ハードディスクに障害が発生してLILOが起動できないような場合は、フロッピーディスクにインストールしたLILOからLinuxを起動することができます。

git 特定のユーザーのコミットログを表示

git how can view a git log of just one user's commits

git log --committer=[ユーザ名]
もしくは

git log --author=[ユーザ名]

モジュールフィアルの表示するコマンド


lsmod

カーネルモジュールロードするコマンドは
modprobe もしくは insmod

例:ネットワークカードのデバイスドライバをロードするには、
/sbin/modprobe -s -k scsi_hostadapter

Linux主なディレクトリ構成

Linux主なディレクトリ構成以下の通りです。

|---root  ルートディレクトリ
|---home  ユーザーのホームディレクトリ
|    |----ftp  
|    |----httpd
|    |----samba
|    |----user1
|    |----user2
|---bin   一般ユーザー向けの基本コマンド
|---sbin  システム管理用コマンド
|---proc  プロセスファイルシステム
|    |   
|    |----1  
|   
|---usr   各種プログラムなど
|    |   
|    |----bin  
|    |----sbin  
|    |   
|    |----include 
|    |   
|    |----lib  
|    |----local  
|    |----man  マニュアルページ
|    |----info  Infoドキュメント
|    |----doc  
|    |----tmp
|    |----X11R6  
|    |   
|    |----X386  
|---boot  起動時に必要なファイル
|---lib   共有ライブラリ
|    |----modules  
|   
|---dev   デバイスファイル
|---etc   設定ファイル
|    |----skel  
|    |----sysconfig  
|---var   システムログなどの動的に変化するファイル
|    |----file
|    |----lib  
|    |----local  
|    |----lock  ロックファイル、特にデバイス
|    |----log  各種ログファイル
|    |   
|    |----run  ブート以降の走行中システムに関する情報
|    |   
|    |----spool  処理まち状態のタスクのスプール
|    |----tmp  一時ファイル置き場
|    |   
|    |----catman 
|---mnt   ファイルシステムの一時的なマウントポイント用ディレクトリ
|---tmp   ファイルなどを一時的に保管するディレクトリ

シェルスクリプト特殊変数一覧

シェルスクリプトに、特殊変数一覧表は以下の通りです。
特殊な変数を参照することにより、様々な情報を取得することができる。

変数名説明
$0実行したシェルスクリプト名
$nn番目の引数の値
$#実行時に指定された引数の数
$*全ての引数
$@$* と同じくスクリプトが受け取ったすべての引数に対応します。$* と の違いは二重引用符で囲んで "$@" としたときに位置パラメータの評価をせずに コマンドに渡すことです。もし、二重引用符で囲まなければ $* と同じ意味 になります。
$?最後に実行したコマンドの終了状態
$$現在のシェルのプロセス番号
$!バックグラウンドで実行された直前のプロセスのプロセス番号



2015年5月3日日曜日

Linuxインストール時に必要なパーティション

Linuxインストール時に、最低下記の二つのパーティションが必要
1、ルートパーティション
2、スワップ領域

ルートパーティションとは:
  ルートディレクトリと呼ばれる最上位のディレクトリを含むパーティションのことです。

スワップ領域とは: 
 物理メモリの空き容量が少なくなったときに、ディスクの一部を仮想的にメモりとして使用する領域です。
 スワップ領域の容量は物理メモリと同量から2倍程度に設定するのが一般的です。


linux 自分のLinuxにどれ位使われているのかを調べるコマンドは?

#df -h
「df」は「disk free」の略称で、ディスクの空き容量を表示できます。

L-no-MacBook-Pro:db root$ df -h
Filesystem      Size   Used  Avail Capacity  iused    ifree %iused  Mounted on
/dev/disk1     233Gi  133Gi  100Gi    58% 34802552 26184967   57%   /
devfs          189Ki  189Ki    0Bi   100%      654        0  100%   /dev
map -hosts       0Bi    0Bi    0Bi   100%        0        0  100%   /net
map auto_home    0Bi    0Bi    0Bi   100%        0        0  100%   /home

/dev/disk2s2    32Mi   29Mi  2.8Mi    92%     7513      720   91%   /Volumes/Sequel Pro 1.0.2

2015年5月1日金曜日

java8 現在日付時刻の取得する方法

SystemDateTime.get().toLocalDateTime()
LocalDateTime.now()

Linux 5分後システム再起動するコマンドは

Linux 5分後システム再起動するコマンドは
shutdown -r +5

Linux電源を入れてからOSが起動するまでの流れ

Linux電源を入れてからOSが起動するまでの流れは
BIOS        ハードウェアのチェックや初期化を行います。

ブートローダ GRUBなどのブートローだが起動し、カーネルをメモリに読み込みます。

カーネル initプログラムを事項し、ランレベルに応じでシステムプログラムの起動処理が行われます。

init

PICデバイスの情報を確認するコマンドは?

PICデバイスの情報を確認するコマンドは?
lspci -vv

linux シャットダウン shutdownコマンドのオプション

オプション説明
-rシャットダウン完了後にシステムを再起動する
-hシャットダウン完了後にシステムを停止する
-f次回起動時にfsckをスクップする
-F次回起動時にfskを必ず実行する
-cシャットダウンをキャンセルとする
-k実際にシャットダウンせず、警告メッセージを通知

Linux デバイスの確認 /proc

/procには、ポロセス関連情報やメモリー関連情報、ファイルとして配置されている。

/proc以下の主なファイル

ファイル名 説明
/proc/bus/usb/* USBデバイス情報
/proc/cpuinfo CPU情報
/proc/interrupts IRQ情報
/proc/scsi/scsi SCSIでバイス情報