カテゴリー別アーカイブ: Linux Tips

pushdとpopdコマンドの使い方

linuxコマンドの一つで、cd(chenge directory)コマンドと似たような動きをします。
cdコマンドだと、指定したディレクトリに行ったっきりになってしまいますが、pushdを使うと現在の位置(移動前のディレクトリ位置)を記憶してくれます。

$cd /root
$pushd /root

違う書き方ですが、どちらの方法でも/rootディレクトリにカレントが移動します。
移動した先のディレクトリで作業をしたのちにpopdコマンドを入力すると、先ほどpushコマンドを入力した時のカレントディレクトリに戻ることができます。

$popd

こんな感じですね。

ターミナルを複数個開いて作業を行えばわざわざこんな小技を使う必要もないのですが、
一つのターミナルで入力文字数をできるだけ減らすためのテクニックとしては有用だと思います。

また、シェルスクリプトを書く場合にも使い方によっては有効です。
USBメモリなどの外部デバイスからシェルを起動する場合などに絶対パス入力が難しい時など・・・。

私もまだ実際にそういったシェルを書いたことはないのですが、先輩から聞いた意見として残しておきます。

このままインフラエンジニアやっていってたらいつかは使う時が来るでしょう。
きっと。

partedコマンドを使ってパーティションを変更する(再起動不要)

Linuxにおいてパーティションを変更するコマンドとしてfdiskというものがありますが、
これがまた古臭いコマンドでセクタやらシリンダやらといった単語を理解する必要があります。
容量をセクタ単位にで切り分けたりするわけですね。

MBとかGB単位ならわかりやすいと思いません?

容量の指定方法以外には大きな違いはなく、
どちらもインタラクティブにパーティションを切れます。

例えば、
現在のパーティション情報を表示するには下記のコマンド。

parted /dev/sda print

引数として与えるデバイスの最大容量も表示してくれる(上記の例では/dev/sda)ので、
パーティションをシェルなどで切る時に使える有用な情報となる。

パーティションを切るには以下のコマンドを使う。(mkpart)
第一引数にはprimary(基本)かextended(拡張)を選ぶ。
第二引数にはファイルシステム(ここではext2)
そして最後に開始位置と終了位置を容量で指定する。

mkpart primary ext2 120GB 160GB

上記の例ではファイルシステムをext2としていますが、これはext4がサポートされていないようだったためです。
ですので、パーティションを作成する場合には一旦、ext2として作成したうえで再度ファイルシステムを作成する。

そして、partxコマンドでパーティション情報を反映させる。
このコマンドを使うと、マシンの再起動をせずにパーティション情報をシステムに知らせることが出来る。便利!

ファイルシステムを作成するには下記のようにする。

mke2fs -t ext4 /dev/sda6

カーネルパラメータを変更する – Linux

sysctl は、 Linuxカーネルのパラメータを参照したり変更したりするためのインタフェース。
カーネルパラメータは、下記のコマンドで参照することが出来る。
sysctl -a

オプションの「a」をつけると全てのパラメータを表示することができますが
これだと多すぎてお目当てのパラメータを探すのが難しかったりします。

そんな時は下記のようにgrepコマンドをパイプ「|」で繋げて使うと便利。
sysctl -a | grep eth0

パラメータを変更する場合は、sysctlに「w」のオプションを指定する。
sysctl -w 【設定名】=【設定値】

設定を行った場合は、再起動を行い設定を適用させます。
カーネルパラメータに対しての変更なので、注意して行うようにしましょう。

もし恒久的な変更は不要で、
設定を検証するだけなどの目的であれば、一時的に設定を変更し
再起動後は元の値に戻る、という変更方法もあります。

その場合は
/proc/sys以下に対して変更を行います。

設定を検証し、恒久的に変更を行う場合は
/etc/sysctl.confに対して設定を追記して再起動しましょう。

Raspberry Pi3にSentOS7をインストールしてSSHで接続する

我が家にもraspberry Pi がやってきましたよ!
特になにかやろうということはまだ見えていないのですが、
仕事でLinuxを扱っているので、練習マシンにでもしようと思います。
OSは普通にraspbianをインストールしても良かったのですがなんと、raspberry Pi3にはCentOS7が乗っちゃうみたいですよ!

ということでせっかくなんで、CentOS7をインストールしてSSHで他のマシンからアクセス出来るようにちゃちゃっとセットアップしてしまいましょう。

Raspberry Piを組み立て・・・
MicroSDを用意し・・・
IMG_2589

いっちょ前にファンまで取り付けてみました。

さあまずやることは、
OSのイメージファイルをダウンロードしてくること。
ダウンロードサイトは以下。
https://wiki.centos.org/Download

一体どのファイルをダウンロードすればいいんだ!って人は以下のサイト様が詳しい解説ページを作っているみたいなのでそちらを参考にしてください。
CLARA ONLINE TECHBLOG

ダウンロードが済んだら適当な場所に解凍してください。
私はWINRARを使っているのでそのまま何事も無く解凍できましたが、もし他のアーカイバ使ってて解凍できないよ、って人はWINRARを試してね。使いやすいしわりとおすすめ。

ちょっと話が逸れましたが、
ダウンロードしたファイルを解凍できたら
解凍したファイルのサイズを確認してみましょう。
なんだかバカでかいファイルが出来上がっていると思います。

これをMicroSDカードに書き込みます。

ここで注意しなければいけないことは、
解凍したファイルをそのままMicroSDカードへドラッグアンドドロップ!ってやってはイケナイってこと。
書き込みには専用のソフトが必要です。

私は下記のソフトを利用しました。
DD for Windows

シンプルなインターフェースなので特に混乱することはないと思います。
ファイルを選択しディスクへ書き込めば良いのですが、書き込み対象のディスクだけはよく確認しましょうね。
多分、間違えると大変なことになります。
dd

対象ディスクが問題なければ、書き込みボタンを押下して書き込みを開始。
ファイルがデカイので少々時間がかかります。
B’zでも聞きながら優雅に待ちましょう。

完了したらMicroSDをRaspBerry Piにセットし、起動してみます。
もちろん、画面に接続して確認してください。
無事に起動できればパスワード聞かれますので下記のように入力します。
user:root
pass:centos

ログインしたらあとはもう皆さんご存知のCentOSですからね、
vi /etc/sysconfig/network-scripts/ifcfg-eth0
と入力し、設定を変更します。

変更する箇所はこんな感じ。
環境に合わせてIPアドレスを設定してください。

BOOTPROTO="static"
IPADDR="192.168.11.60"
NETTMASK="255.255.255.0"

ここまでやって保存すれば、
teraTermとかのSSHクライアントで接続できるようになると思います。
あとはsamba入れてファイルサーバにするなり、webサーバにするなり思いのままです。