2007年7月27日星期五

MT主机控制面板Plesk合租用户使用指南

我们是7月19号租下的主机,看到有些邻居拿到控制面板权限之后不知道该怎么用,决定写下这篇指南,希望对大家有帮助,同时也能让大家了解一下MT的控制后台。我们目前使用的Plesk版本是8.2.0。

首先使用管理账号分配一下合租用户demo,权限和其他合租用户一样,但是一些服务器管理相关的界面就看不到了。为了陈述准确,主要按照英文操作界面讲解,使用中文界面的同学请自行对应一下。说明顺序主要是按照菜单的顺序来讲,不过看完之后相信你应该知道怎么用了。

登录控制面板,地址为https://fwolf.com:8443,在第三个选择框中可以选择中文操作界面CHINESE(CHINA):
登录控制面板

登录进去以后,Plesk会首先要求你输入一些个人信息,建议除了邮件地址,其他的随意输就可以了,当然也可以改掉我给你们分配的初始密码:
输入个人信息

然后,就进入了正式的管理页面,首先显示的是Desktop页,先看右边,Plesk News部分基本上占据了整个屏幕,不过这都是和Plesk相关的一些新闻,比如说这个版本有什么新功能之类的,不用管它,重要的东西在下面:
Desktop页的快捷管理链接

这里是Plesk的一些快捷管理链接,比较常用的管理功能放在了这里,以及你目前已经使用的磁盘空间、带宽情况。虽然比较方便,但是不推荐大家使用这里来进行设置,尤其是不太熟悉的时候,比如neo在这里删除域名的时候就不成功,而使用正常管理功能就没事了 ,Plesk也不见得就没有bug嘛。

右边基本上就这么多东西了,再来看看左边的仿XP风格菜单:
菜单

从上到下,依次是:

  • Desktop,就是你刚进来的时候看到的那一页,没啥用。
  • Home,所有完整管理功能都在这里了,后面我详细介绍。
  • Sessions,谁同时在使用web控制面板和ftp。
  • Log out,退出控制面板。
  • Help,帮助,好像有中文,不过听说翻译得挺次。

账号管理

下面,开始介绍Home里的管理功能,先看一下界面:
Home screen

Tools组功能

  • Edit,编辑账号信息,登录密码、电话、邮箱什么的,基本上第一次登录时要求输入的信息都可以在这里更改,再次说明,这只是Plesk要求用户输入的内容而已,和主机的管理和设置没有什么太大关系。
  • Report,本账号的相关信息及总体资源使用报告,里面还有一个Bandwidth Usage History可以查看带宽占用的历史情况。
  • Preferences,个人选项,里面可以选择Interface language界面语言(比如换成中文的);Interface skin界面的外观,不建议修改;Allow multiple sessions是否允许多人使用这个管理账号同时在线,一般这个选项我是不关的,关闭它的唯一好处就是当你登录的时候别人用你的账号就进不来了,鸡肋;最后一项字比较多的 Prevent users from working with the control panel until interface screens are completely loaded.意思是当页面还没有加载完的时候,不让用户进行任何操作,建议打勾,页面没下载完的时候会显示一个载入中的标记。
  • Permissions,用户的权限,在这里你能看到自己拥有访问控制面板、创建域名、管理物理主机、管理php的safe模式等各种权限,合租用户的设置都是一样的,当然也关闭了一些用不到或者不开放的权限。
  • Limits,用户的限制,也就是用户一共被分配了多少资源,在这个页面你能看到自己拥有1个域名,无限个子域名或别名,1000MB磁盘空间,50G月流量等资源。
  • IP Pool,ip池,看看自己被分配了哪些/个ip地址,我们只有一个ip,所以大家就共用这一个了,此项不用更改。
  • Skeleton,home目录模板管理,强烈建议不要修改,并且依照模板创建的实际文件owner是root,用户通过ssh上去也更改不了,这些限制是必要的,因为每个目录都有特定的功能,比如httpdocs就是主页文件所在的目录,你要事擅自把它改成别的名字,网站就无法访问了。
  • Logo Setup,设置自己的图标,无用功能。
  • Custom Buttons,自定义按钮,把常用功能添加到左边的菜单或者Desktop页面,建议熟悉了以后再研究这个,不过也没人天天登上来研究这个吧?
  • Backup,备份,可以备份账户信息、域名以及域名下所有上传的文件,可以定时、分卷备份,备份文件还可以上传和下载,可以从备份文件中恢复文件及设置,是一个非常方便的功能。本来还可以自动把备份文件上传到其他ftp服务器上的,但我没有开此功能。
  • Add New Domain,添加域名,这就是创建网站的第一步了,后面详细讲。
  • Domain Templates,域名模板,管理多个域名的时候,通过模板能够方便设置过程,不过我们用不到。
  • Register,注册域名,不过是连到https://myplesk.com/网站的,大家还是自行到大服务商去注册域名吧,不建议使用此功能。
  • Manage,管理你在https://myplesk.com/注册的域名,同上条,无用。
  • MyPlesk.com,参见上两条,到https://myplesk.com/为你的域名购买附加的管理工具,不建议使用。
  • Traffic,当前账户下所有域名和子域名的资源占用情况。

Info组功能,目前资源使用情况一览,比如:

1 domains, 1 active domains, 86.4 MB disk space used, 459 MB traffic used

Domains组,添加了域名或子域名之后会在这里显示列表。

域名管理

现在我们就需要点上面说的Add New Domain按钮把我们的域名添加进来:
添加域名

Domain name是必填的,在创建顶级域名之前是不能创建子域名的,www建议也勾选上,Select template是选择域名模板,我们用不到,Select an IP addressIP地址也不用选,后面的Proceed to hosting setup要打勾,剩下的就是一些账号信息不用动,点ok进入主机类型设置页面:
主机设置页面

首先注意一下最上面的警告信息:

Warning: The domain resolves to another IP address (65.214.57.173). Please correct DNS settings.

当你添加域名的时候,如果此时域名并没有解析到我们的主机地址,就会出现这条提示,因为在你做好ip地址解析之前,在Plesk中再怎么设置,也是看不见效果的。我演示时添加的域名是demo.com,这个域名至少价值百万,要真是我的就好喽。

下面选择Hosting type主机类型,有三种可选:

  • Physical hosting,物理主机,就是主机放在本服务器上,我们都要选这项。
  • Standard forwarding,标准转发,就是你访问demo.com的时候,我给你跳转到google.com。
  • Frame forwarding,带frame的转发。

选好之后ok进入主机详细设置页面:
主机详细设置

  • IP Address和Certificate,IP地址与证书(ssl用),统一设置的,不能更改。
  • SSL support,是否支持ssl,也就是https://www.fwolf.com这样的访问,文件默认放到httpsdocs目录下。
  • Use a single directory for housing SSL and non-SSL content,使用ssl的站点和不使用ssl的站点共用一个目录(一套文件),在这里要注意一下,这个选项和上一个SSL support如果同时启用的话,访问可能会自动跳转到https方式,而我们的ssl证书又肯定不是经过CA认证颁发的,所以会弹出证书过期、无效的提示框,影响阅读体验,没必要的话就不要使用ssl方式了,对服务器来说也可以略微减轻一些负担。
  • FTP Login,ftp用户名,ftp地址就是我们的主机地址,如果启用了ssh,ftp用户/密码也就是ssh的用户/密码。
  • Old FTP password/New FTP password/Confirm Password,设置ftp密码。
  • Hard disk quota,磁盘限额,在管理多域名或子域名的时候有用。
  • Shell access to server with FTP user's credentials,是否允许ssh访问,这里我限定了两个选项:禁用和chroot方式的bash shell,至于为何限制chroot方式我 有过说明,在方案中也讲了,选择启用的话会有一个安全提示,在这里我也提醒大家保管好自己的ftp密码,不需要的时候尽可以关掉,安全第一嘛。

下面Services组里面就是管理对各项语言的支持了,一般我们架WordPress的话选中SSI support服务器端包含、PHP supportPHP语言支持并关闭PHP 'safe_mode' on安全模式就足够了,需要架MoveType的话就选上CGI supportCGI支持,需要升级到PHP5的话再选上 FastCGI support就行。如果Web statistics选上AWstats可以启用基于apache log文件的统计系统,选中accessible via password protected directory '/plesk-stat/'要求必须使用密码才能访问统计结果(plesk密码),访问地址就是类似 http://www.fwolf.com/plesk-stat/的形式,另外一个统计系统Webalizer我没用过。

这些全部都选好之后,按ok就完成了域名的建立,默认返回域名管理页面,和在Home页面点域名列表中的域名进入是一样的:
域名管理页面

Domain组功能:

  • Switch Off,暂时关闭域名,大家用不到吧 :)。
  • Report,本域名的相关信息及总体资源使用报告,比账户的报告要详细些,还有网站统计等功能。
  • Limits,本域名的资源限制情况一览,是账户资源限制的子集。
  • Domain Aliases,域名别名管理,比如可以让game.com作为demo.com的别名,不过内容还是一套。
  • Domain Administrator,为这个域名单独创建一个管理员账号,可以独立登录Plesk控制面板进行管理,对于多域名账户管理有用。
  • Register,同账户管理的相应功能。
  • MyPlesk.com,同账户管理的相应功能。
  • Backup,备份,同账户管理的相应功能。
  • Custom Buttons,同账户管理的相应功能。

Services组功能:

  • Mail,邮件账号管理,MT自带邮件服务器,不过想来大家也用不到,就没有开,邮件也不适合架在合租服务器上,数据的管理、备份和迁移都是问题。
  • DNS Settings,DNS管理,如果把MT主机作为dns服务器,可以自行设置dns解析记录,不过Plesk本身提供的子域名管理结合域名注册商的解析功能我想已经能够满足大家的日常需要了,就没有开放。
  • Databases,数据库管理,可以自己创建mysql数据库,同时创建完毕之后千万不要忘记点你刚刚建好的库,然后创建数据库用户,发现有些朋友就是找不到Add New Database User,另外一个DB WebAdmin是web界面的数据库管理工具,其实就是一个 phpMyAdmin。
  • Certificates,如果你有自己的站点证书,可以上传过来,或者到https://myplesk.com/申请。证书属于奢侈品,一般用站点默认的即可,自己创建的证书没有CA给认证也没用。
  • Tomcat,java应用程序服务器,java功能本身就没有开,所以这个功能是灰色的不可用。

Hosting组功能:

  • setup,主机设置,如果你刚才在设置主机的时候中途停止了,可以点这个继续设置,已经设置好的可以修改配置。
  • Delete,删除域名,慎用,域名下的文件会被一并删除的。
  • Web Users,web用户,没怎么用过,大概是WebDAV的用户。
  • Subdomains,子域名管理,比如创建一个soft.demo.com,个数不限,可以单独为子域名设置ssl、ftp用户以及各种服务端语言支持,子域名的文件存放在subdomains/子域名名称目录下,和主域名是完全分开的。
  • Protected Directories,受保护的目录,并且可以为每个目录创建用户,我理解就是通过http认证的用户,并且可以设置使用http://demo:pass@fwolf.com/dir的方式访问受限资源,这个远不如程序所提供的用户管理功能方便,不建议使用。
  • Anonymous FTP,匿名ftp访问,没开放此功能。
  • Log Manager,日志管理,可以查看apache的access和error log,并且可以定义日志按文件大小或日期截断,可以压缩日志,可以把统计程序处理过的日志发送到邮箱。
  • File Manager,文件管理器,可以管理你服务器上所有文件的一个web界面。
  • SSH Terminal,网页上的ssh客户端,我用的firefox,肯定是用不了了,ie下的话应该也要安个插件什么的,强烈建议改用putty等专业工具访问ssh。
  • Crontab,定时任务,和linux下的crontab一样,只是改成了web界面,连任务的时间参数格式都是一样的,可以参见man 5 crontab。
  • Application Vault,应用程序仓库,通过它可以快速安装WordPress、pLog、gallery等多种程序,不过出于学习的目的,不建议大家偷懒,还是手工安装吧,另外仓库里程序的版本也稍微落后一点。
  • Site Preview,预览站点。

再往下就是此域名下的所有资源情况了:
域名下的资源情况

左边的Used是已经使用的资源数量,右边的Allowed是总共拥有的资源数量,一目了然。

小结

怎么样?有点大体概念了吧,感觉有点乱的话,我再介绍一个开始建站的最简单流程:

  • 登录控制面板。
  • 点左边菜单的Home,打开详细管理功能。
  • 点右边的Add New Domain,添加域名并设置主机信息,一路按提示操作。
  • 点已添加的域名进入域名管理页面,默认添加完域名就是这个页面。
  • 在Databases中创建数据库。
  • 点刚才建的数据库,创建数据库用户。
  • 差不多了,解析域名、上传文件之后,网站内容就可以访问了。

最后,再次提醒大家,虽然我尽所能保证主机的安全,仍然需要各位保管好自己的密码、设置相对复杂的密码、密码定期更改、关闭不使用的ssh账号,尽最大可能防止坏人侵害;另外就是经常备份数据,包括数据库和网站内的重要内容,并下载下来异地保存,天灾人祸不随我们的意志而转移,blog都是大家的心血,无价之宝,一定要妥善保管。

Source: http://www.fwolf.com/blog/post/343

2007年7月26日星期四

MT主机chroot简单说明

为了安全考虑,合租的MT主机上用户的ssh shell是chroot环境,这个chroot是什么概念呢?比如说本来你的文件在系统上的位置是/var/www/vhost/fwolf.com/,一般网站文件放在httpdocs目录下,私人文件放在private目录下,子域名会自动创建到subdomains目录下;那么限定用户chroot环境之后,你登录上去看到的根目录 /就相当于原来的/var/www/vhost/fwolf.com/,那么网站文件也路径也就变成了/httpdocs目录,依此类推。

由于chroot限定了用户只能在自己的$HOME内活动,所以安全性得到了提升,简单说来你不用担心合租主机上别的用户会偷看你的文件。同时/bin、/lib这些文件都是映射过来的,只有经过管理员选择的命令才会放在这里供使用。那么如果用户需要一个这里没有的命令怎么办呢,我 在Plesk官网文档库中扒到了一篇文章,对应到咱们的环境,是这样:

chroot有一个模板,这个模板里面的文件结构和文件就是将来要让用户使用的/的环境,首先我们编辑这个"模板",位置在/var/www/vhosts/chroot,可以看到下面bin dev etc lib tmp usr var等一干目录全有,把需要的文件复制到这个目录下的相应位置,比如tar复制到bin下:

cp /bin/tar /var/www/vhosts/chroot/bin/

然后再用两个命令启用他们即可:

/usr/local/psa/admin/sbin/chrootmng --remove --source=/var/www/vhosts/chroot --target=all
/usr/local/psa/admin/sbin/chrootmng --create --source=/var/www/vhosts/chroot --target=all

程序命令所需要的库文件也要复制到lib或usr/lib目录下,那怎么知道命令使用哪些库呢?用ldd就可以了:

# ldd /bin/tar
libc.so.6 => /lib/tls/libc.so.6 (0x00cd9000)
/lib/ld-linux.so.2 (0x0096f000)

参考:

Source: http://www.fwolf.com/blog/post/342

2007年7月22日星期日

Apache的Satisfy详解

最早接触Satisfy,是这样一个情况,一个目录启用了密码保护,想单独开放它的一个子目录,让这个子目录无须密码即可访问,那么需要这样设置:

AllowOverride All
AuthName "Fwolf's Vault"
AuthType Basic
AuthUserFile path/to/pwd/file
require valid-user


Allow from all
Satisfy any

这样用户访问dir2的时候就不需要输入密码了。额外说明一点,dir1和dir2都是针对文件地址的,而非url。但这样实现的原理我以前真没想过,直到我碰到了一个蹊跷的问题。

环境和上面的一样,只是我在dir2下面,想禁止对一个文件的访问,于是dir2的设置变为:


Allow from all
Satisfy any

order allow,deny
deny from all


(deny from all换成allow from someip,即绝对禁止换成只允许指定ip地址,对我后面的描述没有影响)

好了,现在访问那个应该被禁止访问的文件secret_file,由于我本身不在允许ip范围之内,所以应该是不能访问的,可是。。。怎么弹出对话框让输入用户名和密码了?如果用wget访问的话,可以清楚的看到:

401 Authorization Required
Authorization failed.

等等,401错误是密码输入错误,可我明明是绝对禁止访问的设置嘛,而且如果用浏览器访问,并且输入正确的密码居然还是可以访问呢,哪里的设置出了问题?虽然一样都是无法访问,可问题一定要搞清楚才行。

其实,仔细看看Satisfy的官方文档,答案就在其中,Satisfy就是在同时启用了Allow和 Require的情况下,指定相关策略的,一共有两个备选值,All表示用户必须同时满足Allow和Require的条件,而Any则是满足其中之一即可。

应用到我的问题上来,从上向下看,因为设置是从上级向下逐步解析的,最下层目录的配置具有最高的优先级,可以覆盖上级目录的设置,在.htaccess里也是一样。dir1中设置密码验证启用了Require;然后下级的dir2启用了Allow,并且用Satisfy any指定用户只要ip符合 all或者输入正确密码就能访问,由于ip肯定会符合all这个条件,所以等同于取消了密码限制;最后的secret_file,把Allow进行了限制,注意,在这个时候,用户的ip不符合Allow,按照Satisfy any的定义,服务器自然会去查是否符合两个条件中的另外一个是否能够通过,所以就出现了密码输入框,而不是直接 403 Forbidden。

现在问题清楚了吧,只要在secret_file的配置中增加一句:

Satisfy All

覆盖掉dir2中的Satisfy any设置,就可以实现预期的403拒绝访问了。

PS: 记得以前是可以用的,现在不起作用了,要改成正则才行:。

Source: http://www.fwolf.com/blog/post/341

MediaTemple启航

按照以前的方案和约定,虽然报名人数并没有达到预期数额,我还是启动了,现在您看到的这篇文章,我的网站,就是在mt空间上了。

注册用户的过程非常顺利,就是一定要我输入公司名称,可我明明是个人用户,所以就输了个"Personal, not a company",为了怕遭遇和万网一样的小麻烦,还特意发邮件咨询了一下,得到答复是这项信息可以随时修改,应该不影响的。注册的时间比较巧,差不多刚刚赶上美国那边(-8时区),所以很快就通过了人工审核,拿到了账号。

然后就登录账号中心、Plesk控制面板,熟悉了一下管理功能,发现基本上常用的主机管理和账号分配功能都可以在Plesk里完成了,于是建立了第一个客户Client,把我这个网站转了过去。根据合组方案,建立了一个客户模板,每个客户拥有:

  • 自己的控制面板。
  • 自己管理域名,限1个主域名,但可以分子域名或别名。
  • 可以自行开启ssh账号,但仅限chroot环境。
  • 1G磁盘空间,包括日志,但好像不包括数据库。
  • 50G月流量,双向计算的。
  • 1个数据库,mysql 4.1

暂时没有找到cpu的限量使用功能,费用是每人每年¥200,中途退出和加入按每月¥20计。

为了节约资源,关闭了邮件相关功能,大家gmail用得不是挺好么:),为了方便交流,还建了一个google group,地址是:http://groups.google.com/group/fwolf-mt01 ,如果想测试一下速度,可以下载我上传的php文档,我这里测试能到几十k,还比较稳定,主机ping值300左右,国外的主机一般都是这个速度。

在我的blog中增加了一个hosted分类,专门记录和主机使用相关的资料。虽然已经取得了root权限,暂时还没有时间配php5,但安装wp没问题。这几天集中给大家开通账号,等有空了再把联络表和合组公约整理出来。

今天是周五,明后天就是周末了,所以请以前登记过的合组用户尽快与我联系,争取在周末把大家的空间都开通了。

另外我们合组的人还没有凑齐,有意的同学仍然可以报名。

Source: http://www.fwolf.com/blog/post/340

RedFlag Linux安装打印机并共享给windows使用

咳、咳,这次和以往的环境不同,使用的是我们的100%国产操作系统红旗桌面5,Dell计算机随机带的盘 :)我只简单把不好作的几个地方指出来。

首先是在redflag5中安装打印机,我的打印机是HP LaserJet 1020,redflag汉化得非常不错,虽然界面让人感觉一蹦一蹦的,但和windows几乎相同的界面让我用起来几乎没有障碍。安装时就选择本地usb打印机即可,驱动程序系统自带了,厂商选HP,类型里面有1020,直接选用,就安装好了。可是,打印测试页,打印机没反应。在linuxsir上找到 一篇文章,下载了个sihp1020.dl.tar.gz,然后cat sihp1020.dl > /dev/usb/lp0之后就听到打印机动弹了一下,然后再打印东西就可以了。那篇文章中还说需要安装 foo2zjs,我没安也没问题,后来安了一遍也没看到有多大变化,大概是现在新发行的linux都已经内置foo2zjs驱动了。

不过到现在还有一个问题,打印可以了,可在firefox中打印网页有乱码,大部分中文字根本就出不来,小部分中文字是打出来了,可连错别字带着夹杂乱字母的,查到 redflag在2006年3月就解决了firefox打印乱码的问题,不知怎么还出现在我的安装里,也没有找到解决方法,好在这台机器只用来作打印服务器,自己不用打东西。这个乱码也只是出现在firefox打印上,用openoffice打印东西都很正常。

然后就是共享打印机了,试过直接在redflag的打印机管理中,像windows那样开启打印机共享功能,这样我的打印机HP下面就又多了个HP-s,这个就是共享的打印机了,不用管它。这种做法是通过samba共享的,也能被局域网内的windows机器自动搜索到,不过由于默认的安全设置,从windows打印过来的任务会被拒绝。解决方法肯定是有,不过我转用了另外一种共享方式,就是linux的CUPS方式。

CUPS基本系统redflag安装的时候都自带了,所以无须配置,只是要更改一下安全设置,让局域网内的其他电脑能访问本机的CUPS服务即可,在/etc/cups/cupsd.conf中段的最后部分,加上一句:

Allow From 192.168.0.*

这里allow deny的规则和apache是很类似的,原来介绍过,重启CUPS服务之后,局域网的其他机器就能够访问了。

然后就可以到windows机器上,添加打印机,类型选internet那一类,地址就是 http://redflag机器地址或机器名:631/printers/HP,其中:631是IPP服务的默认端口,不加的话windows会去找80端口,printers好像是固定死的,或者属于IPP服务的配置,不用动,HP是redflag机器上给打印机起的名字;后面选驱动程序的时候,不要选和打印机相对应的厂商和机型,好像选了也不顶用,打印测试页没反应,redflag的cups errorlog文件中会提示没有启用RAW格式:

E [17/Jul/2007:19:21:53 +0800] print_job: Unsupported format 'application/octet-stream'!
I [17/Jul/2007:19:21:53 +0800] Hint: Do you have the raw file printing rules enabled?

所以选驱动程序的时候,左边的制造商选Generic,右边的打印机类型选MS Publisher Color Printer,这样可以正常打印,如果选的是MS Publisher Imagesetter,在我的1020上也能打出东西,不过整个页面内容相对于纸向上偏移了一些距离,页面上面一部分的内容没了。

感觉CUPS方式共享打印机比samba方式速度要快,并且打印机驱动也不用安装了,省事。

这也是我第一次使用红旗redflag linux,由于解除redhat系列发行版不多,所以还是有些无所适从,一些管理命令找不到,Kde也不太会用,需要花些时间适应,总体感觉红旗汉化修改得还算不错,不过仍然不够好,把这样的产品交给从windows迁移过来的用户,极有可能伤害他们对linux的信心,与其交给用户和windows界面相同的一个东西,反倒不如让他们把linux当全新的东西来学,根基更牢固一些。

相关阅读

Source: http://www.fwolf.com/blog/post/339

2007年7月8日星期日

发现fcitx也很不错嘛

scim使用了很长时间了,虽然其中有时候有些麻烦,总体来说也是不错的。不过我只用自然码风格的双拼,scim那丰富的输入法类型对我来说没用,今天心血来潮换fcitx用用,发现居然也是很不错的,比我刚开始在ubuntu 5.10下使用的感觉好多了。

我是直接安装源中的版本,apt安装即可,版本是1:3.4.3-1,输入法选字条上显示的版本是"GirlDog 3.4.3(新年版)",更换输入法的时候,除了使用im-switch -s fcitx之外,还把/etc/X11/Xsession.d/95input的内容改成了下面这样:

export LC_CTYPE=zh_CN.UTF-8
export XMODIFIERS=@im=fcitx
export XIM=fcitx
export XIM_PROGRAM=fcitx
fcitx

然后重启X就能正常启动fcitx了。

fcitx的主要配置文件是$HOME/.fcitx/config,不过这个文件的编码是gb2312的,所以编辑之前要先更改一下shell环境的字符集(注意文件编码不能改,不然设置无效):

export LANG=zh_CN.utf-8
gedit config

更改设置之后,想立即生效就kill掉fcitx再重启(或者按Ctrl_5也行):

pkill -9 fcitx;fcitx

在我的安装中,或许是ubuntu改装的原因,反查拼音、删除拼音用户词组等快捷键好像无法使用,不过还好,自造词挺省事,直接编辑QuickPhrase.mb就可以了,不过这个文件也必须是gb2312编码才行。

总体fcitx给我的感觉是小巧、快速、够用,不过配置略微麻烦了一点点,需要修改配置文件,而不是像scim那样有图形界面的配置功能;另外就是很多地方,比如配置文件,使用gb2312内码,对于现在大多数utf8编码的linux来说,略微麻烦了一点点。

推荐大家看看fcitx官方网站上的 中文PDF文档,挺不错的。

另外还有一个我不知道的问题,比如输入ubuntu,没按回车出英文,而是按空格出了个"手刹虐杀"的中文,以后就记住了,像这种"自造词"如何删除?Ctrl+Del不起作用呀。

Source: http://www.fwolf.com/blog/post/338

按时间清除回收站中的文件

ubuntu的nautilus在删除文件的时候,一般都是把文件移动到所属分区的.Trash目录下,如果启用了libtrash,在shell中删除的文件也会被移动到$HOME/.Trash目录中,时间长了以后,这些 .Trash目录的管理是个问题。

直接全部清空显然太简单,我习惯先清除最早删除的文件,以前是用php写了个脚本来作,现在发现使用find命令就完全能够实现了:

find . -mtime +200

这样所有"岁数"大于200天的文件就都找出来了,不过当前目录.也出来了,去掉它:

find . -mtime +200 ! -name "."

只输出文件名太简单,加上日期和文件大小的输出:

find . -mtime +200 ! -name "." -printf '%T+ %8kK %Pn'

这样就比较完美了,确定想删除这些文件的话,在最后带上-delete就可以了:

find . -mtime +200 ! -name "." -printf '%T+ %8kK %Pn' -delete

另外,如果想知道清除这些文件能够释放多少空余磁盘空间,可以借助awk来实现:

find . -mtime +200 ! -name "." -printf '%8kn'|awk '{sum += $1}END{printf "Total %d K.n", sum}'

在上面所有的find中,使用的都是mtime,也就是文件的最后修改时间,这样有一个小缺点,从网上下载的文件时间一般是服务器上的文件时间,虽然你是2007年下载的,文件的mtime可能会是2002年,这样的文件会被优先删除,不过无所谓了,既然是回收站,既然是从网上下载的,大不了再重新下去,保护我们自己"生产"的文件才是首要任务。

为何不用atime也就是最后访问时间,我觉得这个时间非常不靠谱,比如你用clamscan扫描完病毒之后,所有文件的atime都变成现在了,还有一些莫名的情况,总之不是很稳定,不如mtime让人放心,即使我删除了10天前编辑的文件,它的mtime就一直会是10天前的日期,不会再变的。

另外在实际的使用过程中,还会遇到另外一种情况,目录的日期比较早,而该目录下有比较新的文件,所以find的时候就只把目录find出来了,如果加上-delete,是不是就把目录删除了?下面那些比较新的文件也都没有了。所以我用这种方式解决:find的之后指定不搜索目录(! -type d),而在文件清除之后再按照同样的时间条件删除所有空目录(find . -type d -empty -mtime +200 -delete ),减少文件被误删的可能。

基于上面那些,我写了一个简单的脚本方便调用,可从这里下载,为了安全,限定只搜索当前目录,并且目录名称必须包含有"Trash"。

Source: http://www.fwolf.com/blog/post/337