Browsed by
分类:Unix/Linux

[推荐]基于Mac的Port工具Fink

[推荐]基于Mac的Port工具Fink

看到标题,读者朋友们肯定第一时间想到的MacPort 。

恩,那是一款非常棒的工具。 不过我更愿意推荐各位使用另外一款工具 Fink(http://www.finkproject.org/).

Fink 项目希望把 Unix 上各种开放源码软件带到 Darwin 和 Mac OS X 平台上。 我们通过修改 Unix 软件使得它可以在 Mac OS X 上编译和运行(“移植”),并提供一个方便的分发系统使得每个人都可以下载和使用它。 Fink 使用 Debian 中的象 dpkg 和 apt-get 等工具来提供强大的二进制软件包管理。 你可以随意选择是下载预编译好的二进制安装包或从源代码自己构建一切。

关于 Fink的安装 ,大部分用户可参见http://www.finkproject.org/download/index.php?phpLang=zh。
不过后面我主要想介绍我的安装方式,因为我的Mac 版本是10.6 64bit.所以还是有些差别。也许上述普通方法有效,但是我并未尝试。

安装步骤如下(感谢 http://sage.ucsc.edu/~wgscott/xtal/wiki/index.php/64-bit_Fink_for_10.6

阅读全文 Read More

好烂啊有点差凑合看看还不错很精彩 (3 人打了分,平均分: 4.33 )
Loading...
bash 函数级重定向

bash 函数级重定向

bash 函数级重定向相信每一个人对于操作系统的重定向不会陌生了。就是>, >>, <, <<,关于重定向的基本知识我就不说了。这里主要讨论bash的重定向中的一个鲜为人知的东西,那就是bash脚本的函数也可以定义相关的重定向操作。这可不是命令级的重定向,这是函数级的重点向。这并不是一个新的东西,我只是想告诉大家一个已经存在了多年但却可能不被人常用的功能。

关于bash的这个函数级的重定向的语法其实很简单,你只需要在函数结尾时加上一些重定向的定义或指示符就可以了。下面是一个示例:

function mytest()
{
        ...
} < mytest.in > mytest.out 2> mytest.err

现在,只要是test被调用,那么,这个函数就会从mytest.in读入数据,并把输出重定向到mytest.out文件中,然后标准错误则输出到mytest.err文件中。是不是很简单?

阅读全文 Read More

好烂啊有点差凑合看看还不错很精彩 (6 人打了分,平均分: 5.00 )
Loading...
到处都是Unix的胎记

到处都是Unix的胎记

一说起Unix编程,不必多说,最著名的系统调用就是fork,pipe,exec,kill或是socket了(fork(2), execve(2), pipe(2), socketpair(2), select(2), kill(2), sigaction(2))这些系统调用都像是Unix编程的胎记或签名一样,表明着它来自于Unix。

下面这篇文章,将向大家展示Unix下最经典的socket的编程例子——使用fork + socket来创建一个TCP/IP的服务程序。这个编程模式很简单,首先是创建Socket,然后把其绑定在某个IP和Port上上侦听连接,接下来的一般做法是使用一个fork创建一个client服务进程再加上一个死循环用于处理和client的交互。这个模式是Unix下最经典的Socket编程例子。

下面,让我们看看用C,Ruby,Python,Perl,PHP和Haskell来实现这一例子,你会发现这些例子中的Unix的胎记。如果你想知道这些例子中的技术细节,那么,向你推荐两本经典书——《Unix高级环境编程》和《Unix网络编程》。

阅读全文 Read More

好烂啊有点差凑合看看还不错很精彩 (7 人打了分,平均分: 5.00 )
Loading...
CentOS上php的问题及Selinux安全设置

CentOS上php的问题及Selinux安全设置

最近有位站长在用我们WebIM客户端的时候,无法登录我们的WebIM服务器,十分惊讶。 在我们的用户里尚属首例,其实更惊讶的是我的CentOS也遇到了同样的问题。然后分析了这位站长的HttpResponse , Shamee :( 一样的OS.

搜了一下,发现的解决方法都是在代码上。 我想可能关键词有错误,因为我坚信我的问题肯定不在代码上,应该是来自OS本身的限制。于是重新debug了一下代码,报错 permission (13) connection。然后直接在洋人的邮件列表里搜了一下。

问题确定了 是SeLinux(http://zh.wikipedia.org/wiki/SELinux)安全策略的限制。

阅读全文 Read More

好烂啊有点差凑合看看还不错很精彩 (5 人打了分,平均分: 4.80 )
Loading...
Alice梦游UNIX仙境

Alice梦游UNIX仙境

本文来源:http://www.pma.caltech.edu/Publications/alice.in.unix.land.html
(这是一篇1989年的文章)

Alice 正在在她的显示器上读着一些信息,她开会怀疑所有的事情并不是应该的那样。“程序太大了,而无法适应内存”,她读到。

“一个很奇怪的事情”,她说,“我所做的也就是在启动我的字处理程序会运行了14个TSR(terminate-and-stay-resident 常驻程序)。所有这些程序需要使用4M的内存,我希望我能使用超过640K以上的内存”。

就在那个时候,一个小的白色的顾问(一个非常白的顾问)跑过了房间。“哦,我的外套和领带”,他说到,“我要迟到了。并且是每小时150元。”Alice本想对他说点什么,他却跳到了Alice的显示器里并到在操作系统后面消失了。

阅读全文 Read More

好烂啊有点差凑合看看还不错很精彩 (4 人打了分,平均分: 4.75 )
Loading...
8个实用而有趣Bash命令提示行

8个实用而有趣Bash命令提示行

很多人都对过命令行提示的重要性不屑一顾,甚至是一点都不关心。但是我却一点都不这么认为,一个好的命令行提示可以改变你使用命令的方式。为此,我在internet上找到一些非常实用,优秀,并有趣的bash的命令行提示。下面我将我最喜欢使用的一些命令行提示罗列如下。

注意  –  要使用下面这些提示,你可以拷贝粘贴这些以”PS1″打头的内容到你的终端上,为了使你的改变永久生效,还要将这些内容粘贴到你使用用户的~/.bashrc文件中去。

阅读全文 Read More

好烂啊有点差凑合看看还不错很精彩 (9 人打了分,平均分: 4.89 )
Loading...
如何调试bash脚本

如何调试bash脚本

如何调试Bash脚本Bash 是Linux操作系统的默认Shell脚本。Shell是用来处理操作系统和用户交互的一个程序。Shell的脚本可以帮助用户自动化地和操作系统进行交互。你也可以理解为一种脚本式的编程。即然有编程,那么,程序的编译器,解释器,调试器就必不可少了,Bash也一样,但在调试方面可能会有一些和编程语言不一样的东西和技术,所以,下面这篇文章主要是说明调试bash脚本的各种技术。

跟踪脚本的执行

你可以让bash打印出你脚本执行的过程中的所有语句。这很简单,只需要使用bash的-x选项就可以做到,下面让我们来看一下。

阅读全文 Read More

好烂啊有点差凑合看看还不错很精彩 (9 人打了分,平均分: 4.89 )
Loading...
谁写了Linux

谁写了Linux

2009年8月,Linux软件基金会发布了一份叫《Who Writes Linux and Who Supports It》(PDF)的报告。这份报告主要对Linux 2.6.x的开发进行了全方位的统计。看了以后才知道,原来Linux的开发的生产率竟是这样的惊人,而且相当的的令人振奋,所以,在第一时间转过来给大家看看。让人不得不惊叹,这不可思议的具有非凡活力的社区。(注意,我们这里说的是Linux,不是GNU的那些东西,所谓Linux就是Linux的Kernel)

下面是一个导读,希望每一个看到这篇文章的朋友都能看看原文的报告:《Who Writes Linux and Who Supports It》(PDF)

这份报告的一开始就对Linux的开发进行了总结:

  • 每2-3个月一个release
  • 最近的每一次release都超过10000个补丁
  • 有超过1000个开发人员进行开发,他们来自200个公司或组织。
  • 自2005年以来,超过5000个来自500个不同公司的开发人员为Linux内核做过贡献。
  • 自2008年以来,每次release,都大约增加了10%左右的开发人员,而且,代码码达到了2.7百万行。

是的,这样的生产率真是太疯狂了。下面是这份文档中所涉及的一些介绍和一些具体的统计数据。

阅读全文 Read More

好烂啊有点差凑合看看还不错很精彩 (12 人打了分,平均分: 5.00 )
Loading...
Unix Pipes 管道原稿

Unix Pipes 管道原稿

Douglas McIlroy

40年前,Unix操作系统横空出世,Unix不仅仅带来了一个操作系统,还创造C语言,Socket,开源,黑客等等文化,这些文化影响着整个计算机世界的文明,直到今天。

如果说Unix是计算机文明中最伟大的发明,那么,Unix下的Pipe管道就是跟随Unix所带来的另一个伟大的发明。管道的出现,解决的就是让不同功能的程序可以互相连通通讯,从而可以让软件开发,程序开发更加的“高内聚,低耦合”,从而可以让程序“Do one thing, Do it well”,从而可以让程序“Keep it Simple Stupid”等等,这一哲学引影了一代又一代的软件架构,直到今天的云计算。

管道的发名者叫,Malcolm Douglas McIlroy,他也是Unix的创建者,是Unix文化的缔造者之一。他归纳的Unix哲学如下:

程序应该只关注一个目标,并尽可能把它做好。让程序能够互相协同工作。应该让程序处理文本数据流,因为这是一个通用的接口。

阅读全文 Read More

好烂啊有点差凑合看看还不错很精彩 (7 人打了分,平均分: 5.00 )
Loading...
Linus Torvalds 语录 Top 10

Linus Torvalds 语录 Top 10

linus torvalds下面是Linux的创始人Linus Torvalds的一些言论,这是我个人认为最有意思的10句。如果你想看更多的Linus Torvalds说过的话,你可以看看他在维基百科上的词条:Linux Torvalds。我们在下面给出中英文对照,希望你能喜欢。

“Really, I’m not out to destroy Microsoft. That will just be a completely unintentional side effect ” (真的,我并不是想要干掉Microsoft,如果真是那样了,那完全是一个无意的副作用)——”The Way We Live Now: Questions for Linus Torvalds”, 接受《New York Times》的采访, 2003-09-28.

“Only wimps use tape backup: _real_ men just upload their important stuff on ftp, and let the rest of the world mirror it”(只有愚昧的人才会用磁带来做备份,真正聪明的人会上传他们最重要的东西到FTP服务器上,而剩下事情是,让世界各地的人来镜像这些东西)——(1996-07-20). 在linux.dev.kernel 新闻组上的一个贴子

阅读全文 Read More

好烂啊有点差凑合看看还不错很精彩 (8 人打了分,平均分: 5.00 )
Loading...