その他」カテゴリーアーカイブ

エックスサーバーでGitをインストール

vimに引き続き、開発者視点ではGitでバージョン管理できないと甚だ不安です。
そこでgitもローカルディレクトリにインストールしてみます。

Gitを入れる前にGNU gettextが必要なのでインストールします。

$ cd ~/tmp
$ wget http://ftp.gnu.org/pub/gnu/gettext/gettext-0.18.2.tar.gz
$ tar zxvf gettext-0.18.2.tar.gz
$ cd gettext-0.18.2
$ ./configure –prefix=$HOME
$ make install

.bash_profileにパスが通っていることを確認します。

PATH=$PATH:$HOME/bin

Git をインストール

$ wget https://github.com/git/git/archive/master.zip
$ unzip master
$ cd git-master
$ make configure
$ ./configure –prefix=$HOME
$ make all
$ make install

これでGitコマンドが使えるようになりました。

参考ページ
Xserver で git を使う | 3.1415.jp

viの編集時に自動的にインデントがネストされるのを停止する noautoindent, nosmartindent

オートインデントを無効にする

:set noautoindent
:set nosmartindent

vi,vimで編集時に、前の行のインデントをそのまま引き継いでくれる便利な設定があります。
それが autoindent です。

これ、コードを書いている時にはとても便利なんですけど、別のところからクリップボードにコピーしたコードを貼り付ける時は、インデントが二重になってしまって困ったことになります。

そんなときは、

:set noautoindent

でautoindentをオフにします。

でも、なぜかnoautoindentが効かない!という時があります。いや、僕の場合そんな場合のほうが多くて、諦めてダウンロードして別のエディタで開いたりしていたんですけど、最近ようやく気付きました。

vi,vimのインデントには、autoindentとsmartindentという二つのインデントスタイルがあったんですね。

というわけで、smartindentを解除したいときは

:set nosmartindent

でOK。

コピペしたらこうなってしまっていたものが…

</div>                                                                                                                       
<script type="text/javascript">
  var _gaq = _gaq || [];
    _gaq.push(['_setAccount', 'UA-99999999-1']);
      _gaq.push(['_trackPageview']);

        (function() {
                    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
                        ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
                            var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
                              })();

                              </script>
</body>
</html>

綺麗に貼り付けられるようになりました。めでたし。

</div>
</div>                                                                                                                       
<script type="text/javascript">
  var _gaq = _gaq || [];
  _gaq.push(['_setAccount', 'UA-99999999-1']);
  _gaq.push(['_trackPageview']);

  (function() {
    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
  })();

</script>
</body>                                                                                                                      
</html> 

ちなみに、今どんな環境がセッティングされているかは、
:set
で一覧表示させることができます。

また、毎回noautoindentをするようでしたら、.vimrcでデフォルトの設定を変更したほうがいいでしょう。

使用しているOSを調べるコマンド(nmap、uname)

unameで調べる

OSのカーネルは、unameに-aオプションを付けて調べることができます。

[user@myserver ~]$ uname -a
Linux myserver 2.6.18-274.7.1.el5xen #1 SMP Thu Oct 20 17:06:34 EDT 2011 x86_64 x86_64 x86_64 GNU/Linux

nmapで調べる

もう一つ、nmapを使う方法もあります。
nmapはポートスキャン用のコマンドですが、これでマシンのOSを調べることができます。
OS調査オプションの-Oを付けることによって、OSを調査します。

ただし、これはあくまで「調査」して推測するコマンドなので、100%正しいバージョンが分かるわけではありません。
そのかわり、外部サーバーに対して実行することもできます。

[root@myserver ~]# nmap -O myserver
Starting Nmap 6.01 ( http://nmap.org ) at 2013-01-09 01:48 JST
Nmap scan report for myserver (210.000.000.000)
Host is up (0.000025s latency).
Not shown: 997 closed ports
PORT STATE SERVICE
22/tcp open ssh
80/tcp open http
10000/tcp open snet-sensor-mgmt
Device type: general purpose
Running: Linux 2.6.X
OS CPE: cpe:/o:linux:kernel:2.6
OS details: Linux 2.6.26
Network Distance: 0 hops

OS detection performed. Please report any incorrect results at http://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 2.15 seconds

「Running: Linux 2.6.X」
「OS details: Linux 2.6.26」
と出ました。
nmapコマンドは、/usr/share/nmap/nmap-os-db の中からTCP/IP fingerprintをもとに推測を行ないます。

command not found の場合は yum install nmp で事前にnmpをインストールします。