無標題文檔

Firefox 的 Vim 插件

可能是我火星了,安装了此插件以后就可以让 Firefox 支持部分 Vim 的快捷键。

https://friable.rocks/_/2009_11_05/0127658f31ba.jpg

基本的一些应用介绍一下:

  • 基本的导航热键(h,j,k,l,gg,G,0,$,ZZ)就不复述
  • 键自动补全
  • 关闭窗口 :quit
  • 打开链接 :open www.gracecode.com
  • 快速搜索 / (和 Vim 无两样)
  • ....

详细的说明可以参看其 官方网站 。此插件昨天(2008/05/14)刚升级到了 1.0 版本,已经可以支持 Firefox3 了。

OK, Vim anywhere!

PS:有个小的问题,除了每次输入 :set guioptions+=mT 以外,怎么能让我的地址栏和书签栏自动出来?

简述 Slackware Linux 硬盘安装原理

虽然 Slackware Linux 12.1 已经出来了 ,但对于我这个懒人也懒得去折腾。前几天有台 Windows 服务器被换下,在我的忽悠下管理员答应安装 Slackware 试试看,于是揣着我心爱的移动硬盘去了冬暖夏凉的 IDC 机房。

服务器没有光驱(有我也不会用),加上硬盘安装是最快的,所以没有理由不用硬盘安装。在硬盘安装 Slackware 之前,先说说本人对于 Slackware 包机制的理解。

众所周知,Slackware 的包机制其实就是 tgz 压缩包。其实按照我个人的理解,如 installpkg 这样的程序也就是个 Shell 脚本,软件的安装除了在 /var/packages 下生成已安装的软件版本以外,就不会生成别的东西;删除某个包也是类似的操作,脚本根据文件列表删除文件,作其他任何的修改。

如此的包机制,是不会校验某个软件的库依赖机制的。但就是因为这点,Slackware 在保持 了系统足够 KISS 的同时,把更多的工作交给了用户。这也意味着为什么 Slackware 不适合新手的原因,因为他们不知道将要安装的包需要哪些运行库。

言归正传,从 Slackware 的包管理机制就可以理解 Slackware 的安装过程。首先它会从安 装光盘引导各基本的内核,通常是 /isolinux/kernel 然后此内核载入 initrd 文件,引导 系统并提供给用户 Shell 接口。顺便提一下, Busybox 是个好东西,目前 Slackware 安装环境中的大部分程序都是它的映射。

然后,在引导完基本的安装环境以后,用户执行一系列的操作(分区、格式化、配置),最后安装脚本(注意,不是程序),开始最漫长的一步,就是解压缩软件包至指定的安装路径,这就是我们通常所说的安装软件包。最后是配置相应的服务等等,这并没有不同的地方。

似乎废话有点多,根据上述所言硬盘安装最重要的两个步骤就是:如何去引导安装环境,以及去何让脚本知道软件包的位置。解决这两步,硬盘安装基本上就没有什么大的问题了。

首先,我们解决如何引导安装环境。默认的 Slackware 系统还是交给 lilo 引导(「迂腐」的 Volkerding ),个人更喜欢使用 grub 。根据上述的环境,我已经有了现成的 Windows 系统,所以先下载了份 grub for DOS ,然后让 Windows 引导 grub ,再让 grub 引导内核。

这里需要两个文件从 iso 镜像中解压出来,一个就是内核,这个当然不用说;还有一个就是 initrd,它包含了安装环境需要的脚本等等。grub 引导完毕以后,指定内核和 initrd 文件,然后引导(详细步骤在参考文档中指出)。

grub> kernel (hd0,0)/bare.i
    注,Slackware 还提供了其他几个内核镜像
grub> initrd (hd0,0)/initrd
grub> boot

这样,基本的安装环境就引导完毕了。下面可以执行在安装软件包前的一系列操作。

安装软件包前需要制定软包的位置,在 选择安装源(Source Media Selection)这个步骤中,我选择 Install from a pre-mounted directory ,手工指定安装路径。当然,再次之前得把这个 iso 文件给 mount 进来。

# mkdir /target /iso 
    注,不要重名就可以
# mount /dev/sda1 /target 
    注,/dev/sda1 是移动硬盘的相应分区位置
        可以通过查看内核输出获得

然后在可以读取 iso 文件的前提下,再 mount 这个镜像文件到另外一个目录

# mount -o loop /target/slackware-12.1-dvd.iso /iso

切换回到 setup 安装程序(ALT + F1),指定安装源为 /iso/slackware 即可继续完成安装操作。

至于引导器方面,如果没有用多系统,个人认为 lilo 已经能够满足日常的应用了。grub 有更多的选择,但是有时会有不必要的安全问题,请根据实际情况选择。

最后,有关详细的安装步骤,可以 参考 LinuxSir 上面的篇文章

PS:我的移动硬盘容量太少了,尤其是放了 Slackware 安装镜像(舍不得删)和几部「电影」(更舍不得删)以后更是捉襟见肘。哪位兄弟有实惠的移动硬盘推荐?

在 Lierda 的日子

wiLdGoose 兄 在他的 Blog 上 真情流露 ,不免让我有些许的感动。wiLdGoose 的陈述让我不免勾起了些许的回忆。

Lierda 的日子是非常值得怀念的 -- 这是我第一份工作,我在那里认识了包括 wiLdGoose、 PpengLeftleg 以及 Badbuild 老大等在内的兄弟,还有(利用职务之便)遇到了 小妮子

在进 Lierda 之前,我和 Web 无关,同时对于 Web 也是毫无概念。当时作为学生的我,还沉浸在去如何使用 Python 和 C 去 Hack 我心爱的 Slackware Linux 的阶段。

当时 Foolkaka 老大需要个人去使用 PHP 开发个项目,于是硬着头皮研究了段时间(少于一个月时间),然后作为实习生加入了公司 -- 当时我刚上大四。当时的想法很幼稚,一来是能找到兼职赚点外快;二来是因为公司离学校很近,来回方便。

就这样,我开始了以编程为职业的生涯。记得刚开始的时候,我的水平非常的烂(现在恐怕也好不到哪里去)。典型的例子就是,我编写的某个类包含了 权限管理、用户组管理、用户管理 等等所有的功能,加上「完善」的注释,这个 PHP 文件竟然将近 4000 多行!这在当时被称为一段「佳话」。

可以说,wiLdGoose 兄和 Ppeng 兄给予了我 最大的帮助 。从 wiLdGoose 这里我学到了很多有关 PHP 方面的技术,从 Ppeng 这里我也「偷」到了很多前端代码。

由于 PHP 方面的薄弱,加上本人天生喜欢「折腾」,后来就认识了 Javascript 这门传说中的语言。坦白的讲,开始我很不屑于这种所谓的「浏览器脚本」。但后来对于那些「复制粘贴」的代码修修改改,逐渐的才对其产生了兴趣,这是后话了。

对于 Badbuild 老大,在本人的印象中一直都是个大孩子。记得第一天来 Lierda 上班时,我称 BigHead 大姐为「大姐」(这个称呼可能改变不了了)。后来才得知她是 Badbuild 的「原装」压寨夫人,要早知道就不会这么称呼她了,因为 Badbuild 老大他可是有权利定我每个月工资的,对此我曾经懊恼不已。

Badbulid 老大没有任何领导的架子,我甚至会向他开些玩笑。本人的移动硬盘中,经常会有很多好玩的东西(大家不要误解),Badbuild 老大总是会好奇得去打探究竟。于是我就经常拿这些去「勾引」此人,以达到加工资的目的。

和 Leftleg 兄谈论得最多的还是系统方面的问题。他在 Lierda 的时候是系统管理员兼 DBA ,在系统维护方面有非常丰富的经验。

那时的公司,总会有个非常经典的镜头,就是我、wiLdGoose 以及 Leftleg 兄拿着根烟在讨论问题,搞得公司门总是烟雾缭绕。Leftleg 兄是非常务实的人,碰到我们提到的问题总会先试验下,然后再给出结论。

当然还有 妮子 ,她总是给我们部门的人提出些「无理要求」。于是经过「本人的努力」,她现在可以在本人下班以后提出「无理要求」了(Badbuild 老大称之为「吃完了打包」)。

https://friable.rocks/_/2008_05_11/1210514172.jpeg

而最后正如 wiLdGoose 所言,上述的挚友逐一的离开,我发现在这里已经找不到一起抽烟、BT 的人了。加上本人从开始就不喜欢穿西装 Coding,最后选择黯淡离开。

总计我在 Lierda 的日子, 502 天。

我的照片

嗨!我叫「明城」,八零后、码农、宁波佬,现居杭州。除了这里,同时也欢迎您关注我的 GitHubTwitterInstagram 等。

这个 Blog 原先的名字叫 Gracecode.com 、现在叫 「無標題文檔」 。 要知道作为码农取名是件很难的事情,所以不想在取名这事情上太费心思。

作为八零后,自认为还仅存点点可能不怎么被理解的幽默感,以及对平淡生活的追求和向往。 为了避免不必要的麻烦,声明本站所输出的内容以及观点仅代表个人,不代表自己所服务公司或组织的任何立场。

如果您想联系我,可以发我邮件 `echo bWluZ2NoZW5nQG91dGxvb2suY29tCg== | base64 -d`

分类

搜索

文章