2016年09月29日
Ubuntu15.04 HDD(SSD)増設
タイトル的にはHDD(SSD)増設だが
mediatomb をセットアップし
メディアサーバーにしているUbuntu15.04に
不稼働になった自作PCから50GBのSSDを取り出し
HD画質動画の転送と再生にも対応させるべく
メディア保存用として増設することにした
増設するのは古いATOMなCPUのベアボーンだが
まだまだ現役で使えるPCだ
まずは接続したSSDが認識されているか確認する
ls /dev | grep sdb
sdb
sdb1
すでにWindows上でパーティション削除してあるので
fdisk で確認しつつパーティション作成
fdisk /dev/sdb
Welcome to fdisk (util-linux 2.25.2).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
コマンド (m でヘルプ): p
Disk /dev/sdb: 46.6 GiB, 50020540416 bytes, 97696368 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xa864bb23
Device Boot Start End Sectors Size Id Type
/dev/sdb1 2048 97696367 97694320 46.6G 7 HPFS/NTFS/exFAT
やらなくてもよかったけど
NTFSにフォーマットを変更
コマンド (m でヘルプ): t
Selected partition 1
Hex code (type L to list all codes): 86
Changed type of partition 'HPFS/NTFS/exFAT' to 'NTFS volume set'.
コマンド (m でヘルプ): p
Disk /dev/sdb: 46.6 GiB, 50020540416 bytes, 97696368 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xa864bb23
Device Boot Start End Sectors Size Id Type
/dev/sdb1 2048 97696367 97694320 46.6G 86 NTFS volume set
コマンド (m でヘルプ): w
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.
sfdisk で確認する
sfdisk -l /dev/sdb
ディスク /dev/sdb: シリンダ数 6081、ヘッド数 255、63 セクタ/トラック
sfdisk: Warning: The partition table looks like it was made
for C/H/S=*/81/63 (instead of 6081/255/63).
For this listing I'll assume that geometry.
Units: cylinders of 2612736 bytes, blocks of 1024 bytes, counting from 0
デバイス 起動 始点 終点 #シリンダ #ブロック ID システム
/dev/sdb1 0+ 19144- 19145- 48847160 86 NTFS ボリュームセット
終点: (c,h,s) 期待値=(1023,80,63) 検出値=(961,80,63)
/dev/sdb2 0 - 0 0 0 空
/dev/sdb3 0 - 0 0 0 空
/dev/sdb4 0 - 0 0 0 空
blkid でUUIDとLABELを確認する
blkid | grep sdb1
/dev/sdb1: LABEL="mediatomb" UUID="26911F4533B86E52"
TYPE="ntfs" PARTUUID="a864bb23-01"
マウントポイントを作成
/media にマウントするのが
最近のHDD増設では通例であるが
タカさんは天邪鬼なので
/mnt にマウントポイントを作成
mkdir /mnt/mediatomb
chown nobody:nogroup /mnt/mediatomb
chmod 777 /mnt/mediatomb
Windows側でフォーマットした時に
マウントしやすいようにLABEL名を設定しておいたので
めんどくさいUUIDではなく
fstabにはLABELを利用して末尾に設定を書き込む
vi /etc/fstab
LABEL=mediatomb /mnt/mediatomb ntfs errors=remount-ro 0 1
あとは再起動
shutdown -r now
ログインしなおしてコマンドでマウント状態を確認
df /dev/sdb1
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sdb1 48847156 1953886 16893269 4% /mnt/mediatomb
マウントも確認できSSDの増設完了!!
mediatomb をセットアップし
メディアサーバーにしているUbuntu15.04に
不稼働になった自作PCから50GBのSSDを取り出し
HD画質動画の転送と再生にも対応させるべく
メディア保存用として増設することにした
増設するのは古いATOMなCPUのベアボーンだが
まだまだ現役で使えるPCだ
まずは接続したSSDが認識されているか確認する
ls /dev | grep sdb
sdb
sdb1
すでにWindows上でパーティション削除してあるので
fdisk で確認しつつパーティション作成
fdisk /dev/sdb
Welcome to fdisk (util-linux 2.25.2).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
コマンド (m でヘルプ): p
Disk /dev/sdb: 46.6 GiB, 50020540416 bytes, 97696368 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xa864bb23
Device Boot Start End Sectors Size Id Type
/dev/sdb1 2048 97696367 97694320 46.6G 7 HPFS/NTFS/exFAT
やらなくてもよかったけど
NTFSにフォーマットを変更
コマンド (m でヘルプ): t
Selected partition 1
Hex code (type L to list all codes): 86
Changed type of partition 'HPFS/NTFS/exFAT' to 'NTFS volume set'.
コマンド (m でヘルプ): p
Disk /dev/sdb: 46.6 GiB, 50020540416 bytes, 97696368 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xa864bb23
Device Boot Start End Sectors Size Id Type
/dev/sdb1 2048 97696367 97694320 46.6G 86 NTFS volume set
コマンド (m でヘルプ): w
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.
sfdisk で確認する
sfdisk -l /dev/sdb
ディスク /dev/sdb: シリンダ数 6081、ヘッド数 255、63 セクタ/トラック
sfdisk: Warning: The partition table looks like it was made
for C/H/S=*/81/63 (instead of 6081/255/63).
For this listing I'll assume that geometry.
Units: cylinders of 2612736 bytes, blocks of 1024 bytes, counting from 0
デバイス 起動 始点 終点 #シリンダ #ブロック ID システム
/dev/sdb1 0+ 19144- 19145- 48847160 86 NTFS ボリュームセット
終点: (c,h,s) 期待値=(1023,80,63) 検出値=(961,80,63)
/dev/sdb2 0 - 0 0 0 空
/dev/sdb3 0 - 0 0 0 空
/dev/sdb4 0 - 0 0 0 空
blkid でUUIDとLABELを確認する
blkid | grep sdb1
/dev/sdb1: LABEL="mediatomb" UUID="26911F4533B86E52"
TYPE="ntfs" PARTUUID="a864bb23-01"
マウントポイントを作成
/media にマウントするのが
最近のHDD増設では通例であるが
タカさんは天邪鬼なので
/mnt にマウントポイントを作成
mkdir /mnt/mediatomb
chown nobody:nogroup /mnt/mediatomb
chmod 777 /mnt/mediatomb
Windows側でフォーマットした時に
マウントしやすいようにLABEL名を設定しておいたので
めんどくさいUUIDではなく
fstabにはLABELを利用して末尾に設定を書き込む
vi /etc/fstab
LABEL=mediatomb /mnt/mediatomb ntfs errors=remount-ro 0 1
あとは再起動
shutdown -r now
ログインしなおしてコマンドでマウント状態を確認
df /dev/sdb1
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sdb1 48847156 1953886 16893269 4% /mnt/mediatomb
マウントも確認できSSDの増設完了!!
2014年08月20日
美女Linux久しぶりに訪問してみた
2012年10月12日
Debian 日本語入力ができないのを対処
今日は時間があったので
最近ファンが壊れて動かなくなっていた
玄箱の修理と中身をリニューアルした
内容
各種データのバックアップ
Debian 5.0(Lenny) → Debian6.0(Squeeze)
まあ実施したのはほとんどアップグレード作業ってことだ
玄箱の場合はイメージを戻すのが主な方法なので
そんなに時間はかからない
むしろ中身のセットアップに多くの時間がかかる
だいぶ前にも玄箱についてセットアップした内容が書いてあるが
ほぼそれと同等の作業を施した
しかし1つだけ問題が発生!!
なんとTeraTermでログインし
作業をしている時に日本語入力を受け付けないというのに気づいた・・・
今まで玄箱のイメージを戻してこんなことは一度もなかった
なかったことはなかったが過去に玄箱以外ではあった!!
ほとんど忘れかけていた設定内容ではあるが
GUIを排除した環境では
/etc/inputrc
の内容に変更を加えなければ
日本語の入力を受け付けないというのが
だいぶ前のLinuxではよくあった
ということで調べて設定を施す
追加設定は以下の通りだ
set input-meta on
set output-meta on
set convert-meta off
set meta-flag on
コメントアウトをはずす
または追記してやり
気持ち悪いのでDebianをリブートしなおした
起動後に日本語を入力してみると
正常に入力できるようになっている
今ではLinuxもあまりユーザーが難しい設定を施さなくても
インストール後にすぐ使えてしまうものが多い
そういう時代になるとこういった設定も忘れてしまうんだな
気をつけなければ・・・
最近ファンが壊れて動かなくなっていた
玄箱の修理と中身をリニューアルした
内容
各種データのバックアップ
Debian 5.0(Lenny) → Debian6.0(Squeeze)
まあ実施したのはほとんどアップグレード作業ってことだ
玄箱の場合はイメージを戻すのが主な方法なので
そんなに時間はかからない
むしろ中身のセットアップに多くの時間がかかる
だいぶ前にも玄箱についてセットアップした内容が書いてあるが
ほぼそれと同等の作業を施した
しかし1つだけ問題が発生!!
なんとTeraTermでログインし
作業をしている時に日本語入力を受け付けないというのに気づいた・・・
今まで玄箱のイメージを戻してこんなことは一度もなかった
なかったことはなかったが過去に玄箱以外ではあった!!
ほとんど忘れかけていた設定内容ではあるが
GUIを排除した環境では
/etc/inputrc
の内容に変更を加えなければ
日本語の入力を受け付けないというのが
だいぶ前のLinuxではよくあった
ということで調べて設定を施す
追加設定は以下の通りだ
set input-meta on
set output-meta on
set convert-meta off
set meta-flag on
コメントアウトをはずす
または追記してやり
気持ち悪いのでDebianをリブートしなおした
起動後に日本語を入力してみると
正常に入力できるようになっている
今ではLinuxもあまりユーザーが難しい設定を施さなくても
インストール後にすぐ使えてしまうものが多い
そういう時代になるとこういった設定も忘れてしまうんだな
気をつけなければ・・・
2012年01月23日
Ubuntu11.10 USBメモリブート
Linuxユーザーであれば
自分のお気に入りの環境を持ち歩きたいものだ
簡単コンパクトに持ち歩くなら
USBメモリブートのLinuxを持ち歩くという方法もある
数あるLinuxディストリビューションの中でも
Ubuntuなら簡単にUSBメモリブートをセットアップすることができる
[用意するもの]
4GB以上のUSBメモリ(必然的に最低ラインは8GBのUSBメモリとなる)
Ubuntu11.10のセットアップ用イメージファイル
USBメモリは準備できているという前提で
まずはUbuntu11.10の日本語Remixをダウンロードする
[ダウンロードサイト]
Ubuntu Japanese Team
次にダウンロードしたUbuntuのISOイメージをCDに焼く
あとは焼いたLiveCDからUbuntuを起動する

日本語が選択されていることを確認し
Ubuntu を試す のほうを押すと
お試し用(LiveCD)のUbuntuが起動する

お試し用といっても一通りのツールが組み込まれていて
パーティションをいじったりといった操作も可能だ
1週間前に紹介したパーティション編集ツール
GPartedも使える状態となっているので
その記事を参考にしながら
まずはUSBメモリのパーティションを編集し
Windowsから認識できる領域と
Linuxのインストールに使用する領域に切り分ける作業をする
GPartedの起動方法は
デスクトップ左側Unityメニューの一番上にあるDashホームをクリックし
次にそれ以外のソフトをクリックする
アプリケーションの検索ができるので
gpartedと入力すればでてくるはずだ

[前回記事]
容量がおかしくなったSDカードを修復
タカさんが使用したUSBメモリは8GBのUSBメモリなので
FAT32でフォーマットしWindowsに認識できる領域として
USBメモリの前半部分から2GBを設定
残りすべてをLinuxインストール用として設定しext4でフォーマットした
ここまでがインストール作業前の下準備になる

他にUSBハードディスク等が接続されていないのであれば
USBメモリ全体は
/dev/sdb
というディレクトリで表され
/dev/sdb1
/dev/sdb2
と内容は2つの領域に分かれるはずだ

次にデスクトップの Ubuntu 11.10 のインストール をクリック
日本語が選択されていることを確認して続けるをクリック
時間に余裕があるならば
インストール中にアップデートをダウンロードする
サードパーティーのソフトウェアをインストールする
の両方にチェックを入れて 続けるをクリック
時間に余裕がないならば後からでもアップデートできるので
サードパーティーのソフトウェアをインストールする
にだけチェックをいれて続けるをクリックする
インストールの種類はそれ以外を選択

Linuxインストール用に切り分けた /dev/sdb2 を選択し変更をクリック

パーティションサイズは設定できる最大値が入力されているので
そのままの設定でいい
利用方法を ext4 ジャーナリングファイルシステム に変更
パーティションの初期化にチェック
マウントポイントは / を選択

ブートローダをインストールするデバイスはUSBメモリ全体を表す
/dev/sdb を選択する
ここで間違った選択をすると
USBメモリでUbuntuがブートしないどころか
最悪の場合は他にセットアップされているOSが起動しなくなったりするので
何種類かある選択しの中から確実にUSBメモリ全体を選択する

ここまで間違いがなければインストールを開始する
自分のお気に入りの環境を持ち歩きたいものだ
簡単コンパクトに持ち歩くなら
USBメモリブートのLinuxを持ち歩くという方法もある
数あるLinuxディストリビューションの中でも
Ubuntuなら簡単にUSBメモリブートをセットアップすることができる
[用意するもの]
4GB以上のUSBメモリ(必然的に最低ラインは8GBのUSBメモリとなる)
Ubuntu11.10のセットアップ用イメージファイル
USBメモリは準備できているという前提で
まずはUbuntu11.10の日本語Remixをダウンロードする
[ダウンロードサイト]
Ubuntu Japanese Team
次にダウンロードしたUbuntuのISOイメージをCDに焼く
あとは焼いたLiveCDからUbuntuを起動する

日本語が選択されていることを確認し
Ubuntu を試す のほうを押すと
お試し用(LiveCD)のUbuntuが起動する

お試し用といっても一通りのツールが組み込まれていて
パーティションをいじったりといった操作も可能だ
1週間前に紹介したパーティション編集ツール
GPartedも使える状態となっているので
その記事を参考にしながら
まずはUSBメモリのパーティションを編集し
Windowsから認識できる領域と
Linuxのインストールに使用する領域に切り分ける作業をする
GPartedの起動方法は
デスクトップ左側Unityメニューの一番上にあるDashホームをクリックし
次にそれ以外のソフトをクリックする
アプリケーションの検索ができるので
gpartedと入力すればでてくるはずだ

[前回記事]
容量がおかしくなったSDカードを修復
タカさんが使用したUSBメモリは8GBのUSBメモリなので
FAT32でフォーマットしWindowsに認識できる領域として
USBメモリの前半部分から2GBを設定
残りすべてをLinuxインストール用として設定しext4でフォーマットした
ここまでがインストール作業前の下準備になる

他にUSBハードディスク等が接続されていないのであれば
USBメモリ全体は
/dev/sdb
というディレクトリで表され
/dev/sdb1
/dev/sdb2
と内容は2つの領域に分かれるはずだ

次にデスクトップの Ubuntu 11.10 のインストール をクリック
日本語が選択されていることを確認して続けるをクリック
時間に余裕があるならば
インストール中にアップデートをダウンロードする
サードパーティーのソフトウェアをインストールする
の両方にチェックを入れて 続けるをクリック
時間に余裕がないならば後からでもアップデートできるので
サードパーティーのソフトウェアをインストールする
にだけチェックをいれて続けるをクリックする
インストールの種類はそれ以外を選択

Linuxインストール用に切り分けた /dev/sdb2 を選択し変更をクリック

パーティションサイズは設定できる最大値が入力されているので
そのままの設定でいい
利用方法を ext4 ジャーナリングファイルシステム に変更
パーティションの初期化にチェック
マウントポイントは / を選択

ブートローダをインストールするデバイスはUSBメモリ全体を表す
/dev/sdb を選択する
ここで間違った選択をすると
USBメモリでUbuntuがブートしないどころか
最悪の場合は他にセットアップされているOSが起動しなくなったりするので
何種類かある選択しの中から確実にUSBメモリ全体を選択する

ここまで間違いがなければインストールを開始する
2012年01月02日
UbuntuにEclipse3.7をセットアップ(開始)
以下はセットアップ(準備)よりの続き作業
ダウンロードしたファイルを展開
cd /opt
sudo gzip -dc ./eclipse-jee-indigo-SR1-linux-gtk.tar.gz | tar xvf -
sudo unzip ./pleiades_1.3.3.zip
eclipse3.7の設定ファイルへ追記
追記するファイルの場所
/opt/eclipse/
追記するファイル名
eclipse.ini
追記する内容(末尾に追記)
-javaagent:/opt/eclipse/plugins/jp.sourceforge.mergedoc.pleiades/pleiades.jar
eclipseの初期化(最初の起動時だけ1回実行)
/opt/eclipse -clean
このままだと毎回コマンドラインからの起動になるので
デスクトップにランチャを作成する
デスクトップ上で 右クリック → ランチャを作成

アイコン部分をクリックすればアイコンも変更できる
eclipse用アイコンファイルの場所は
/opt/eclipse/icon.xpm
できあがったデスクトップのランチャアイコンをクリックし
正常起動し日本語化されていれば
eclipse3.7のセットアップは終了だ
タカさんは正常に起動し日本語化もされていましたよ

そしてお約束といえば「Hello World!」

Androidアプリ開発環境のセットアップに関しては
次の記事にて・・・
ダウンロードしたファイルを展開
cd /opt
sudo gzip -dc ./eclipse-jee-indigo-SR1-linux-gtk.tar.gz | tar xvf -
sudo unzip ./pleiades_1.3.3.zip
eclipse3.7の設定ファイルへ追記
追記するファイルの場所
/opt/eclipse/
追記するファイル名
eclipse.ini
追記する内容(末尾に追記)
-javaagent:/opt/eclipse/plugins/jp.sourceforge.mergedoc.pleiades/pleiades.jar
eclipseの初期化(最初の起動時だけ1回実行)
/opt/eclipse -clean
このままだと毎回コマンドラインからの起動になるので
デスクトップにランチャを作成する
デスクトップ上で 右クリック → ランチャを作成

アイコン部分をクリックすればアイコンも変更できる
eclipse用アイコンファイルの場所は
/opt/eclipse/icon.xpm
できあがったデスクトップのランチャアイコンをクリックし
正常起動し日本語化されていれば
eclipse3.7のセットアップは終了だ
タカさんは正常に起動し日本語化もされていましたよ

そしてお約束といえば「Hello World!」

Androidアプリ開発環境のセットアップに関しては
次の記事にて・・・
2012年01月02日
UbuntuにEclipse3.7をセットアップ(準備)
とりあえずWindows7にセットアップした時とほぼ同様の手順で
以下のものをダウンロードして準備またはセットアップ
・Eclipse IDE for Java EE Developers(linux用32bit版)
・Eclipse日本語化プラグイン(Pleiades1.3.3安定版)
・JavaJDKに関してはOpenJDK6を使用する予定
[Eclipseのダウンロード]

Eclipse IDE for Java EE Developersの項目右から
「linux 32Bit」をダウンロードする
[Eclipse日本語化プラグイン]

Eclipse日本語化プラグインはPreiadesを使用
ダウンロードするのは画像にある1.33安定版
UbuntuにOpenJDKをセットアップする
手順は手慣れたコマンドラインから実行
・まずは端末を起動 左上 アプリケーション → アクセサリ → 端末
・次のコマンドを打ってセットアップ開始
sudo aptitude update
sudo aptitude install openjdk-6-jdk

ダウンロードしたファイルをセットアップ場所へ移動
ubuntuのFirefoxでダウンロードしたので
ファイルの保存場所はログインユーザーの
ホームディレクトリにある「ダウンロード」ディレクトリになっている
なのでホームディレクトリより以下コマンドを実行
sudo mv ./ダウンロード/eclipse-jee-indigo-SR1-linux-gtk.tar.gz /opt
sudo mv ./ダウンロード/pleiades_1.3.3.zip /opt
とここまでが準備
続きは次の記事へ
以下のものをダウンロードして準備またはセットアップ
・Eclipse IDE for Java EE Developers(linux用32bit版)
・Eclipse日本語化プラグイン(Pleiades1.3.3安定版)
・JavaJDKに関してはOpenJDK6を使用する予定
[Eclipseのダウンロード]

Eclipse IDE for Java EE Developersの項目右から
「linux 32Bit」をダウンロードする
[Eclipse日本語化プラグイン]

Eclipse日本語化プラグインはPreiadesを使用
ダウンロードするのは画像にある1.33安定版
UbuntuにOpenJDKをセットアップする
手順は手慣れたコマンドラインから実行
・まずは端末を起動 左上 アプリケーション → アクセサリ → 端末
・次のコマンドを打ってセットアップ開始
sudo aptitude update
sudo aptitude install openjdk-6-jdk

ダウンロードしたファイルをセットアップ場所へ移動
ubuntuのFirefoxでダウンロードしたので
ファイルの保存場所はログインユーザーの
ホームディレクトリにある「ダウンロード」ディレクトリになっている
なのでホームディレクトリより以下コマンドを実行
sudo mv ./ダウンロード/eclipse-jee-indigo-SR1-linux-gtk.tar.gz /opt
sudo mv ./ダウンロード/pleiades_1.3.3.zip /opt
とここまでが準備
続きは次の記事へ
2012年01月01日
UbuntuにEclipse3.7をセットアップする
ノートPCでもJavaの開発環境を持ち歩きたいとおもい
今からセットアップ開始します
持ち運びに便利なMSIのWindNotebookには
Ubuntu11.4がセットアップされているので
そこへEclipse3.7をセットアップしますよ
やるのは
・Eclipse3.7のセットアップ
・日本語化
・Android開発環境のセットアップ
・お約束「Hello World」の表示
以上の3項目だ
それでは今から準備開始します
今からセットアップ開始します
持ち運びに便利なMSIのWindNotebookには
Ubuntu11.4がセットアップされているので
そこへEclipse3.7をセットアップしますよ
やるのは
・Eclipse3.7のセットアップ
・日本語化
・Android開発環境のセットアップ
・お約束「Hello World」の表示
以上の3項目だ
それでは今から準備開始します
2011年01月06日
console(ターミナル)プロンプトを変更
UNIXやLINUXを使用している方は
少なからずconsole(ターミナル)を使用することになると思うが
ある程度使いこなしているなら
プロンプトを変更できるのは周知の事だろう
タカさんは主にbashを使用しているので
正月休みの暇を利用して
使用している玄箱のbashプロンプトを変更してみた
環境
OS:debian5.0
ホスト名:IGO-SVR
ユーザー名:takasan
でプロンプトを変更してみたので
ここに残しておきたいと思う
実施した変更はどんなものかというと
bashプロンプト部分に
history履歴のコマンドカウントを表示するというもの
まずはどのようになるか画像で載せときます
before(変更前)

takasan@IGO-SVR:/$
のように
ユーザー名@ホスト名:/$
という形になっている
これを変更すべく
bashの設定ファイルに追加設定を記述する
linuxの場合は正しくユーザーが作成されていれば
ホームディレクトリに.bashrcファイルがあるはずなので
viエディタ等で開いて末尾に以下の設定を追記する
ない場合は作成して記述でも可
それとPATHが通ってないと
コマンドないよって怒られるんで
その場合はコマンド部分を絶対PATHで指定すればOK
NAME=`whoami`
UNAME=`uname -n`
SHELLSTR=/bin/bash
if [ $SHELL = $SHELLSTR ];then
PS1="`echo $UNAME{$NAME}`:\!%"
export PS1
fi
HOME_DIR=/home/${NAME}
if [ -f ${HOME_DIR}/.bash_history ] ;then
:>${HOME_DIR}/.bash_history
fi
solarisの場合は赤字の行を以下に置き換え
HOME_DIR=/home/${NAME}
↓
HOME_DIR=/export/home/${NAME}
ほんとうは変数名に中括弧はいらないけど
癖でいれちゃってます・・・気になる方はいれなくてよし
追記して保存した後は
.bashrcを読み直すか
コンソールを上げなおせば変更が反映される
after(変更後)

すると
IGO-SVR{takasan}:1%
のように
ホスト名{ユーザー名}:1%
という形になる
この1%の部分はコマンドと認識されるものが実行され
bashの履歴に残った場合のみカウントされ
数値が上がっていくようになる
追記の部分はもうすこし行を少なくもできるけど
見やすく行分したつもり
少なからずconsole(ターミナル)を使用することになると思うが
ある程度使いこなしているなら
プロンプトを変更できるのは周知の事だろう
タカさんは主にbashを使用しているので
正月休みの暇を利用して
使用している玄箱のbashプロンプトを変更してみた
環境
OS:debian5.0
ホスト名:IGO-SVR
ユーザー名:takasan
でプロンプトを変更してみたので
ここに残しておきたいと思う
実施した変更はどんなものかというと
bashプロンプト部分に
history履歴のコマンドカウントを表示するというもの
まずはどのようになるか画像で載せときます
before(変更前)

takasan@IGO-SVR:/$
のように
ユーザー名@ホスト名:/$
という形になっている
これを変更すべく
bashの設定ファイルに追加設定を記述する
linuxの場合は正しくユーザーが作成されていれば
ホームディレクトリに.bashrcファイルがあるはずなので
viエディタ等で開いて末尾に以下の設定を追記する
ない場合は作成して記述でも可
それとPATHが通ってないと
コマンドないよって怒られるんで
その場合はコマンド部分を絶対PATHで指定すればOK
NAME=`whoami`
UNAME=`uname -n`
SHELLSTR=/bin/bash
if [ $SHELL = $SHELLSTR ];then
PS1="`echo $UNAME{$NAME}`:\!%"
export PS1
fi
HOME_DIR=/home/${NAME}
if [ -f ${HOME_DIR}/.bash_history ] ;then
:>${HOME_DIR}/.bash_history
fi
solarisの場合は赤字の行を以下に置き換え
HOME_DIR=/home/${NAME}
↓
HOME_DIR=/export/home/${NAME}
ほんとうは変数名に中括弧はいらないけど
癖でいれちゃってます・・・気になる方はいれなくてよし
追記して保存した後は
.bashrcを読み直すか
コンソールを上げなおせば変更が反映される
after(変更後)

すると
IGO-SVR{takasan}:1%
のように
ホスト名{ユーザー名}:1%
という形になる
この1%の部分はコマンドと認識されるものが実行され
bashの履歴に残った場合のみカウントされ
数値が上がっていくようになる
追記の部分はもうすこし行を少なくもできるけど
見やすく行分したつもり
2010年07月07日
シェルスクリプト(sqlplus)
シェルスクリプトの中にSQLを埋め込んで
Oracleから実行結果をもらう雛形
条件としてはSQL*PLUSが正常に動作して
Oracleにログインできること
いろいろな結果のもらい方あるけど
とりあえずわかりやすいもので
#!/usr/bin/sh
SQL()
{
sqlplus -s ユーザー名/パスワード <
SELECT * from tab;
exit
EOF
}
SQL
sqlplusにオプションで"-s”をつけたのは
Oracleへの接続時や切断時の余計な表示を取り除き
純粋にSQLの結果だけをもらう為
exitはなくてもSQL*PLUSからぬけれるようだけど
なんか気持ち悪いのでいれておいた
エラーの出力もシェルスクリプト実行時に表示されないので
長いSQLがうまく動かない時なんかは
"-s"オプションをつけないで実行するとかして
エラー表示するようにしてエラー原因を取り除くことが必要
Oracleから実行結果をもらう雛形
条件としてはSQL*PLUSが正常に動作して
Oracleにログインできること
いろいろな結果のもらい方あるけど
とりあえずわかりやすいもので
#!/usr/bin/sh
SQL()
{
sqlplus -s ユーザー名/パスワード <
exit
EOF
}
SQL
sqlplusにオプションで"-s”をつけたのは
Oracleへの接続時や切断時の余計な表示を取り除き
純粋にSQLの結果だけをもらう為
exitはなくてもSQL*PLUSからぬけれるようだけど
なんか気持ち悪いのでいれておいた
エラーの出力もシェルスクリプト実行時に表示されないので
長いSQLがうまく動かない時なんかは
"-s"オプションをつけないで実行するとかして
エラー表示するようにしてエラー原因を取り除くことが必要
2010年03月09日
シェルスクリプト(簡易雛形)
Unix系OSをいじっていると
何かとお世話になるシェルスクリプト
ちょっとしたものなら雛形を作成しておいて
それを利用したほうが簡単だったりする
shのものだが簡単な雛形をここにおいておくことにする
まあシェルスクリプト初級者が楽にできるように・・・
以下が雛形
#!/usr/bin/sh
while :
do
cat <<!
1.メニュー項目1
2.メニュー項目2
3.メニュー項目3
4.メニュー項目4
5.メニュー項目5
!
stty raw -echo
no=`dd bs=1 count=1 2>/dev/null`
stty -raw echo
case $no in
1)メニュー項目1の動作;;
2)メニュー項目2の動作;;
3)メニュー項目3の動作;;
4)メニュー項目4の動作;;
5)メニュー項目5の動作;;
*)
echo "メニューにない番号が選択されました"
read dummy
clear;;
esac
done
おそらくbashでも動くと思うんで
#!/usr/bin/shの部分を
which bashで調べて書き換えればOKかな?
何かとお世話になるシェルスクリプト
ちょっとしたものなら雛形を作成しておいて
それを利用したほうが簡単だったりする
shのものだが簡単な雛形をここにおいておくことにする
まあシェルスクリプト初級者が楽にできるように・・・
以下が雛形
#!/usr/bin/sh
while :
do
cat <<!
1.メニュー項目1
2.メニュー項目2
3.メニュー項目3
4.メニュー項目4
5.メニュー項目5
!
stty raw -echo
no=`dd bs=1 count=1 2>/dev/null`
stty -raw echo
case $no in
1)メニュー項目1の動作;;
2)メニュー項目2の動作;;
3)メニュー項目3の動作;;
4)メニュー項目4の動作;;
5)メニュー項目5の動作;;
*)
echo "メニューにない番号が選択されました"
read dummy
clear;;
esac
done
おそらくbashでも動くと思うんで
#!/usr/bin/shの部分を
which bashで調べて書き換えればOKかな?
2009年11月23日
GPG暗号化をシェルスクリプトで制御
昨日紹介した「GnuPG」だが
それをちょっとだけ使いやすくする為に
シェルスクリプトを作成する
とりあえず「bash」にて簡単に作成
「bash」の位置が我が家の環境では「/bin/bash」なので
「#!/bin/bash」で書いているけど
コマンド「which bash」で調べて書き換えヨロシク
シェルスクリプトは以下のとおり
#!/bin/bash
echo -n "パスフレーズ入力 :";read str1
echo -n "パスフレーズ再入力:";read str2
if [ "$str1" != "$str2" ];then
echo "再入力されたパスフレーズが違います"
exit
else
gpg --passphrase ${str1} -c $1
fi
これを「gpg.sh」というファイル名で保存し実行権を与える
使用方法は
gpg.sh 暗号化するファイル名
のように引数で暗号化するファイル名を与える
たとえば暗号化するファイル名が「test.txt」であれば
gpg.sh test.txt
のような形で使用する
現在はパスフレーズを入力しての使用のみに特化したシェルスクリプトを
簡単に作ったがそのうちきちんとしたものに改良しようかな
それをちょっとだけ使いやすくする為に
シェルスクリプトを作成する
とりあえず「bash」にて簡単に作成
「bash」の位置が我が家の環境では「/bin/bash」なので
「#!/bin/bash」で書いているけど
コマンド「which bash」で調べて書き換えヨロシク
シェルスクリプトは以下のとおり
#!/bin/bash
echo -n "パスフレーズ入力 :";read str1
echo -n "パスフレーズ再入力:";read str2
if [ "$str1" != "$str2" ];then
echo "再入力されたパスフレーズが違います"
exit
else
gpg --passphrase ${str1} -c $1
fi
これを「gpg.sh」というファイル名で保存し実行権を与える
使用方法は
gpg.sh 暗号化するファイル名
のように引数で暗号化するファイル名を与える
たとえば暗号化するファイル名が「test.txt」であれば
gpg.sh test.txt
のような形で使用する
現在はパスフレーズを入力しての使用のみに特化したシェルスクリプトを
簡単に作ったがそのうちきちんとしたものに改良しようかな
2009年11月15日
bashの設定ファイル覚え書き
Linuxがデフォルトのシェルとして
ほとんどのディストリビューションが採用している「bash」
しかしながら設定ファイルが多すぎで
意外と自分環境を設定する時には大変だったりする
ってことで「bash」のみ設定ファイルを簡潔に書き残しておくことにする
/etc/profile
ユーザー共通でログイン時に読み込まれる設定ファイル
「bash」の他に「sh」や「ksh」も共通で適用される設定ファイル
/.bash_profile
ログインして/etc/profileの次に読み込まれる設定ファイル。
.bash_login
ログインして「.bash_profile」が存在しない場合に読み込まれる
.profile
ログインして「.bash_login」が存在しない場合に読み込まれる
.bashrc
コマンドラインから「bash」と入力して
シェルを切り替えた時に読み込まれる
.bash_logout
ログインしたシェルを終了するときに読み込まれるが
コマンドラインで「bash」と入力して起動した
サブシェル状態の「bash」を「exit」などで終了するときは
読み込まれない
と・・・こんな感じですかね
某質問サイトでも同じように答えた内容だが
忘れやすい内容でもあるので参照目的の書き残しになるかな
ほとんどのディストリビューションが採用している「bash」
しかしながら設定ファイルが多すぎで
意外と自分環境を設定する時には大変だったりする
ってことで「bash」のみ設定ファイルを簡潔に書き残しておくことにする
/etc/profile
ユーザー共通でログイン時に読み込まれる設定ファイル
「bash」の他に「sh」や「ksh」も共通で適用される設定ファイル
/.bash_profile
ログインして/etc/profileの次に読み込まれる設定ファイル。
.bash_login
ログインして「.bash_profile」が存在しない場合に読み込まれる
.profile
ログインして「.bash_login」が存在しない場合に読み込まれる
.bashrc
コマンドラインから「bash」と入力して
シェルを切り替えた時に読み込まれる
.bash_logout
ログインしたシェルを終了するときに読み込まれるが
コマンドラインで「bash」と入力して起動した
サブシェル状態の「bash」を「exit」などで終了するときは
読み込まれない
と・・・こんな感じですかね
某質問サイトでも同じように答えた内容だが
忘れやすい内容でもあるので参照目的の書き残しになるかな