八月 5th, 2010

vi下汉字乱码

No Comments, 生活杂记, by bluefox012, 52 views.

其实这是一个小问题,很经常碰到,就是用gedit编辑完文件之后,用vi打开,里头的很多汉字注释全成了乱码,这一看就是编码问题,但是一直没去找怎么修改配置文件,今天就找了一下,大致知道原因了。
由于在gedit下,我使用的输入法是fcitx,fcitx默认是gb编码,而我的vim默认是utf-8(我查了一下,好像gedit默认也是utf-8),所以打开会成乱码。修改了一下配置文件,使vi支持gb编码就好了。
修改.vimrc:
let &termencoding=&encoding
set fileencodings=utf-8,gbk

再次打开vi,显示就正常了。

转载地址:http://windflush.cn/blog/?p=54

八月 3rd, 2010

linux-sed-非交互性文本流编辑器

No Comments, 生活杂记, by bluefox012, 42 views.
Sed是一个非交互性文本流编辑器。它编辑文件或标准输入导出的文本拷贝

实例

1.行的匹配
[root@mypc /]# sed -n ‘2p’ /etc/passwd 打印出第2行
[root@mypc /]# sed -n ‘1,3p’ /etc/passwd 打印出第1到第3行
[root@mypc /]# sed -n ‘$p’ /etc/passwd 打印出最后一行
[root@mypc /]# sed -n ‘/user/’p /etc/passwd 打印出含有user的行
rpc:x:32:32:Portmapper RPC user:/:/sbin/nologin
rpcuser:x:29:29:RPC Service User:/var/lib/nfs:/sbin/nologin
[root@mypc /]# sed -n ‘/\$/’p /etc/passwd 打印出含有$元字符的行,$意为最后一行

2.插入文本和附加文本(插入新行)
[root@mypc /]# sed -n ‘/FTP/p’ /etc/passwd 打印出有FTP的行
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
[root@mypc /]# sed ‘/FTP/ a\ 456′ /etc/passwd 在含有FTP的行后面新插入一行,内容为456
[root@mypc /]# sed ‘/FTP/ i\ 123′ /etc/passwd在含有FTP的行前面新插入一行,内容为123
[root@mypc /]# sed ‘/FTP/ i\ “123″‘ /etc/passwd在含有FTP的行前面新插入一行,内容为”123″
[root@mypc /]# sed ‘5 a\ 123′ /etc/passwd 在第5行后插入一新行,内容为123
[root@mypc /]# sed ‘5 i\ “12345″‘ /etc/passwd 在第5行前插入一新行,内容为”12345″

3.删除文本
[root@mypc /]# sed ‘1d’ /etc/passwd 删除第1行
[root@mypc /]# sed ‘1,3d’ /etc/passwd 删除第1至3行
[root@mypc /]# sed ‘/user/d’ /etc/passwd 删除带有user的行

4. 替换文本,替换命令用替换模式替换指定模式,格式为:
[ a d d r e s s [,address]] s/ pattern-to-find /replacement-pattern/[g p w n]
[root@mypc /]# sed ’s/user/USER/’ /etc/passwd 将第1个user替换成USER,g表明全局替换
[root@mypc /]# sed ’s/user/USER/g’ /etc/passwd 将所有user替换成USER
[root@mypc /]# sed ’s/user/#user/’ /etc/passwd 将第1个user替换成#user,如用于屏蔽作用
[root@mypc /]# sed ’s/user//’ /etc/passwd 将第1个user替换成空
[root@mypc /]# sed ’s/user/&11111111111111/’ /etc/passwd 如果要附加或修改一个很长的字符串,可以使用( &)命令,
&命令保存发现模式以便重新调用它,然后把它放在替换字符串里面,这里是把&放前面
[root@mypc /]# sed ’s/user/11111111111111&/’ /etc/passwd 这里是将&放后面

5. 快速一行命令
下面是一些一行命令集。([ ]表示空格,[ ]表示t a b键)
‘s / \ . $ / / g’ 删除以句点结尾行
‘-e /abcd/d’ 删除包含a b c d的行
‘s / [ ] [ ] [ ] * / [ ] / g’ 删除一个以上空格,用一个空格代替
‘s / ^ [ ] [ ] * / / g’ 删除行首空格
‘s / \ . [ ] [ ] * / [ ] / g’ 删除句点后跟两个或更多空格,代之以一个空格
‘/ ^ $ / d’ 删除空行
‘s / ^ . / / g’ 删除第一个字符
‘s /COL \ ( . . . \ ) / / g’ 删除紧跟C O L的后三个字母
‘s / ^ \ / / / g’ 从路径中删除第一个\
‘s / [ ] / [ ] / / g’ 删除所有空格并用t a b键替代
‘S / ^ [ ] / / g’ 删除行首所有t a b键
‘s / [ ] * / / g’ 删除所有t a b键 ssh
如果使用s e d对文件进行过滤,最好将问题分成几步,分步执行,且边执行边测试结果。

七月 22nd, 2010

godaddy.com VPS购买图文教程

No Comments, linux学习, by admin, 56 views.

godaddy.com VPS购买图文教程

注册用户,并且选购所需要的产品我就不演示了,

这边从加到购物车后在点check out开始,

2010年优惠码: fbgdhome20 订单总额优惠20%

优惠码使用方法:在Review Your Shopping Cart下方有个输入code的地方

Enter your promo or source code,输入code,点击apply code,优惠码如果生效,在购物车上会马上显示出来

点击checkout for paypal,对国内来说支付宝更实用一些,但本次只演示paypal支付

接下来会要求你输入paypal的账号跟密码,用以创建结算协议

创建完成后,会自动转到godaddy.com的payment页面,查看订单没有问题后。

在Enter in a friendly name to identify this PayPal account:(见下图安全商家账户ID)

再点击I have read and agree to th terms and conditions of the: 按钮,同意协议。

点击PLACE ORDER NOW.

PayPal安全商家账户ID,点击用户信息可以查看到。

购买成功后,可以在myproducts中查看到自己购买的产品

七月 1st, 2010

“成熟”经销商的发展危机(转)

No Comments, 营销管理, by bluefox012, 73 views.

原贴地址如下:

http://www.youshang.com/content/2010/07/01/24983.html

经销商队伍发展滞后需引起重视和引导

经销商群体作为一个整体,其队伍的发展问题,一直是营销界比较困惑的问题。由于经销商与制造商队伍发育的整体滞后性,经销商在营销界一直缺乏代 言人。经销商在厂商关系上的弱势是经销商的发展历史造成的,加上在制造商与经销商合作的过程中,制造商的代言人对经销商进行所谓的“愚商”教育,经销商队 伍的自身发展问题,一直期待着营销界的重视和正确的引导。

我们通常说的经销商队伍是个什么群体呢?他们大概是这样一群人:从制造商那里获得一定的授权,通过付费的方式购进产品或服务,依靠自身的资源或 优势,向下线客户提供有价值的产品或服务,自身获得有价值的回报。他们的核心优势是分销功能,在整个的营销价值链中起到物流、仓储、资金、分销等不可替代 的职能。

由于中国改革开放时间较短,经销商队伍发育成熟度不够,整个经销商队伍素质参差不齐。行业不一样,经销商的发育水平也不一样。一个自然人可以承 担起上述职能,一个组织也可以承担起这个职能。做得好坏大小差异很大。而典型的经销商的画像是这样的:拥有2-3台车,7-8个人, 经销了两三个品牌,小姨子是会计,老婆在家看着门店,司机是外甥,业务员是侄子。老板不用给自己定发展目标,每天货款卖完了钱交上来,也不用做记账,反正 是肉烂在锅里。赚了多少不知道,仓库里的产品过期了也不知道,未来怎么拓展市场不知道。这样的管理状态很难肩负起市场拓展的重任。经销商队伍的整体发展滞 后已经阻碍了整个中国营销水平的提高,经销商队伍的管理水平急需提升。

不同行业的经销商发育成熟度差别很大

不同行业的经销商发育成熟度差别很大。对于快速消费品行业而言,随着行业竞争度的加剧,产品的同质化严重。制造商为了获得渠道优势,在渠道上普 遍推行以渠道精耕和销售工作重心下沉为内容的渠道策略。这主要是源于快消品领域的经销商整体能力落后。在以流通为主渠道的渠道结构状况下,价格低和服务好 成了经销商的核心竞争力,而这两项竞争要素都构成不了形成壁垒的竞争优势。经销商队伍进入门槛较低,于是经销商队伍整体的落后性便不可避免。这些行业经销 商的经营特点是规模小、利润低、缺乏专业的营销队伍、管理落后。而制造商的渠道策略会进一步恶化经销商在厂商合作中的地位,经销商在渠道价值链中的资金功 能、配送功能会体现的越来越突出。在这种厂商合作模式下,当众多的、规模不大的经销商开始不满于经营现状(区域小、利润低、受制于厂家)的时候,一些经销 商开始转行、转型、或退出,经销商的数量会大幅度地减少,能够存活下来的经销商在厂商合作中的谈判地位会得到明显改善。这些经销商必然会寻求扩大经销区 域,增加经销品种、增加经销利润等要求。另一方面,在厂商合作中尝够“渠道过度下沉”、“厂家承担职能过多造成费用居高不下”苦头的制造商逐渐地推动快速 消费品行业厂商职能分工重新界定,经销商队伍快速整合与整体水平提升的原因有很多,基础原因是经销商行业利润率的普遍降低及制造商对渠道中心下沉和通路精 耕策略的反思,直接原因是制造商上游原材料、运费等各项经营费用上涨带来的成本压力及以渠道结构中商超渠道的快速崛起为主的渠道变革。基于上述原因,经销 商与厂家之间的分工界定趋向合理,经销商的价值和地位得以重新认定和回归。

白酒类行业与快消品行业的厂商职责分工的形成路径有很大的不同。白酒是在家门口的国际化市场竞争中最“中国”最纯粹的本土行业。白酒作为一种文 化或精神产品,特别是全国化的高端品牌,其附加值一直较高,其厂商职责分工更倾向于理性意义上的厂商职责分工:厂家承担品牌建设及产品的研发和生产职能, 经销商承担市场拓展、渠道建设等职能。虽然就影响厂商职责分工的因素中同样有与快消品行业一样的要素,但由于中国特有的渠道历史(国有副食品公司、国有糖 酒公司为最早的白酒品牌的经销商)及白酒经销商的利润较高对业外资本(综合能力较强的经销商)的吸引,加上中国白酒企业制造商的体制(普遍为国有企业)带 来的整体管理水平落后,在白酒业的厂商分工中,经销商一直处于较为主导的地位。随着高端白酒行业中团购渠道的兴起和主导,对于一些品牌力不强的全国化的高 档品牌而言,拓展市场所必须的公关能力、人脉资源、营销策划能力等要素成为构成经销商的核心竞争优势和竞争力,拥有资源的经销商在厂商合作中的主导地位会 进一步提升。或者说,理性意义上的厂商分工会在白酒业率先实现。“大商”时代在白酒业提前到来。

“成熟”经销商的管理方法与其规模相比严重滞后

不同行业的经销商主导职能不同,特定的行业发展历史成就了不同行业厂商合作中的经销商的地位。白酒业的发展历史及高档酒的竞争趋势会进一步提升 白酒经销商在厂商合作中的主导地位。白酒业的经销商相对于方便面、饮料、啤酒、洗化等快消品而言,其核心职能发育较为完善。从这个意义上来说,我们将这些 拥有全国化领袖品牌经销权,在自己区域市场成为同行中的前三名,且其核心职能发育较为完善的经销商称之为“成熟”的经销商。同时,由于其在整个队伍中的暂 时领先甚或骄傲,其在业务多元化上的无序甚或投资失误,导致其在业务单元管理上的方向性错误;其在基础业务白酒的经销上失误频出;内部管理、市场拓展、团 队建设、绩效考核等方面的问题严重;人才流失严重;现有员工出工不出力;部门建设是有部门无职能发挥;老顾客流失严重而新顾客开发不来;业务靠吃老本(过 去打下的基础);新代理的品牌没有一个在自己手中成活或真正有效拓展(或者品牌与市场地位极其不匹配)……

所有这些普遍现象,反映一个共同的问题:“成熟”经销商发展无战略,管理无章法,目标无落实。他们大部分还在用创业时简单粗放的方法来管理现在 规模已经高达数亿的大公司(集团),落后管理的危机隐藏在日常细节中,没有危机成了“成熟”经销商最大的危机。

成熟的经销商应该因时而动,快速的调整不适应的管理,以便更加成熟和稳健的发展。

六月 13th, 2010

安于现状等于等死

No Comments, 生活杂记, by bluefox012, 86 views.

社会竞争太残酷,今天你的成就,知识、人脉或者得到一定的积累,但你不可以安于现状,因为当你停止前进步伐的时候,你的竞争对手不但不会停止,而会以更快的速度追赶,超越。你不前进,你身边的人他们前进了,他们渐渐跑步甩开你,而你在原地停止,那你很快会失去这些身边的人。

居安思危,忧患意识对于身在管理岗位上的人要时刻提醒自己,要成为领跑人,而不是追随者。

做企业一定要跑步,如果你认真观察,那些原地踏步,不创新,不突围的企业,往往都活的很艰难,往往都在生存线增长。

几年下来,利润没增长,组织架构臃肿,老板就会想,同样这些人,以前还小有赚钱,现在怎么基本上都在利润边缘徘徊。

一年这样,两年这样,到第三年,股东们就熬不住了,我投资是为了赚钱,一年又一年的喝西北风,谁都无法接受,

于是企业开始股份重组,重新洗牌,注入新血液,这就是突围。

当然,大多数的家族型企业在股份重组的时候就不会那么顺利,会面临很多类似的问题

Debian GNU/Linux system are free software!

使用源码方式安装,再从使用apt安装的机器上拷一个proftd shell手工改造。

root@test01:/home/proftpd/etc# /etc/init.d/proftpd start
ProFTPd warning: cannot start neither in standalone nor in inetd/xinetd mode. Check your configuration.

查看proftpd.conf

root@test01:/home/proftpd# vi proftpd.conf

ServerName                      "TEST"
ServerType                      standalone
DefaultServer                   on

明明服务类型是standalone,真的是百思不得其解

尝试直接使用 sbin/proftpd 进行启动,再使用ps -axvf,进程里面有proftpd。

21369 ?        Ss     0:00      0   461  2438  1112  0.1 proftpd: (accepting connections)

太怪了,初步怀疑/etc/init.d/proftpd这个文件 有问题,

重新调整了一下里面的一些代码:

#!/bin/sh

### BEGIN INIT INFO
# Provides:          proftpd
# Required-Start:    $syslog $local_fs $network
# Required-Stop:     $syslog $local_fs $network
# Should-Start:      $remote_fs $named
# Should-Stop:       $remote_fs $named
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Starts ProFTPD daemon
# Description:       This script runs the FTP service offered
#                    by the ProFTPD daemon
### END INIT INFO

# Start the proftpd FTP daemon.

PATH=/bin:/usr/bin:/sbin:/usr/sbin:/home/proftpd/bin:/home/proftpd/sbin
DAEMON=/home/proftpd/sbin/proftpd
NAME=proftpd

# Defaults
RUN="no"
OPTIONS=""

PIDFILE=`grep -i 'pidfile' /home/proftpd/etc/proftpd.conf | sed -e 's/pidfile[\t ]\+//i'`
if [ "x$PIDFILE" = "x" ];
then
#    PIDFILE=/var/run/proftpd.pid
PIDFILE=/home/proftpd/var/proftpd.pid
fi

# Read config (will override defaults)
[ -r /etc/default/proftpd ] && . /etc/default/proftpd

trap "" 1
trap "" 15

test -f $DAEMON || exit 0

. /lib/lsb/init-functions

#
# Servertype could be inetd|standalone|none.
# In all cases check against inetd and xinetd support.
#
if ! egrep -qi "^[[:space:]]*ServerType.*standalone" /home/proftpd/etc/proftpd.conf

echo "RUN$RUN"   #加入输出,竟然就可以了,不知道何解
echo "INETD$INETD"

then
if [ $(dpkg-divert --list xinetd|wc -l) -eq 1 ]
then
if egrep -qi "server[[:space:]]*=[[:space:]]*/home/proftpd/sbin/proftpd" /etc/xinetd.conf 2>/dev/null || \
egrep -qi "server[[:space:]]*=[[:space:]]*/home/proftpd/sbin/proftpd" /etc/xinetd.d/* 2>/dev/null
then
RUN="no"
INETD="yes"
else
if ! egrep -qi "^[[:space:]]*ServerType.*inetd" /home/proftpd/etc/proftpd.conf
then
RUN="yes"
INETD="no"
else
RUN="no"
INETD="no"
fi
fi
else
if egrep -qi "^ftp.*/home/proftpd/sbin/proftpd" /etc/inetd.conf 2>/dev/null
then
RUN="no"
INETD="yes"
else
if ! egrep -qi "^[[:space:]]*ServerType.*inetd"  /home/proftpd/etc/proftpd.conf
then
RUN="yes"
INETD="no"
else
RUN="no"
INETD="no"
fi
fi
fi
fi

# /var/run could be on a tmpfs

[ ! -d /var/run/proftpd ] && mkdir /var/run/proftpd

start()
{
log_daemon_msg "Starting ftp server" "$NAME"

start-stop-daemon --start --quiet --pidfile "$PIDFILE" --oknodo --exec $DAEMON -- $OPTIONS
if [ $? != 0 ]; then
log_end_msg 1
exit 1
else
log_end_msg 0
fi
}

signal()
{

if [ "$1" = "stop" ]; then
SIGNAL="TERM"
log_daemon_msg "Stopping ftp server" "$NAME"
else
if [ "$1" = "reload" ]; then
SIGNAL="HUP"
log_daemon_msg "Reloading ftp server" "$NAME"
else
echo "ERR: wrong parameter given to signal()"
exit 1
fi
fi
if [ -f "$PIDFILE" ]; then
start-stop-daemon --stop --signal $SIGNAL --quiet --pidfile "$PIDFILE"
if [ $? = 0 ]; then
log_end_msg 0
else
SIGNAL="KILL"
start-stop-daemon --stop --signal $SIGNAL --quiet --pidfile "$PIDFILE"
if [ $? != 0 ]; then
log_end_msg 1
[ $2 != 0 ] || exit 0
else
log_end_msg 0
fi
fi
if [ "$SIGNAL" = "KILL" ]; then
rm -f "$PIDFILE"
fi
else
log_end_msg 0
fi
}

case "$1" in
start)
if [ "x$RUN" = "xyes" ] ; then
start
else
if [ "x$INETD" = "xyes" ] ; then
echo "ProFTPd is started from inetd/xinetd."
else
echo "ProFTPd warning: cannot start neither in standalone nor in inetd/xinetd mode. Check your configuration."
fi
fi
;;

force-start)
if [ "x$INETD" = "xyes" ] ; then
echo "Warning: ProFTPd is started from inetd/xinetd (trying to start anyway)."
fi
start
;;

stop)
if [ "x$RUN" = "xyes" ] ; then
signal stop 0
else
if [ "x$INETD" = "xyes" ] ; then
echo "ProFTPd is started from inetd/xinetd."
else
echo "ProFTPd warning: cannot start neither in standalone nor in inetd/xinetd mode. Check your configuration."
fi
fi
;;

force-stop)
if [ "x$INETD" = "xyes" ] ; then
echo "Warning: ProFTPd is started from inetd/xinetd (trying to kill anyway)."
fi
signal stop 0
;;

reload)
signal reload 0
;;

force-reload|restart)
if [ "x$RUN" = "xyes" ] ; then
signal stop 1
sleep 2
start
else
if [ "x$INETD" = "xyes" ] ; then
echo "ProFTPd is started from inetd/xinetd."
else
echo "ProFTPd warning: cannot start neither in standalone nor in inetd/xinetd mode. Check your configuration."
fi
fi
;;

status)
if [ "x$INETD" = "xyes" ] ; then
echo "ProFTPd is started from inetd/xinetd."
else
if [ -f "$PIDFILE" ]; then
pid=$(cat $PIDFILE)
else
pid="x"
fi
if [ `pidof proftpd|grep "$pid"|wc -l` -ne 0 ] ; then
echo "ProFTPd is started in standalone mode, currently running."
else
echo "ProFTPd is started in standalone mode, currently not running."
fi
fi
;;

check-config)
$DAEMON -t >/dev/null && echo "ProFTPd configuration OK" && exit 0
exit 1
;;

*)
echo "Usage: /etc/init.d/$NAME {start|status|force-start|stop|force-stop|reload|restart|force-reload|check-config}"
exit 1
;;
esac

exit 0

apt-get remove 包名称报如下错误

E: Sub-process /usr/bin/dpkg returned an error code (1)

参考文档如下:

http://www.linuxforums.org/forum/debian-linux-help/133537-subprocess-usr-bin-dpkg-returned-error-code-1-a.html

解决方案:

1. Open terminal, type(打开终端,进入如下目录)

cd /var/lib/dpkg/info

2. Remove the info files for the bad packages (WARNING, this is dangerous in some cases): Type

删除该目录下含有该软件包名称的文件
sudo rm -f <badPackageNameThatWasn'tInstalledInYourCase>*

3.重新APT-GET

sudo apt-get update -f

and

sudo apt-get upgrade,
最后apt install 即可

sudo apt-get install <packageThatCouldn'tBeInstalledPreviously>

网上也有流转修改info的方案,这种方法试过了还是不行

此时可以这样解决:
cd /var/lib/dpkg
sudo mv info info.bak
sudo mkdir info

五月 17th, 2010

恒大地产借八五折玩了一把央视

No Comments, 营销管理, by bluefox012, 104 views.

早上起来,听到新闻里报道恒大总裁亲自出面澄清,恒大地产所有的楼盘全部执行八五折政策,而且还会长期执行下去。

回想前几天新闻爆出恒大某些楼盘特价八五折,到现在恒大全面执行八五折,各地楼盘买房人火爆看房买房的产面。

恒大老套的借力打力营销手法,果然使用的是如火纯青。

在中央政策的打压下,全国购房者持币观望,全国房产商都保价观望,恒大先是使用小歧俩,在某些试点进行房价打折促销,故意吸引新闻媒体关注。

在媒体的大力宣传下,顺水推舟,就势促销,必定会引起楼市销售狂潮。

2010经典营销案例,应该会有恒大地产这一页。

09年10月份,贪图便宜购买

www.webhostingpad.com  $1.99美刀/月的套餐(Plan: Power Plan IP Address: 69.65.3.143)

一次性购买了3年,同时使用了购买空间时赠送的域名。

总共花了71.64美刀

今年3月份初,由于国内网通及铁通无法访问网站IP,可能由于该网站绑定的其它域名被河蟹,导致全线无法访问。

情急之下,发邮件向webhostingpad客服询问购买IP事宜,没想到客服的服务真是太积极了,没有告诉我价格,也没有征得我同意,就直接从信用卡中划走了30美刀。向客服申请要求退款,可是客服却说无法退款。

感觉就跟打劫一样,由于购买的时候使用朋友的信用卡,只能让我朋友去办理信用卡冻结,并且不承认该笔交易。

就在冻结后的,3月底,访问网站发现提示"Account suspended. Please contact the support team."

急忙用注册时分配的账号及密码登录,cpanl、FTP、官网发现均无法登录。连网站的数据都无法备份。

多次联系客服询问账号为何禁用,没有得到回复。后想想空间如果停用就算了,至少得把域名转出来吧。

联系客服转域名事宜,客服问及原因后也没有音讯,崩溃啊。

如此不讲信誉,无耻扣款的公司还真是第一次碰到,无奈英文不好,要不真想打个越洋电话过去骂一下。

综上所述:总结以下几点:

1.跨境交易,最好不要直接使用信用卡关联任何网站,保险起见,还是使用PAYPAL进行付款交易。这样不但账单及扣款明细清晰,而且在支付的时候享有自主权。不会因为关联而被强行扣款。

2.谨慎使用购买空间时赠送的域名,因为一旦空间被查封,也同时意味着域名都无法转出,造成的损失无法估量。而且赠送的域名续费贼贵,一点都不合算

3.一分钱一分货,图便宜吃大亏

20100722  最新进展状态通报

上次让我朋友去办理信用卡冻结,并且不承认该笔交易。后面银行说什么争议要解决还要到什么国际法庭上,需要支付550美金,不想把事情闹大,就不回复争议,默认扣款,结果被扣了35美金。

事情还没完,扣走35美金后,空间跟域名还是没开通,问了客服,结果客服回复如下:

Hello,

It looks like you did a chargeback on the account.

There is a 25 dollar fee to open the account backup.
Andrew
Technical Support / Billing Manager
www.webhostingpad.com

Ticket Details
===================
Ticket ID: LYU-300556
Department: Billing
Priority: Medium
Status: On Hold

让我再交25美刀才开通账户 ,真的是肺都要气炸了,真是遇到牛X的公司了。

马上让我朋友注销信用卡,在这上面花的时间跟精力太多了。就让这个事画上句号吧。

#解决samba中smbd无法启动的故障

root@CraftsoftServer1:/lib# uname -a
Linux CraftsoftServer1 2.6.26-2-686 #1 SMP Tue Mar 9 17:35:51 UTC 2010 i686 GNU/Linux
问题描述:
启动smbd,启动后没有在进程里面找到。查看samba日志,发现如下提示信息:
root@CraftsoftServer1:/lib#vi /usr/local/samba/var/log.smbd

[2010/04/27 16:30:14, 0] smbd/server.c:1119(main)
smbd version 3.5.2 started.
Copyright Andrew Tridgell and the Samba Team 1992-2010
[2010/04/27 16:30:14.835195, 0] smbd/server.c:1165(main)
standard input is not a socket, assuming -D option
[2010/04/27 16:30:14.840195, 0] lib/fault.c:46(fault_report)
===============================================================
[2010/04/27 16:30:14.840310, 0] lib/fault.c:47(fault_report)
INTERNAL ERROR: Signal 6 in pid 3435 (3.5.2)
Please read the Trouble-Shooting section of the Samba3-HOWTO
[2010/04/27 16:30:14.840365, 0] lib/fault.c:49(fault_report)

From: http://www.samba.org/samba/docs/Samba3-HOWTO.pdf
[2010/04/27 16:30:14.840409, 0] lib/fault.c:50(fault_report)
===============================================================
[2010/04/27 16:30:14.840444, 0] lib/util.c:1465(smb_panic)
PANIC (pid 3435): internal error
[2010/04/27 16:30:14.844211, 0] lib/util.c:1569(log_stack_trace)
BACKTRACE: 17 stack frames:
#0 /usr/local/samba/sbin/smbd(log_stack_trace+0x2d) [0xb7ab1611]
#1 /usr/local/samba/sbin/smbd(smb_panic+0x78) [0xb7ab175e]
#2 /usr/local/samba/sbin/smbd [0xb7aa0b78]
#3 [0xb7754400]
#4 /lib/i686/cmov/libc.so.6(abort+0x188) [0xb7548018]
#5 /usr/lib/libtalloc.so.1(talloc_free+0x22d) [0xb731d51d]
#6 /usr/lib/libwbclient.so.0(wbcSidToString+0xf3) [0xb768e899]
#7 /usr/lib/libwbclient.so.0(wbcSidToGid+0x6f) [0xb768debd]
#8 /usr/local/samba/sbin/smbd(winbind_sid_to_gid+0x39) [0xb7a7bafd]
#9 /usr/local/samba/sbin/smbd(sid_to_gid+0x12b) [0xb7a6d645]
#10 /usr/local/samba/sbin/smbd(create_local_nt_token+0x31f) [0xb7b0a32b]
#11 /usr/local/samba/sbin/smbd(get_root_nt_token+0x15a) [0xb7b0a907]
#12 /usr/local/samba/sbin/smbd(svcctl_init_keys+0x2e) [0xb79cc717]
#13 /usr/local/samba/sbin/smbd(registry_init_full+0x85) [0xb7de0775]
#14 /usr/local/samba/sbin/smbd(main+0xa8c) [0xb7e08eb9]
#15 /lib/i686/cmov/libc.so.6(__libc_start_main+0xe5) [0xb7531455]
#16 /usr/local/samba/sbin/smbd [0xb781b311]
[2010/04/27 16:30:14.844546, 0] lib/fault.c:326(dump_core)
dumping core in /usr/local/samba//var/cores/smbd

#主要原因应该是samba 3.5.2 库文件没有链接成功造成的
查看库文件所在位置
root@CraftsoftServer1: find / -name libwbclient\*
查找到/usr/local/samba/lib/libwbclient.so
root@CraftsoftServer1:/lib# vi /etc/ld.so.conf.d/samba.conf
输入如下行:
/usr/local/samba/lib
保存退出
root@CraftsoftServer1:/lib# ldconfig #重要,只有执行ldconfig 才可以让新库链接生效
运行smbd
root@CraftsoftServer1:/lib#/usr/local/samba/sbin/smbd -D
root@CraftsoftServer1:/lib# ps -axvf | grep smbd
过滤查看是否启动成功