Category: Linux

  • Ubuntu apt 卸载软件后重装不生成配置文件解决

    装了几个版本的php-fpm, 每次用的 apt autoremove phpx-fpm 去卸载,然后觉得配置文件没有删有点不干净,就手工删了这个配置,结果后来想再装以前装过的版本的时候,发现报错,报配置文件不存在。 原因是删除的时候没有指定–pure导致。如果在删除的时候加上这个–pure就会删得干净了。示例命令如下: apt –purge autoremove php-fpm

  • 老是忘记的一个开源U盘烧录软件

    Rufus, 在这里记录一下,免得又想不起来了 🙂

  • 开始使用git了

    以前一直用的svn管理自己的文件,给了自己很大的帮助。版本控制不仅仅可以用在程序开发人员身上,对任何使用计算机的人而言都会有很大的帮助。 不过,svn也有很多的问题,比如说,它会在每个目录下创建一个.svn目录,这个目录内的文件是记录版本信息的,但它在工作目录里几乎到处都是,复制的时候也会一起复制走。虽然svn export可以导出干净的文件,但这个操作首先要浪费时间,而且意味着svn控制中的目录是不干净的,不能随便拷。不过据说新版本的svn也跟git一样改为只有一个控制目录了。 svn还有一个问题就是它不是分布式的,它有一个中心服务器,这个中心服务器控制着整个项目的版本进度,也就是说,当这个中心服务器出了问题,整个项目就处理无法控制版本的情况。而git做得很好,git是分布式的,任何一个机器都是一台版本控制体,其实并没有真正的服务器概念,当文件有变更时,直接提交到本地仓库。想把自己的仓库发送到其他机器上,就叫做推送,想把其他机器上的信息复制过来,就叫拉取。当多台机器都发生变化时,相互推送后会产生不同的分支,可以通过合并操作将两个改动合并到一起去。 觉得git不仅是很强的版本控制软件,甚至可以做同步软件了,不仅可以取代rsync进行文件的备份,甚至比rsync更厉害。为什么?因为rsync是有服务器概念的,而git没有。

  • 基于Busybox的linux ramdisk

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

  • Ubuntu11.10开启VMWare 3D加速功能

    最近买了台新电脑,500G硬盘,6G内存,Core i5 CPU.没显卡,据说i5内置的集成图形处理器还是可以的,而且本人对显卡要求不高,不怎么玩游戏的. 把500G硬盘全部拿来装了Ubuntu11.10.然后装了个VMWare,在里面装了几个常用系统和偶尔娱乐用的Windows7,发现vmware上的windows7没有支持到3D加速, Ubuntu11.10给VMWare加速的方法: 1.安装driconf: 如果你想用软件中心来安装,搜索driconf或者3D Acceleration都能定位到这个程序. 2.运行”3D Acceleration”(搜索应用程序) 3.点击image quality标签, 有一个 enable ST3 Texture compression even if software support is not available.把这个设置成YES 搞定,你的VMWare可以支持3D加速鸟.

  • C语言内存中执行外部代码详解(二)

    前面我们讲了理论知识,本来打算再慢慢写的,不过有网友对这个话题很感兴趣,我就加快写了。 本文地址:http://www.hoverlees.com/blog/?p=1014 现在要做个实例,要实现这个功能,需要按以下步骤做: 1.创建需要加载到其它进程中的外部函数 2.编译这个代码 3.复制代码的机器指令到文件中 4.加密这个文件(可选) 5.其它进程使用VirtualAlloc(windows)或mmap(linux)将程序加载到内存中,如果加密了,需要在这里解密后加载。 6.执行程序。 下面我们进行要加载到内存的代码的编写,假设其它进程需要加载到内存中执行的函数叫get_number_line,我们先写出它的功能(就是获取一个文件的行数)

  • Ubuntu 11.04上 vmware窗口崩溃的解决方法

    Ubuntu11.04上跑VMware 7.14会出现一个奇怪的情况,就是当VMWare会弹出提示框时,很可能你的vmware workstation窗口就再也打不开了.这是 vmware的bug,解决方法也很简单. 使用root用户编辑 /usr/bin/vmware ,在第二行加上 问题解决.

  • Ubuntu 11.04使用心得

    最近换了最新的Ubuntu 11.04来用用,觉得用户体验还是不错的,看得出它的宗旨来,就是要省用户屏幕。其实这个理念最早是浏览器提出来的,现在的浏览器,都是尽量减少菜单之类的控件占用屏幕的空间,使用户最想看到的内容区域变得更大。这是一个非常不错的理念,我也深信最初这个产生这个idea的设计人员,一定是上网本之类的小屏幕用户~ Ubuntu取消了放在下方的任务栏(也是为了节约屏幕),取而代之的是在屏幕左边做的浮动任务栏,这个任务栏效果其实很不错,有win7任务栏的效果,而且也很好用,不过刚用这种任务栏的人肯定是不习惯的,我一开始也不习惯,用久了发现挺爽的。关键是有窗口闪动时,左边的任务栏会只跳出这个窗口的图标,并抖两下给用户看,我觉得这儿很可爱呀有没有!

  • Linux上使用程序相对路径访问文件

    今天一个朋友问我这个问题,说为什么在Windows上跑得很好的应用程序,移植到Linux上后就读不到跟应用程序在同一文件夹下的文件呢,我说,这是Linux和Windows在Work directory上设置的不同。 大家都知道,对于Windows而言,应用程序的默认工作目录就是应用程序所在的目录,它一般是不管应用程序是从哪个目录上下文启动的。那么在不更改工作目录的情况下,读文件使用相对目录就肯定是相于应用程序所在的目录。 但对于Linux而言,应用程序的默认工作目录就不同了,它是默认是继承启动它的进程的工作目录的,也就是说,如果进程是在其它目录下启动,那应用程序的工作目录默认就在其它的目录下。这样的话使用相对路径访问文件就有很大的不确定性:我们永远也不能保证,用户一定是从应用程序所在的目录启动! 那要怎么解决呢,我给的建议是,在程序启动后,修改应用程序的当前目录到应用程序所在的目录,然后其它所有程序都无须改动。最好的办法当然只有一个,那就是通过main函数传入的argv[0]计算出当前目录。 下面的例子是读取跟应用程序所在同一目录的a.txt文件并显示,程序启动后修改当前工作目录为应用程序所在的目录,所以不管应用程序从哪个目录启动,程序都能正确地读到a.txt这个文件。

  • linux kernel hackers manpages 编译

    想要成为Linux内核的Hacker, 老是看源代码和头文件还是不够的,实践是很重要的不可缺少的环节,一定还要多自已动手写内核驱动才行。写驱动没有manpage光翻头文件那是不可能的事,所以,一定要自己编译manpages出来才行。 首先到kernel.org上去下载源代码 然后安装xmlto,因为编译manpage的时候需要安装xmlto。 然后到源代码目录下执行如下命令: 内核manpages安装后会放到man section 9里面。