【CentOS】有線LAN設定

家庭の事情で無線LANになりそうですが、初期設定を行うまでは
ひとまず有線LANで繋ぐので、有線LANの設定を行います。
NICがちゃんと認識されているか確認。

ifconfig
lo 略
eth0 略
wlan0 略

eth0が有線用、wlan0が無線用。
eth0の設定を行います。

cd /etc/sysconfig/network-scripts
cp ifcfg-eth0 ifcfg-eth0.org
vi ifcfg-eth0
下記内容に変更
DEVICE=eth0
HWADDR=初期設定
TYPE=Ethernet
UUID=初期設定
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=static
NETWORK=192.168.XXX.0
NETMASK=255.255.255.0
GATEWAY=192.168.XXX.1
IPADDR=192.168.XXX.AAA
BROADCAST=192.168.XXX.255
DNS1=192.168.XXX.1

私の環境ではDNS1の設定がないと動きませんでした。
上記設定を行い、ネットワーク再起動します。

/etc/rc.d/init.d/network restart

これで他の端末からTeraTermで接続できます。

CentOSのネットワークの設定ファイルについてメモ。

  • /etc/sysconfig/network
    共通のネットワーク設定ファイル。
  • /etc/sysconfig/network-scripts/ifcfg-eth[0-9]
    個別のネットワーク設定ファイル。共通のネットワーク設定内容を継承している。
  • /etc/resolv.conf
    DNSサーバのIPを記述するファイル。
    DNS1の設定を行い、ネットワークを再起動すると自動で設定される。
  • /etc/hosts
    IPアドレスとホスト名をマッピングするファイル。
    DNSを参照する前にこっちを参照する。
  • /etc/host.conf
    「/etc/hosts」やDNSのどれから参照するかの順番を定義するファイル。

【CentOS】NUC(DN2820FYKH)にCentOS6.5導入

USBの準備ができたので、CentOS 6.5をインストールします。
起動後にログが出たらF2を押下し、
BIOSのBootOrderのAdvancedを選択します。
UFFIのチェックを外し、LegacyのUSBを選択してEnterを押下すると、
インストールが始まります。

  • 言語
    Japaneseを選択します。
    テキストモードでは日本語表示できないから、英語で続けるとか注意書きが出ますが、
    OKを選択して進めます。
  • キーボード
    jp106を選択します。
  • InstallationMethod
    USBなのでHard driveを選択します。
  • Select Partition
    どのディスクパーティションからインストールするかを選択します。
    下記のような選択肢がありましたが、「/dev/sdb1」を選択。

    /dev/sda1
    /dev/sdb1
    Direcory holding image:ブランク
    

    1つ目がHDD、2つ目がUSBかな。
    ここで1つ目がUSBになっている場合、かつ、
    以降のインストールもテキストモードでインストールする場合、
    インストーラーがブートローダーを自動的に設定するので、
    ブートローダーがUSBに作られてしまうことがあるらしいです。

    私の環境では以降のインストールがグラフィックモードで、
    ブートローダーを選択できたため、問題は発生しませんでした。

グラフィックモードでインストール中は基本デフォルト設定で
変更したのは下記の通り。

  • タイムゾーンの設定
    「システムクロックでUTCを使用」はチェックを外します。
  • CentOSのインストールタイプ
    Minimalと今すぐカスタマイズを選択し、下記の3つをチェックします。
    言語/日本語のサポート
    開発/開発ツール
    ベースシステム/ベース

これでCentOS 6.5がインストール完了です。

【CentOS】NUC(DN2820FYKH)にCentOS6.5導入準備

  • CentOS 6.5の選択
    DN2820FYKHでは、CentOS 7.0のインストール時の動作が怪しいらしく、
    先人が実施済のCentOS 6.5を下記の公式サイトから入手し、インストールします。

    http://wiki.centos.org/Download

    i386は32bit版、x86_64版は64bit版なので、x86_64を選択。
    ミラーサイトがいくつかあるので適当に。
    種類がいくつかあって、「0_README.txt」を読むと違いが確認できます。

    ファイル名用途概要
    CentOS-6.5-x86_64-LiveCD.isoインストールせずにCDから起動用(機能少)
    CentOS-6.5-x86_64-LiveDVD.isoインストールせずにCDから起動用(機能多)
    CentOS-6.5-x86_64-bin-DVD1.isoインストール用(機能多)
    CentOS-6.5-x86_64-bin-DVD2.isoインストール用(追加)DVD1のみでも可
    CentOS-6.5-x86_64-minimal.isoインストール用(機能最少)
    CentOS-6.5-x86_64-netinstall.isoインストール用(ネットワーク)

    「torrent」ファイルはネットワーク共有ソフトを使ってインストールする際に利用、
    「sum」ファイルは正しくダウンロードされたかのチェックに利用なので、無視。
    「CentOS-6.5-x86_64-bin-DVD1.iso」を選択してみました。

  • LiveUSB Creator
    DN2820FYKHにCentOSを導入するにあたり、
    USB光学ドライブあると思い込んでいたら、
    自宅にあったのはUSBフロッピーディスクドライブでした。

    新規にUSB光学ドライブ購入するのも嫌。
    とはいえ、フロッピーじゃどうにもならないので、グーグル先生に聞いてみたところ、
    USBからOSがインストールできると。
    microSDカード8GにCentOSのイメージをツールで焼いて、
    USB接続のSDカードリーダにmicroSDカードをセットして利用しました。

    ツールは「liveusb-creator-3.12.0-setup.exe」を利用しました。
    USBが接続されているドライブと焼き付けるファイルを選択するだけ。

    しかし、ここに罠があってこれで作成したUSBを使ってインストールしても
    最後の最後で下記エラーで失敗します。
    「Unable to read package metadata」

  • Unable to read package metadata 解決策
    原因は一部ファイルが正しいファイル名にならなかったから。

    USBの中を確認すると「repodata」ディレクトリがあり、その中のファイル名を修正します。
    修正対象は拡張子がない8ファイル、「repomd.xml」には修正前のファイル名と修正後のファイル名が
    ちゃんとかかれているので、それを見ながら修正します。

    修正後はgzファイルやxmlファイルになるはず。
    「TRANS.TBL」はゴミファイルなので削除。
    再度インストールを行います。

【CentOS】NUC(DN2820FYKH)入手

  • NUCのDN2820FYKH入手
    Corei3のD34010WYKHと悩みましたが、お財布都合などいろいろありDN2820FYKHにしました。
    一緒にCFD ElixirのDDL3Lの4Gメモリを購入。
    2.5インチSSDはメインPCで全く使ってなかったものを利用。
    HDMI接続なのでケーブル類も不要。
    約2万円で収まったのがありがたいです。

  • メモリとSSD装着
    裏蓋のネジは裏蓋にくっついてるタイプで
    ドライバーで回しまくってもとれないタイプでした。
    開けると中蓋があってそこに2.5インチSSDを入れるようです。
    中蓋も本体にケーブルでくっついてるので、引っ張りすぎ注意。
    中蓋をあけるとメモリとNICをつけられる場所がありました。

    NICは交換する気はないので、メモリだけ装着。

  • BIOS更新
    OSはLinuxを入れるつもりですが、DN2820FYKHにLinuxを入れる場合、
    BIOSの更新が必須なようで、まずはBIOSの更新です。

    手順は公式の「F7 BIOS Flash アップデート」で行いました。
    http://www.intel.com/jp/support/motherboards/desktop/sb/cs-034499.htm

    奇跡的に残っていた128MBのUSBメモリを利用。
    容量少ないのでフォーマットも一瞬でした。
    最新BIOSの「FY0039.BIO」をダウンロードしてコピー。

    NUCにHDMI、キーボード、USBだけをつけて起動。
    ロゴが出たらF7押下して、BIOS画面に入りました。
    BIOS画面が無駄に格好良い。

    無事に更新完了。次はOSです。
    OSはCentOS 6.5を入れる予定。

【Eclipse】Eclipse再設定

Eclipseで色々いじりすぎて復元できなくなった場合の再設定メモ。

EclipseはIndigoの3.7.2を利用しています。

  • 壊れたEclipse
    【モジュール】
    EclipseのworkplaceディレクトリからSVN管理されていないプロジェクトをコピーしてどこかに保存する。

    【設定】
    「ファイル」-「エクスポート」を選択する。
    「一般」-「設定」を選択し、「次へ」ボタンを押下する。
    全てをエクスポートにチェックを入れ、「宛先設定ファイル」を指定し、「完了」ボタンを押下する。

  • 新しいEclipse
    【モジュール】
    どこかにコピーしておいたプロジェクトを新しいworkplaceに配置。
    「ファイル」-「インポート」を選択する。
    「一般」-「既存プロジェクトをワークスペースへ」を選択し、「次へ」ボタンを押下する。
    ルート・ディレクトリの選択にチェックを入れ、プロジェクトを選択し、「完了」ボタンを押下する。
    SVN管理されているプロジェクトはチェックアウトする。

    【設定】
    「ファイル」-「インポート」を選択する。
    「一般」-「設定」を選択し、「次へ」ボタンを押下する。
    ソース設定ファイルを選択し、「完了」ボタンを押下する。

【Oracle】SQLPlusで空白除去

OracleのSQLPlusでSELECT結果をspoolでファイル出力した際、
CHAR型やVARCHAR2型の出力結果がサイズにあうように自動で空白埋めされてしまい、
想定結果ととても比較し難い。

「SET TRIMSPOOL ON」にしても空白が削除されないのは、
これが「行末のトリム処理を制御する」からのようです。
「項目ごとのトリム処理を制御する」なら便利だったのに。

色々調べてもSQLPlusの設定だけでやるのは無理なようで、
結局下記のようにパイプでつなげることにしました。

SELECT 項目1 || 't' || 項目2 || 't' || 項目3 FROM テーブル名;

TeraTeramで自動ログイン

TeraTermで接続情報を毎回手打ちして、
ログインするのが面倒なので、自動ログインします。

デスクトップでも好きな場所に「ファイル名.ttl」ファイルを作成します。
ファイルが「ttpmacro.exe」に関連付けられていない場合、
TeraTermのインストールディレクトリに存在する「ttpmacro.exe」に関連付けを行います。

ファイルの中身を記載します。

hostname = 'IPアドレスまたはホスト名'
username = 'ユーザ名'
passfile = 'D:/任意のディレクトリ/任意のファイル名'
keyfile = 'D:/任意のディレクトリ/秘密鍵のファイル名'

getpassword passfile username userpass

command = hostname
strconcat command ':22 /ssh /KR=UTF-8 /KT=UTF-8 /auth=publickey /user='
strconcat command username
strconcat command ' /passwd='
strconcat command userpass
strconcat command ' /keyfile='
strconcat command keyfile

connect command

end

初回ログインで1度パスワードを聞かれますが、
2回目からはファイルを自動参照します。

【bat】WinBatで自動ログイン

ファイルサーバにログインする際、接続情報を毎回手打ちして、
ログインするのが面倒なので、自動ログインします。

デスクトップでも好きな場所に「ファイル名.bat」ファイルを作成します。

ファイルの中身を記載します。

@echo off
SET COMMON_USR=ユーザ名
SET COMMON_PASS=パスワード

echo ホスト名ログイン中
net use ホスト名/ディレクトリ名 /USER:%COMMON_USR% %COMMON_PASS%

pause

接続できない場合、接続情報が残ってしまっていることがあるので、
コマンドプロンプト上で下記コマンドで削除します。

net use ホスト名/ディレクトリ名 /delete

【Excel】ショートカット割り当て

Excelで自作マクロの起動をショートカットで行います。

Sub AssignShortCutKey()
'
' AssignShortCutKye Macro
'
' ショートカットを割り当てる。
    
    ' F1:何もしない
    Application.OnKey "{F1}", ""

    ' CTRL+ALT+l:メニューオープン
    Application.OnKey "^%{l}", "MenuOpen"

    ' CTRL+t:カーソルトップ
    Application.OnKey "^{t}", "TopCursor"

    ' CTRL+r:赤い太枠四角線
    Application.OnKey "^{r}", "RedBox"

    ' CTRL+ALT+s:SELECT文作成
    Application.OnKey "^%{s}", "SqlSelectCreateYoko"
End Sub