09
Jun
June 9, 2013 分类: Linux     作者: hoverlees     留言: 发表

以前一直用的svn管理自己的文件,给了自己很大的帮助。版本控制不仅仅可以用在程序开发人员身上,对任何使用计算机的人而言都会有很大的帮助。

不过,svn也有很多的问题,比如说,它会在每个目录下创建一个.svn目录,这个目录内的文件是记录版本信息的,但它在工作目录里几乎到处都是,复制的时候也会一起复制走。虽然svn export可以导出干净的文件,但这个操作首先要浪费时间,而且意味着svn控制中的目录是不干净的,不能随便拷。不过据说新版本的svn也跟git一样改为只有一个控制目录了。

svn还有一个问题就是它不是分布式的,它有一个中心服务器,这个中心服务器控制着整个项目的版本进度,也就是说,当这个中心服务器出了问题,整个项目就处理无法控制版本的情况。而git做得很好,git是分布式的,任何一个机器都是一台版本控制体,其实并没有真正的服务器概念,当文件有变更时,直接提交到本地仓库。想把自己的仓库发送到其他机器上,就叫做推送,想把其他机器上的信息复制过来,就叫拉取。当多台机器都发生变化时,相互推送后会产生不同的分支,可以通过合并操作将两个改动合并到一起去。

觉得git不仅是很强的版本控制软件,甚至可以做同步软件了,不仅可以取代rsync进行文件的备份,甚至比rsync更厉害。为什么?因为rsync是有服务器概念的,而git没有。

08
Jul
July 8, 2012 分类: Linux, SCM     作者: hoverlees     留言: 发表

本来是一个单片机项目,觉得老设计单片机板子太没意思了,就多花了几天设计了AT91RM9200的板子,16MB NAND Flash,4MB NOR,16MB SDRAM,装了个linux上去。

自己还是很有自虐倾向,哈哈。

25
Feb
February 25, 2012 分类: Linux     作者: hoverlees     留言: 发表

最近买了台新电脑,500G硬盘,6G内存,Core i5 CPU.没显卡,据说i5内置的集成图形处理器还是可以的,而且本人对显卡要求不高,不怎么玩游戏的.

把500G硬盘全部拿来装了Ubuntu11.10.然后装了个VMWare,在里面装了几个常用系统和偶尔娱乐用的Windows7,发现vmware上的windows7没有支持到3D加速,

Ubuntu11.10给VMWare加速的方法:

1.安装driconf:

sudo apt-get install driconf

如果你想用软件中心来安装,搜索driconf或者3D Acceleration都能定位到这个程序.
2.运行"3D Acceleration"(搜索应用程序)

3.点击image quality标签, 有一个 enable ST3 Texture compression even if software support is not available.把这个设置成YES

搞定,你的VMWare可以支持3D加速鸟.

06
Feb
February 6, 2012 分类: ASM/C/C++, Linux     作者: hoverlees     留言: 13

前面我们讲了理论知识,本来打算再慢慢写的,不过有网友对这个话题很感兴趣,我就加快写了。

本文地址:http://www.hoverlees.com/blog/?p=1014

现在要做个实例,要实现这个功能,需要按以下步骤做:

1.创建需要加载到其它进程中的外部函数
2.编译这个代码
3.复制代码的机器指令到文件中
4.加密这个文件(可选)
5.其它进程使用VirtualAlloc(windows)或mmap(linux)将程序加载到内存中,如果加密了,需要在这里解密后加载。
6.执行程序。

下面我们进行要加载到内存的代码的编写,假设其它进程需要加载到内存中执行的函数叫get_number_line,我们先写出它的功能(就是获取一个文件的行数)

查看详细内容 »

标签: , ,
30
Sep
September 30, 2011 分类: Linux     作者: hoverlees     留言: 发表

Ubuntu11.04上跑VMware 7.14会出现一个奇怪的情况,就是当VMWare会弹出提示框时,很可能你的vmware workstation窗口就再也打不开了.这是 vmware的bug,解决方法也很简单.

使用root用户编辑 /usr/bin/vmware ,在第二行加上

export LD_PRELOAD=/usr/lib/vmware/lib/libglib-2.0.so.0/libglib-2.0.so.0

问题解决.

标签: ,
26
Sep
September 26, 2011 分类: Linux     作者: hoverlees     留言: 2

最近换了最新的Ubuntu 11.04来用用,觉得用户体验还是不错的,看得出它的宗旨来,就是要省用户屏幕。其实这个理念最早是浏览器提出来的,现在的浏览器,都是尽量减少菜单之类的控件占用屏幕的空间,使用户最想看到的内容区域变得更大。这是一个非常不错的理念,我也深信最初这个产生这个idea的设计人员,一定是上网本之类的小屏幕用户~

Ubuntu取消了放在下方的任务栏(也是为了节约屏幕),取而代之的是在屏幕左边做的浮动任务栏,这个任务栏效果其实很不错,有win7任务栏的效果,而且也很好用,不过刚用这种任务栏的人肯定是不习惯的,我一开始也不习惯,用久了发现挺爽的。关键是有窗口闪动时,左边的任务栏会只跳出这个窗口的图标,并抖两下给用户看,我觉得这儿很可爱呀有没有!


查看详细内容 »

标签: ,
24
Jun
June 24, 2011 分类: ASM/C/C++, Linux     作者: hoverlees     留言: 1

今天一个朋友问我这个问题,说为什么在Windows上跑得很好的应用程序,移植到Linux上后就读不到跟应用程序在同一文件夹下的文件呢,我说,这是Linux和Windows在Work directory上设置的不同。

大家都知道,对于Windows而言,应用程序的默认工作目录就是应用程序所在的目录,它一般是不管应用程序是从哪个目录上下文启动的。那么在不更改工作目录的情况下,读文件使用相对目录就肯定是相于应用程序所在的目录。

但对于Linux而言,应用程序的默认工作目录就不同了,它是默认是继承启动它的进程的工作目录的,也就是说,如果进程是在其它目录下启动,那应用程序的工作目录默认就在其它的目录下。这样的话使用相对路径访问文件就有很大的不确定性:我们永远也不能保证,用户一定是从应用程序所在的目录启动!

那要怎么解决呢,我给的建议是,在程序启动后,修改应用程序的当前目录到应用程序所在的目录,然后其它所有程序都无须改动。最好的办法当然只有一个,那就是通过main函数传入的argv[0]计算出当前目录。

下面的例子是读取跟应用程序所在同一目录的a.txt文件并显示,程序启动后修改当前工作目录为应用程序所在的目录,所以不管应用程序从哪个目录启动,程序都能正确地读到a.txt这个文件。


查看详细内容 »

03
Jun
June 3, 2011 分类: Linux     作者: hoverlees     留言: 1

想要成为Linux内核的Hacker, 老是看源代码和头文件还是不够的,实践是很重要的不可缺少的环节,一定还要多自已动手写内核驱动才行。写驱动没有manpage光翻头文件那是不可能的事,所以,一定要自己编译manpages出来才行。

首先到kernel.org上去下载源代码

然后安装xmlto,因为编译manpage的时候需要安装xmlto。

然后到源代码目录下执行如下命令:

sudo make mandocs
sudo make install mandocs

内核manpages安装后会放到man section 9里面。

标签: , ,
24
May
May 24, 2011 分类: Interesting, Linux     作者: hoverlees     留言: 发表

最近在为自己公司开发的产品做iso光盘,打算把我们的网络监控产品跟linux系统集成到一起安装,所以就把别人发布的iso解压出来修改光盘里的配置和initrd后,又把它做回iso了。

linux就是好,做iso的软件也是免费的,linux下的mkisofs程序可以制作iso文件和解压iso文件。把我做ISO的时候参考的内容直接引用过来,希望对大家有帮助 :)

Creating bootable ISO : Linux, Solaris, Windows

Whenever you’re automating OS deployments, you will at one point require to build a custom ISO, with your own kickstart, jumpstart or an OEM folder with apps and instructions to boot.

Here are three mkisofs commands that you can use for each OS, and to ease your search a little.

Linux

mkisofs -q -V VOLUME_NAME -b isolinux.bin -c boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -R -J -T -o /LinuxISO.iso .

Solaris

mkisofs -b boot/grub/stage2_eltorito -c .catalog -no-emul-boot -boot-load-size 4 -boot-info-table -relaxed-filenames -l -ldots -r -N -d -D -V VOLUME_NAME -o /SolarisISO.iso .

Windows

mkisofs -q -b Bootable_NoEmulation.img -no-emul-boot -boot-load-seg 1984 -boot-load-size 4 -iso-level 2 -J -joliet-long -l -D -relaxed-filenames -N -V VOLUME_NAME -o /WindowsISO.iso .
标签: , ,
02
Mar
March 2, 2011 分类: Linux     作者: hoverlees     留言: 发表

最近看到一篇国外友人写的关于windows系统监控的文章,作者阐述了多种Linux监控windows的机制。

我在现在的公司也主要负责网络监控系统的产品研发,对作者的观点很赞同。文章也给了我很多帮助。但是作为整个网络系统的监控来说,用户往往不希望在所有被监控主机上安装具有网络安全隐患的监听进程,这点,是我们作为网络监控产品研发人员需要致力去解决的问题。

我在我已经做好的监控系统里用到的监控技术,下面这篇文章都有提到,包括RRD,WMIC,NRPE,SNMP等等,不过,上面我提过,从提高用户信任度来看,扩展snmp是最好的办法,因为它在网络上只使用snmp,其它监控数据均可使用snmp扩展的方式在远程机上执行相关程序/库/脚本。WMI/SSH方式也是比较好的方法。

Thanks to Eric A. Hall for the nice article.下面是Eric A.Hall的原文:


查看详细内容 »

快速链接
推荐标签
最新图片
较新文章
随机推荐
友情链接