gentoo 安裝 Oracle client 方法 step by step / remote X window display

2014.0107 edit:

螢幕快照 2014-01-07 下午8.55.12

 

 

————————-

首先要先搞定 X window , 若不想裝 X window 可以用 xming 把畫面投到 PC 端來 , 如我目前的狀況是用 putty + xming 如圖設定

feb99306dfaa54bb05f239f7165dfa82

db7449bfa59f6eb6c6c2d0d66bc82628

63745e9abc1acee38a220141a2d38615

ssh 進遠端 server 下 export DISPLAY=172.30.0.216:0.0 把 X display 到 172.30.0.216:0.0
可以下 xeyes & 測試一下 , ( xeyes 也需要另裝)

gentoo 缺一些 X 的 lib , 要 emerge -av libXp libXtst

Oracle client 會 check 經過認可的 OS , 把這個 check 取消
vi install/oraparam.ini

[Certified Versions]
# 把下面那行註解
# Linux=gentoo,redhat-3,SuSE-9,redhat-4,UnitedLinux-1.0,asianux-1,asianux-2

開始安裝
./runInstaller

e4b1f883f9542ce30b5e8140718f0d5d

 

 

 

REF.: https://www.monster.com.tw/archives/7097

咖啡

…. Bialetti Brikka 摩卡壺 , Hario 手沖壺 , Hario 手搖磨豆機 , 星巴克奶泡壺 , CAMA 現烘咖啡豆(義式綜合) , 香草糖漿 , 星巴克榛果糖漿 ….

DSC02543

板橋的夜景

DSC02549

2009 游 石門水庫 開始報名了

日期: 6月28日<星期日>
報名時間至5月20日止
http://www.masterswim.org.tw/modules/news/article.php?storyid=48

今年不太想游日月潭了, 有點遠而且要住宿, 打算游幾個北部的就好了
我報了龜山島的了, 還有一個外木山的還不知道何時!

A(集合停車點) , 在 A 換好泳裝, 走綠線上霸頂, 由 B(下水點), 開始游, 游完可以搭車到A,或是原綠線走下來
另外, 記得要帶拖鞋
擷取-石門水庫-2
另外版本的 map
擷取-石門水庫-1
這是去年游的路逕圖, 淡籃線
20080622

新的轉碼方法 , libiconv , BIG5 轉 UTF8

這段 code , 很好用, 就貼在這兒了, 下次可以直接剪下跟貼上

重點有兩個:

1. From encoding 是 CP950

2. libiconv 不要用 libc 的, 因為缺一個 function : iconvctl

int fnConvert(const char *from, const char *to, char* save, int savelen, char *src, int srclen)
{
    iconv_t cd;
    char   *inbuf = src;
    char *outbuf = save;
    size_t outbufsize = savelen;
    int status = 0;
    size_t  savesize = 0;
    size_t inbufsize = srclen+1;
    char* inptr = inbuf;
    size_t      insize = inbufsize;
    char* outptr = outbuf;
    size_t outsize = outbufsize;

    if ( ( cd = iconv_open(to, from) ) == (iconv_t)-1 )
    {
        status = -1;
        goto done;
    }

    iconv(cd,NULL,NULL,NULL,NULL);
    if (inbufsize == 0)
    {
        status = -1;
        goto done;
    }
    while (insize > 0)
    {
        size_t res = iconv(cd, &inptr,&insize,&outptr,&outsize);
        if (outptr != outbuf)
        {
            int saved_errno = errno;
            int outsize = outptr - outbuf;
            strncpy(save+savesize, outbuf, outsize);
            errno = saved_errno;
        }
        if (res == (size_t)(-1))
        {
            if (errno == EILSEQ)
            {
                int one = 1;
                iconvctl(cd,ICONV_SET_DISCARD_ILSEQ,&one);
                status = -3;
            }
            else if (errno == EINVAL)
            {
                if (inbufsize == 0)
                {
                    status = -4;
                    goto done;
                }
                else
                {
                    break;
                }
            }
            else if (errno == E2BIG)
            {
                status = -5;
                goto done;
            }
            else
            {
                status = -6;
                goto done;
            }
        }
    }
    status = strlen(save);
done:
    iconv_close(cd);
    return status;
}

EXAMPLE:
int fnB2U( unsigned char *str )
{
    int srclen, destlen, status;
    unsigned char tmp[2048];

    status = -1;
    if ( ( srclen = strlen( str ) ) == 0 )
        return status;
    destlen  = sizeof( unsigned char ) * ( srclen * 2 ) + 1;
    tmp[0] = '';
    if ( ( status = fnConvert ( "CP950", "UTF-8", tmp, destlen, str, srclen) ) > 0 )
        strcpy( str, tmp);
    else
        printf( "status = %dn");
    return( status);
}