Showing posts with label CentOS6. Show all posts
Showing posts with label CentOS6. Show all posts

April 7, 2012

CentOS6 における gitサーバ の構築

gitの管理系としてgitoliteを採用し、環境を構築する。 
まずは各種のインストール。
gitoliteは公式レポジトリにないので、EPELから取ってくる。
# yum install git
# rpm -Uvh http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-5.noarch.rpm
# yum install gitolite
これでgit及びgitoliteが導入された。
gitをホストするためにgitoliteという名前のユーザーがインストール時に作成されている。

注意すべきは、gitoliteアカウントがgitサーバにおけるすべてのレポジトリの所有者であり、
唯一必須のgitサーバのシステムアカウントである点である。
すべてのユーザーはgitoliteアカウントとしてgitサーバにアクセスすることになる。
各ユーザーはSSH公開鍵によって区別される。
このあたりがしばらく理解できなくて苦しんだ。

つぎにgitの管理ユーザーのための設定を行う。
gitoliteは管理情報をgitで管理するため、管理ユーザーすらgitサーバに、
(共用であるgitoliteアカウント以外には)システムアカウントを必要としない。

gitのクライアントとなる端末(サーバと同居してもいいが)のユーザーでsshの鍵を作り、
gitoliteが導入されているサーバにコピーしておく。
以下はクライアントでの作業
$ ssh-keygen -t dsa
これで、~/.ssh/id_dsaと~/.ssh/id_dsa.pubが出来ているはずである。

また、sshのコンフィグファイルを作っておくと便利である。
以下はクライアントでの作業
$ vim ~/.ssh/config
host gitserver #gitserverは適当に名前を変えてもよし
    user gitolite
    hostname 192.168.1.2 #gitserverのIPかDNSでひけるホスト名
    port 22
    identityfile ~/.ssh/id_dsa

id_dsa.pubをgitサーバにコピーし、/tmp/admin.pubなどにおいておく
(セットアップが終わったらいらなくなるのでtmpでよい) 
gitoliteは鍵の名前でユーザー名を管理することになるため注意。
(この例では管理ユーザーの名前はadminとなる)
以下はgitサーバでの作業
# chmod a+r /tmp/admin.pub 
# su -l gitolite
$ gl-setup /tmp/admin.pub
このあと設定ファイルをいじるためにvimが起動するが
ESC→:q→リターン
で抜ける。 

この時点で管理データレポジトリがたっており、あとはすべて外からgitを介して設定できる。



March 24, 2012

2TB以上のHDDに CentOS6.2 をインストールする

2TB以上のディスクにCentOSなりRHELをインストールするにはひと手間いるので、メモ。

普通にDVDをいれて起動、GUI画面まではいつもどおり。
GUI画面でCtrl+Alt+F2でCUIに移行
# parted /dev/sda #sdaはインストールしたいディスク
(parted) mklabel gpt
(parted) quit
# 
としてpartedでgptに設定をし直し、partedを抜ける。
その後Ctrl+Alt+F6でGUIに復帰

あとはディスクの設定時に「すべての領域を使用する」を選ばず、カスタム設定を選ぶこと。

以上

参考:
http://godwood.allnet.ne.jp/vioret/d/?date=20110815

ML110 G7 の HP Smart アレイ B110i SATA RAIDコントローラ で作ったRAIDに CentOS6.2 を導入する

ちょっと実験したいことがあったので、
ML110G7のB110iでRAID0を作ってCentOS6.2を導入してみた。
結構めんどいので手順を残しておく。

USBメモリとネットにつながる別のLinuxマシンが別途必要なので用意しておくこと。 

まず、HPから"Driver Diskette"をDLしてくる。
Driverじゃないことに注意。
Driverはrpmで提供されるが、DriverDisketteはディスクイメージをgzで固めたものが提供される。
この記事を書いている時点での最新版はココ

DLしたらUSBメモリをアンマウントしてから
$ gunzip hpahcisr-1.2.6-11.rhel6u1.x86_64.dd.gz
$ sudo dd if=hpahcisr-1.2.6-11.rhel6u1.x86_64.dd of=/dev/sdb #sdbはUSBメモリ
としておく。

次にML110G7のB110iの設定を行う。
・POST画面でF9を押してRBSUに入って、Advanced Optionを選択
・SATA ConfigurationでRAIDを選択
・RBSUをぬけて、再起動
・POST画面でF8を押してORCAに入ってCreate RAIDで各種設定
・ORCAをぬける
でB110iの設定は終了。今回は2TBのHDDを2玉、RAID0にして4TBとした。

用意したUSBメモリを起動前のML110G7に挿す。
CentOS6.2のインストールディスクをつかってML110G7を起動。

Grubの起動画面っぽいところでESCを押しboot:プロンプトを出す。
boot: linux dd blacklist=ahci
として、ドライバを導入させる。ahciを殺さないとHDDが個別に認識されてしまう。
導入が済むと、さらに他のドライバを導入するかを聞かれるのでNoで先に進む。

あとは普通にグラフィカルなインストール画面に戻る。

RHEL5.7以降(6を含む)ならば、これだけで問題ないはず。

参考:
http://ml110.web.fc2.com/
http://h50146.www5.hp.com/products/software/oe/linux/mainstream/product/hardware/option/array/b110i.html

January 30, 2012

CentOS6 における仮想マシンまわりのあれこれ

CentOS6になってKVMがデフォルトとなり,色々勝手がかわっているようなので,
目につくたびにちょこちょこ更新する.


仮想ブリッジの構築
virbrとかNATとかいらない(ことが私の環境では多い)ので,恒久的なブリッジを手で作ることにする.
まず,virbrを破棄
# virsh net-destroy default
# virsh net-autostart default --disable
次いで,NetworkManagerを止めてnetworkに戻す.(この辺はやりようが他にある気がするが…)
# chkconfig NetworkManager off
# chkconfig network on
# service NetworkManager stop
# service network start
さらに,ブリッジ作成用にbridge-utilsを導入(普通は入っているかも)
# yum install bridge-utils
で,ようやくブリッジを作成する.ブリッジ名をbr0とする.ifcfg-br0を新規作成し,ifcfg-eth0を修正する.
# vim /etc/sysconfig/network-scripts/ifcfg-br0
DEVICE=br0
TYPE=Bridge
BOOTPROTO=dhcp
ONBOOT=yes
DELAY=0
# vim /etc/sysconfig/network-scripts/ifcfg-eth0 
DEVICE="eth0"
HWADDR="9C:8E:99:7B:F4:93"
ONBOOT="yes"
BRIDGE=br0
注意事項として,上記の設定をするとホストマシンのゲートウェイデバイスはeth0ではなくbr0になる.
インターフェイス名を指定して設定してあるものは,eth0をbr0に書き換える必要がある.
このブリッジを仮想マシン構築時にネットワークデバイスとして指定すればよい.


仮想マシンのコピー
下記コマンドでコピーする.LVMで切り出した論理ボリュームをまるっと割り当てている.
# virt-clone --original master_vm --name copy_vm --file /dev/VolumeGroup/LogicalVolumeCopy
注意すべきはNIC.
原因がCentOS6由来なのかKVM由来なのか調べていないが,
ネットワークデバイス名がeth0->eth1となってしまう.
eth0が存在せずeth1があるのは気持ちが悪いので対処しておく.
コピー後に以下の手順で対処する.



  • 一度NICを消してVMを起動
  • そのままVM終了
  • NICを追加して起動

  • NICの消去・追加はGUIからだと楽ちん.
    直接いじりたい人は/etc/libvirt/qemu以下のファイルを編集
    全く別件をいじっていて気がついたのだけど、これってudev関係なので、
    仮想マシンのコピーの前に、/etc/udev/以下のルールでNIC関連のを消しておくだけでいいっぽい。

    July 19, 2011

    CentOS6 日本語&開発用ワークステーションで導入後、home以下のディレクトリ名を英語化する

    CentOS6.0を日本語&開発用ワークステーションで導入したら
    homeディレクトリ以下の各種ディレクトリ名が日本語表記でだいぶ萎える。

    たぶんUbuntuと同じ方法で対処できるだろうということでためしたらうまくいった。

    $ LANG=C xdg-user-dirs-gtk-update