文件导入

公交车买票问题

情况:今天坐公交车,车子开出,售票员喊一大爷大妈买票,大爷大妈看穿着很穷,拉个小车。大爷坚持不买,说我不会刷卡,售票员说没卡就买票,大爷说我有卡,但是不会刷,就不买票,想买你自己买去,售票员当然不干,这不明显的站霸王车吗(当时没座,很多人站着,我也站着,他们也站着,用码农的严谨思维,还是说明下,是“站”了霸王车,不是坐),你一句我一句的,大爷还是坚持不买。当然最终结果是,大爷大妈坚持到了自己的那站,然后下车。当然这过程中被售票员各种冷言冷语,而且没人表示点什么,可能大家和我想的一样吧。

这种事情本身很常见,不巧被我亲身碰到,纠结了一段时间,我有三个选择:1.替他们买票,这是我大脑中闪过的第一个念头。2.什么都不做,这是思考后。3.帮售票员赶他们下去,这是不断思考想到的另外一个选择,当然我是不会去做的。具体就分析下。

第一反应是替他们买票,我想这是人之常情,毕竟大家都有同情心,没替他们买票,良心就会受到折磨。
反过来一想,替他们买,岂不是助长不买票的风气,毕竟规则在这,替他们买了,会让售票员受挫,同时让不买票的人得瑟,不仅没维护规则,反而让违规的人获利还得瑟,从理性上分析这是不能做的。
至于帮售票员赶他们下车,从某种层面上,是帮助执法者维护秩序,但是这不是我的责任和义务,而且做了会让良心更不安。最后售票员只用冷言冷语,而没有强制把他们赶下车,那是售票员没有履行自己的职责,严格的守规则来讲,既然赶不下车,她应该报警,让警察帮助驱离,不然让别人坐霸王车就是损失公司财产。这在中国太小题大作,但联想到前段时间的新闻,一中国人在美国苹果店,被警察电击并强制带离,可以想象,在美国,貌似大家很死板的去守规矩,这是好是坏,还有待慢慢看。
所以,我什么都没做,没有责任去做什么,给良心找个借口,但从理性上说,没问题。

大爷大妈下车后,又想了想,可能是制度有问题,在一个有问题的制度里,才让人纠结,好的制度应该顺应好的道德观。
这大爷大妈的年龄,八成够老年证的资格,坐公交车本身就是不要钱的啊。如果真的年龄到了(至少我看着像),又没有老年证,穿的寒酸,很大概率是外地来北京的。问题瞬间升级,我就不多想多说这些众所周知的问题了。老年证是个好东西,符合传统的道德观,坐车买票的规定也是好的,合在一起,碰到现行制度,那就纠结了。
那制度有问题的情况下,应该怎么做?明知制度有问题,但坚持按制度办事,等到有机会改变这个制度,还是从一开始就不服从有问题的制度,因为不符合人的本性,也就是自然意义上的不合法。
从执法者角度来讲,是否应该枪口抬高1cm,抬高后算不算渎职。真是个大问题,太多的讨论,我还没能力去产生新的看法。
从普通人角度来讲,如果是外地人不给办证,这是否应该成为不买票的理由,毕竟本来应该免费的,只是拿回本属于自己的权利。还是说给自己找了个违反规定的理由,毕竟我也曾经想过,拿点公家的东西,是否是应该的,毕竟我纳了那么多的税,好处却让那帮贪官享受了,本属于我的权利,拿回来而已。但回头一想,这不是给自己犯错找理由吗?所以又纠结了,纠结到中间啥都不做的状态。不说拿,先说你会逃税吗?你会帮助别人逃税吗?至少我现在能不开发票就不开发票,除非会危害到自己的利益。把钱给商家总比给国家要好,给了国家也是被挥霍,屁民还是惺惺相惜啊。
大家都听说过褚时健,他为国家工作那么多年,工资那么点,退休前拿点,分给手下一点,是否是应该的,毕竟制度有问题,国家对不起他。我想这也是即使他落马了,还是很多人会念旧情的原因,他本身是个好人,制度的问题。

说到权利,又想到高中时写过一篇作文,论了下在中国的“权力”和“权利”,以及不同点,具体给忘了,没想到这竟然是当前的一个大话题,可惜当时老师没给我满分,多超前的想法啊,可能字体太潦草了。。有时间再论一下
又想多了,听大师一席言,又被刺激到,走着坐着都乱想。
再感叹下,佩服下那些写书的人,一篇文章本身就有难度,更别说那些写书的人,尊重劳动,有机会还是买正版书,kindle赶紧来吧,纸质书太重了。
不过KK说未来书籍是不值钱的,价格趋向于0,真正有价值的是批注这些东西,大家能在互联网上互相分享自己的见解。我是很同意批注的价值,从过去的行为看,买来看过的书,一般只写一个名字,大多数书都是9.5成新,送人、捐掉、卖掉从来不心疼,倒是写了些批注的,连借人都不愿意,因为那里面有我的个人见解。书可以随时再买一本,可是那些批注,不会再回来。
很多想法大家都有,看到别人写出来,往往有两种反应,哇,太牛逼了,写的正是我想的,同类啊,另一种是,啥啊,我早就知道了,傻逼。

solaris配置php支持oci,错误 oci8.so - libnnz11.so: open f

解决“
[text]
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/php/5.2/modules/oci8.so' -
ld.so.1: httpd: fatal: libnnz11.so: open failed: No such file or directory in Unknown on line 0
[/text]

的方法。
如果你看到这,不知道我在说什么,那就不用看了,看了也没用。
如果你知道我在说什么,99%,你是碰到问题,在网上搜过来的,这篇文章就是用来解决这个问题。

环境:solaris 11, apache 2.2.20, php 5.2.17
[bash]
web@web:~$ cat /etc/release
[/bash]
[text]
Oracle Solaris 11 11/11 SPARC
Copyright (c) 1983, 2011, Oracle and/or its affiliates. All rights reserved.
Assembled 18 October 2011
[/text]
[bash]
web@web:~$ /usr/apache2/2.2/bin/apachectl -v
[/bash]
[text]
Server version: Apache/2.2.20 (Unix)
Server built: Oct 17 2011 15:40:52
[/text]
[bash]
web@web:~$ php --version
[/bash]
[text]
PHP 5.2.17 (cli) (built: Oct 17 2011 18:12:22)
Copyright (c) 1997-2010 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2010 Zend Technologies
[/text]

出现这个错误是因为oci8的module load的时候,找不到libnnz11.so
如果你确实把已经安装oracle的库,比如我装了Oracle Database Instant Client, 但是php或者apache中运行phpinfo()找不到,请继续
如果还没装,装一个
http://www.oracle.com/technetwork/database/features/instant-client/index-100365.html
[bash]
web@web:~$ ls /usr/local/oracle/instantclient_11_2/
[/bash]
[text]
BASIC_README genezi libclntsh.so.11.1 libocci.so.11.1 libocijdbc11.so ojdbc6.jar uidrvci
adrci libclntsh.so libnnz11.so libociei.so ojdbc5.jar sdk xstreams.jar
[/text]

出现这个问题,大致有两种情况.
1. php找不到这个库,shell中跑php命令,报错
最简单的测试方法是写个php文件info.php,里面运行phpinfo()
用命令行:
[bash]
php info.php
[/bash]
刷出这个错误,非常好搞定,LD_LIBRARY_PATH的问题,在shell环境中添加 LD_LIBRARY_PATH=$ORACLE_HOME/lib 即可搞定,
我的情况是添加:
[text]
LD_LIBRARY_PATH=/usr/local/oracle/instantclient_11_2:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH
[/text]
没有lib文件夹,是因为我装的是Oracle Database Instant Client,没有完整安装oracle数据库

2. 此文重要部分 apache找不到这个库,如果1一切正常,运行
[bash]
web@web:~$ php -m | grep oci8
[/bash]
[text]
oci8
[/text]
能看到oci8,但是在apache服务器中的phpinfo()出错,查看apache的log,发现无法加载oci8模块
[bash]
web@web:~$ grep oci8 /var/apache2/2.2/logs/error_log | uniq
[/bash]
[text]
PHP Warning: PHP Startup: Unable to load dynamic library '/var/php/5.2/modules/oci8.so' - ld.so.1: httpd: fatal: libnnz11.so: open failed: No such file or directory in Unknown on line 0
[/text]

这时的问题在apache,也是我google了大半天也没见到有人搞定的问题,此文重要部分。
在solaris中,apache的服务启动由SMF控制
[bash]
web@web:~$ svcs -l apache22
[/bash]
[text]
fmri svc:/network/http:apache22
name Apache 2.2 HTTP server
enabled true
state online
next_state none
state_time Wed Nov 07 13:56:32 2012
logfile /var/svc/log/network-http:apache22.log
restarter svc:/system/svc/restarter:default
contract_id 708
manifest /lib/svc/manifest/network/http-apache22.xml
dependency require_all/error svc:/milestone/network:default (online)
dependency require_all/none svc:/system/filesystem/local:default (online)
dependency optional_all/error svc:/system/filesystem/autofs:default (online)
[/text]

当然也有命令行可以用,猜测SMF启动apache服务用的也是这个命令,slocate找到apachectl的位置
[bash]
web@web:~$ slocate apachectl
[/bash]
[text]
/usr/share/man/man8/apachectl.8
/usr/apache2/2.2/man/man8/apachectl.8
/usr/apache2/2.2/bin/apachectl
/usr/apache2/2.2/bin/sparcv9/apachectl
[/text]

查看/usr/apache2/2.2/bin/apachectl的内容,会发现,有个envvars的东西,配置apache的环境变量
[text]
43 # the path to your httpd binary, including options if necessary
44 HTTPD='/usr/apache2/2.2/bin/httpd'
45 #
46 # pick up any necessary environment variables
47 if test -f /usr/apache2/2.2/bin/envvars; then
48 . /usr/apache2/2.2/bin/envvars
49 fi
[/text]
顺藤摸瓜,继续查看/usr/apache2/2.2/bin/envvars的内容,此处展示的是已经修的改LD_LIBRARY_PATH,问题就是这样搞定
[text]
17 # envvars-std - default environment variables for apachectl
18 #
19 # This file is generated from envvars-std.in
20 #
21 #LD_LIBRARY_PATH="/usr/apache2/2.2/lib:$LD_LIBRARY_PATH"
22 LD_LIBRARY_PATH="/usr/local/oracle/instantclient_11_2:/usr/apache2/2.2/lib:$LD_LIBRARY_PATH"
23 export LD_LIBRARY_PATH
24 #
25
26 if [ -f /etc/apache2/2.2/envvars ]; then
27 . /etc/apache2/2.2/envvars
28 fi
[/text]
/etc/apache2/2.2/envvars 是个空文件,不多说
当然,我们也注意到里面说 envvars-std - default environment variables for apachectl
[bash]
web@web:/etc/apache2/2.2$ slocate envvars-std
[/bash]
[text]
/usr/apache2/2.2/bin/envvars-std
/usr/apache2/2.2/bin/sparcv9/envvars-std
[/text]
继续查看bin/envvars-std
[text]
17 # envvars-std - default environment variables for apachectl
18 #
19 # This file is generated from envvars-std.in
20 #
21 LD_LIBRARY_PATH="/usr/apache2/2.2/lib:$LD_LIBRARY_PATH"
22 export LD_LIBRARY_PATH
[/text]
是否要修改?暂时不修改,重启系统测试,apache里的phpinfo()显示正常加载oci8模块
那这个文件是什么用途,不清楚,暂时留这不做修改。
至于里面不断提到的envvars-std.in,在系统中没有找到

总结起来,就是LD_LIBRARY_PATH的问题,只是apache的问题比较隐蔽,要找到配置的位置
同理,如果是linux,找到环境变量配置位置进行修改即可。
如果是windows,估计类似,不会,自己搞去吧

少说话总归是好的

少说话总归是好的

天津略记

游天津是上周末的事情,一直拖到现在才写记录,也就现在病的软成一堆泥了才有心情写文章,不然,肯定跑步仰卧起坐俯卧撑.etc。
游天津是突然的想法,离北京那么近,不去就太遗憾。出游,最大的花费就是交通和住宿,占着地利的优势,岂能不去勾搭一下天津。

周五晚上24点左右,突然想去天津,略微查了下,周六就去了,对不起TT推荐的石头门坎,去了却没吃包子。。这是后话

路线:4号线->黄村火车站->天津站->溜达->天津站->黄村火车站->4号线
选择黄村火车站,是因为便宜,比从南站和北京站出发要便宜点,而且我坐4号线出行,会更快一点。

早上起晚了,毕竟是凌晨计划的出行,为了睡够,就牺牲下游玩时间。错误估算到火车站的时间,结果只能坐11:20的4419。
在黄村火车站买票,到天津的竟然没票,而到廊坊的还有座,果真,到廊坊上来一批人,把我的座给坐了,谁让咱只买到廊坊,票价10元。
一路颠簸,准时到达天津,路上遇到极品老大婶,当然还有大叔陪同,唠嗑,像是审犯人一样,问一句一句的,我只能撂下一句,“您这像审犯人一样问我啊,呵呵“,然后就安静了。。

好,天津,12:41. 出站,晃一晃车票,逃过检票,传说天津站也是一古老建筑,没发现有啥特色。接下来就不流水账了。
到天津几乎是到处闲逛,给我最大震撼的是“桥”,天津的桥真有特色,让我相当惊讶。还有海河里的水,干净。当然建筑物也很有特色,不知道是不是因为海河旁是富人区。

一路逛过去,偶遇,定力不错,继续逛天津大业,傻X。
一路到一个很古老的街,没发现有啥意思,和北京的古街大同小异。
饿了,在老街周围吃点东西,误入TT推荐的小餐馆,充分发挥不喜欢记东西的优点,竟然不知道这就是推荐的那家吃包子的店。。
然后纯粹垫肚子,来了碗什么,老天津炸酱面,本人不喜欢到处吃美食,只喜欢走走看看。
结果没吃包子,还被店老板鄙视了,问了一堆东西,最后,"来碗炸酱面",价值8元,鄙视过程略去。

被鄙视完,觉得不饱,炸酱面还不好吃,就走了走,以为步出了商业区,找个李先生吃饭,谁知还是在景区!吃撑
接下来,在一个叫“东北角”的公交车站,上车,公交车上一直在放戏,好像是戏,好听,挺有特色。
到滨江道下车,其实不是我想下车的地方,误打误撞,正好在老西开教堂旁边,这个感兴趣。
有人在举办婚礼,体验一会,咔咔咔拍点照片,接个宣传基督教的小册子,走人。
小册子前半部分写的不错,关于人生追求,但是后半部分一直说耶稣能解决,却没说如何解决,小册子对于逻辑思维的人来说,毫无说服力。

对着教堂是一条商业街,好像就是滨江道,一路走过去,到一些很多古老建筑的地方,非常好,非常好,有感觉。溜达溜达,拍点照。
就顺着解放桥去天津站买票,时间很充裕,顺利回北京,票价17,其实有8元的火车到黄村,具体请搜索之。
一下午也没逛多少地方,本来计划两天的行程,没想到,突然有点累,不想逛了,囧

总结就是,建筑,建筑,还是建筑,真有特色。

附个图:


写完了,想想以前写了各种批判分析的小愤青文章,现在突然各种流水账,分析类的各种写的逻辑大乱,脑袋钝了。

字体分类

Serif 字体
这些字体成比例,而且有上下短线。如果字体中的所有字符根据其不同大小有不同的宽度,则成该字符是成比例的。例如,小写 i 和小写 m 的宽度就不同。上下短线是每个字符笔划末端的装饰,比如小写 l 顶部和底部的短线,或大写 A 两条腿底部的短线。Serif 字体的例子包括 Times、Georgia 和 New Century Schoolbook。

Sans-serif 字体
这些字体是成比例的,而且没有上下短线。Sans-serif 字体的例子包括 Helvetica、Geneva、Verdana、Arial 或 Univers。

Monospace 字体
Monospace 字体并不是成比例的。它们通常用于模拟打字机打出的文本、老式点阵打印机的输出,甚至更老式的视频显示终端。采用这些字体,每个字符的宽度都必须完全相 同,所以小写的 i 和小写的 m 有相同的宽度。这些字体可能有上下短线,也可能没有。如果一个字体的字符宽度完全相同,则归类为 Monospace 字体,而不论是否有上下短线。Monospace 字体的例子包括 Courier、Courier New 和 Andale Mono。

Cursive 字体
这些字体试图模仿人的手写体。通常,它们主要由曲线和 Serif 字体中没有的笔划装饰组成。例如,大写 A 再其左腿底部可能有一个小弯,或者完全由花体部分和小的弯曲部分组成。Cursive 字体的例子包括 Zapf Chancery、Author 和 Comic Sans。

Fantasy 字体
这些字体无法用任何特征来定义,只有一点是确定的,那就是我们无法很容易地将其规划到任何一种其他的字体系列当中。这样的字体包括 Western、Woodblock 和 Klingon。

http://www.w3school.com.cn/css/css_font-family.asp

旅行,媒体宣传

媒体的力量强大,虽然普通人很少发奥运微博,每天满屏的奥运,总会对人造成影响,潜移默化。不看点,聊天都没有话题。现在流传的年轻人出去旅行,gap year,背后肯定有集团在操控舆论,不然不会这么火。就像当年用中国/美国老太太买房子的故事,号召大家贷款买房,刺激房地产一样。
谁在操纵舆论,多半是政府。猜测下,经济不好,大量年轻人无法就业,无法找到满意的工作,号召大家出去溜达,释放工作岗位,给年轻人找点事干。旅行各国都有,但是如此大范围的引导,就不正常。除了政府,还有就是在年轻人游玩中获利的企业,只像是煽风的。


从微博上摘过来,自己写的,旅行没错,我也喜欢,年轻人也确实应该去,但是媒体如此宣传,就有问题。

关于见义勇为

最近看到很多见义勇为的报道,结局大多是悲惨的,悲惨不在于围观的群众,而在于被帮助者的冷漠,他们或者消失,或者说谁让他逞能。
出现这种现象,不能简单的归结于中国人好贱,民族劣根性。
一个完全理智的人,在当前国情下,被帮助后,一旦见义勇为者出现伤亡,玩消失是正常的。
如果见义勇为者没事,多数人会表示感谢,为什么被人捅了,重伤、死了,被帮助者就要玩消失呢?
钱的问题。

受伤住院,或者安慰死亡者的家属,都是一笔不小的数目。
对比被偷被抢几千元,医疗费高达几万甚至几十万,轻易就能让善良的人退却,对于普通人,这么多钱,很容易的就把整个家庭搭进去。
所以才会有,谁让你逞能,谁让你多管闲事这种说法,本来被偷了几千元,我也就损失那么多,你见义勇为伤到了,我还要花更多的钱,我要是不花钱,道义上又说不过去,你见义勇为不是害我吗,干脆玩消失。
对于一个理性的人来说,在损失几千元和几万元之间做对比,结果是显然的。如果再考虑被报复的风险,更是显而易见。
普通人担不起这个责任,在现实面前多数人都会屈服。
在不危及自己生存的情况下,多数人还是善良的,即使危及到自己生存,仍有部分人助人为乐,天生的,难听点叫缺根筋,缺根筋对社会是好的,理性+垃圾制度,每个人都想自我利益最大化,导致社会利益最小化。

为什么会出现这种情况,和很多问题一样,最终归结到社会规则上。
物质上来讲:
没有健全的医疗保障体系,至少对见义勇为者的医疗应该免费,奖金不奖金的是后话。
在没有医疗保障的情况下,谁该为负伤的英雄负责,显然,应该是刺伤他的人,可亡命之徒,有钱吗,送进监狱又如何。
责任旁落,谁该负责,多数情况下都是英雄自己担当。
这是不对的,照传统情理上来看,人们会说,被帮助者有责任为见义勇为者负责,法律上有没有说明,我不清楚。
再不行,可以找政府,但是政府有没有义务为见义勇为者承担责任,我还不清楚。毕竟,你可以报警,至于警方工作不力,那是警方的责任,警方有伤亡,警方自己处理。但当前中国,警方严重渎职。

归根到底,我认为出钱的应该是伤人的歹徒。歹徒不出钱,加刑。
然后是政府。政府不担责,说明不鼓励见义勇为,有事报警,如果警方渎职,失民心。
接着是被救者,不出钱,不担责,我们无话可说,只能道义上谴责。
最后,见义勇为者,肯定要出钱啊,自己的命,肯定自己最在乎,但这是最亏的,做好事,受伤还要自己出钱。
见义勇为可以成为有钱者的活动,就像蝙蝠侠一样。
所以说,如果是我,现在,可能我会热血上头,见义勇为,但是如果我是理智的,我绝对不会去见义勇为,没钱疗伤。

写到这,想到,见义勇为的人,为什么去见义勇为,应该也有原因,物质的?精神的?被迫的?
物质的?
见义勇为,受帮助者会给报酬,有见义勇为奖金,可以出名,以后有好处。
出名,包括树立自己在社会中的形象,倒是有可能。如果为了点钱,不值得,目前不现实。
精神的?
有些人天生就爱助人为乐,缺根筋。
同意。帮助别人,包括见义勇为,满足了自己的精神需求。还可以树立良好的自我内在形象。
被迫的?
没听说过,但是有可能,一群人都不会游泳,都知道你会游泳,你跳还不是不跳?

写了写,又想到,现在的生活真苦逼。刚解决温饱,过上点可以稍微腐败那么一点点点的生活,就要担心自己的安全。
因为有很多人比我们还穷,虽然我们认为自己很穷。就像当年我看到骑山地车的,就觉得,哇,好有钱,终于自己骑上了,觉得没怎么地,可换了个角度想想,是的,很多人认为骑山地车的有钱,可我认为这是纯粹穷逼啊,只能买俩轮的车。多说了
那些比我们穷的人,比我们能闯,愿意冒险,生存能力强。
那些非常有钱的人,穷人根本接近不了他们。
所以,我们一面被非常有钱,有权力的人压迫,一面又要防范被更穷的人威胁到安全。
苦逼的过安稳日子的大众。

minimize any window to tray on Windows

Hidit

http://www.expocenter.com/hideit/

This is the home page of Hide-it! a small freeware Windows 95 and Windows NT 4.0 applett that allows you to hide applications from the desktop and the Alt-Tab chain.

Features

Do you use some application that you must keep running all day long, but you don't really need to check often? Do you run MS Exchange as a network FAX server and should keep it always open? Hide-It is for you!

Hide-it allows you to hide any application window and it's button in the taskbar, the application is also removed from the Alt-Tab chain, so it won't disturb your task switching, it's just as if it wasn't there. You can later access it's window un-hiding it, you just need to right-click in the small Hide-it's icon in the system tray area and select it.

Hide-it was top rated in Tucows, click below to see the review.

Latest Version

The last version is 1.1 , released on March 1996.
Download

Hide-it is only 74 Kb, You can always download the most recent version from this web, else you can try ftp.winsite.com. You will also find it in mirrors of this site. Hide-it is Freeware!
Next release suggestions

Is there any feature you would like to see in the next release?, please e-mail me.
Contacting Author

Do you have any question or comment? E-Mail me at german (at) expocenter.com
Other software from the same autor

CronoDrive: a J2ME midlet, for Java enabled mobile phones. It takes time statistics while you drive usual routes.

This page has been accessed times since 8-11-1996

All contents (c) 1996-2003 by German Salvador

Solaris ps 输出过短

use:
/usr/ucb/ps -auxwww | grep java


Note that "ps -aux" is distinct from "ps aux". The POSIX and UNIX standards require that "ps -aux" print all processes owned by a user named "x", as well as printing all processes that would be selected by the -a option. If the user named "x" does not exist, this ps may interpret the command as "ps aux" instead and print a warning. This behavior is intended to aid in transitioning old scripts and habits. It is fragile, subject to change, and thus should not be relied upon.

On solaris 11, we can also use,
ps auxw


For Java use jps - http://docs.oracle.com/javase/6/docs/technotes/tools/share/jps.html

solaris 11 中文支持

solaris 11 默认安装过程中,并不安装GBK或者GB18030支持,只有UTF8
所以我们要手动安装
root@s11:~# pkg search zh_CN.GB18030
INDEX ACTION VALUE PACKAGE
basename dir usr/share/stdcxx4/locale/zh_CN.GB18030 pkg:/library/c++/stdcxx@4.2.1-0.175.0.0.0.2.537
basename dir usr/lib/locale/zh_CN.GB18030 pkg:/system/locale/extra@0.5.11-0.175.0.0.0.1.765
basename link usr/ddu/i18n/zh_CN.GB18030 pkg:/diagnostic/ddu/locale@0.5.11-0.175.0.0.0.1.765
basename link usr/share/locale/zh_CN.GB18030 pkg:/system/locale/extra@0.5.11-0.175.0.0.0.1.765
basename dir usr/share/X11/locale/zh_CN.gb18030 pkg:/x11/library/libx11@1.4.4-0.175.0.0.0.0.1215

root@s11:~# pkg install system/locale/extra

root@s11:~# locale -a | grep zh_CN
zh_CN.EUC
zh_CN.EUC@pinyin
zh_CN.EUC@radical
zh_CN.EUC@stroke
zh_CN.GB18030
zh_CN.GB18030@pinyin
zh_CN.GB18030@radical
zh_CN.GB18030@stroke
zh_CN.GBK
zh_CN.GBK@pinyin
zh_CN.GBK@radical
zh_CN.GBK@stroke
zh_CN.UTF-8
zh_CN.UTF-8@pinyin
zh_CN.UTF-8@radical
zh_CN.UTF-8@stroke