Jump to Navigation

Linux

Linux/Unix操作系统

gentoo默认使用clang编译包

clang-3.0以后,逐渐成熟稳定,由于它的编译速度,几次想使用其编译整个系统。

目前,终于在clang-3.3,把系统的默认编译器设置为了clang。
由于gentoo的高度灵活性和可定制性,这个切换过程不太复杂。

gentoo的多编译器设置机制:
在编译时gentoo其实使用是CC和CXX变量,所以只要能设置相应的变量,
gentoo的编译系统会使用这些变量执行编译。
另外,gentoo还给出了配置目录,/etc/portage/,用于定制化gentoo的编译过程。
其中目录/etc/portage/env/中的文件,可被用于配置编译器切换,如
该目录中有gcc,clang文件,分别对应使用gcc和clang编译时的环境变量设置。

配置如下:
make.conf文件:
添加 source /etc/portage/env/clang

Category:

搭建nginx+git+cgit环境

1、环境目标
*) 通过http协议操作git库,
*) 支持基本的git库用户认证
*) 通过http协议访问git库展示,类似gitview功能

2、基础环境与包安装
centos-6, 64位
nginx-1.4.1

3、安装带完整dav支持的nginx
由于nginx包自带的dav模块不是完整的dav协议实现,
还需要用于一个额外的nginx模块,nginx-dav-ext-module。
下载nginx-1.4.1.tar.gz,解压,
./configure --add-module=/path/to/nginx-dav-ext-module
make && make install

配置编译好的nginx,并启动,

Category:

多台linux的X之间共享键盘和鼠标

多台linux的X之间共享键盘和鼠标,对提高工作效率比较重要。
在linux这个开放的系统上,这个功能也比较容易实现。
今天就介绍一种synergy的工具,很容易的实现这种功能。

synergy是客户端-服务器模式的应用,服务器端的键盘和鼠标为控制,
鼠标可以移动到客户端机器,键盘输入会在客户端输入。
客户端的键盘和鼠标仍旧只能在客户端使用,而不能过渡到其他的机器上。

先看服务器端,启动命令,
/usr/bin/synergys -f --no-tray --debug NOTE --name myarchbox -c /path/to/synergy_server.conf --address :24800

-f 参数表示不进入后台执行,方便查看程序输出。
-name 表示服务器端的名字
-c表示服务器端的配置信息,
--address 表示服务器网络监听端口

Category:

最近遇到的fastdfs响应超时问题

最近测试fastdfs,准备正式使用,但测试中遇到比较严重的问题:

大多数情况下运行良好,偶尔一段时间,大概超过1个小时内,使用php客户端上传文件,

一起显示110 Connection timed out错误。

在服务器端也同样报这个错误,显示与另一台storage通信有接收响应超时,错误如下,

经过分析,发现在报错比较多的情况,monitor显示sync delay 比较大,大概超过30m到1小时。

猜测可以是同步镜像有一些问题,现在同步镜像的设置为24小时实时同步,可能比较耗资源。

可以通过调整同步等待时间与同步时间段方式,测试是否确实与此有关。

总结几种方法可以试着调整测试一下,

调整同步等待时间与同步时间段。

安装libevent-2.0-stable版本,目前使用centos 6自带的1.13-stable版本。

使用connection pool,用网络连接池的方式减小连接消耗。

调整read/write的线程数,使整个过程不会阻塞在某个IO操作上。目前的服务器做了raid,适当调整可提高IO效率。

希望通过这些方式测试,确定这个问题的原因,并能解决。

Category:

ARM处理器支持的数据宽度

ARM 处理器支持6种数据类型;

8位有符号和无符号字节。 (char, unsigned char)

16位有符号和无符号半字,它们以2字节的边界对准。(short int, unsigned short int)

32位有符号和无符号字,它们以4字节的边界对准。(int, unsigned int)

ARM指令全是以32bit的字并且必须是字对准的。

Thumb指令是半字而且必以两字节的边界对准的。

#include
#include

Category:

在android的shell直接执行C程序

默认情况下,sdcard是以noexec参数挂载上的,
所有传输到/sdcard/下的所有C编译出来的二进程程序无法直接执行,
会出现sh: ./mplayer: can't execute: Permission denied错误。
但是这个/sdcard/目录下的shell脚本文件是可以执行的。

对于在shell中执行C/C++编译出来的二进制程序,有两种方式,
一种是把程序放在/data/local/tmp目录下,即可执行
第二种,如果系统已经root了,可以以新的参数重新挂载sdcard,
mount -o remount,rw /mnt/sdcard

这样放在sdcard上的二进制程序也可以无障碍执行了。

Category:

linux google-chrome二进制包绿化安装

ps:
由于google-chrome 28 不在支持centos 6.x版本,自己下载安装会由于库依赖问题导致无法正常运行。
经搜索,其他人已经解决了这个问题,要更新更新的google-chrome,请参考这些方式:
http://chrome.richardlloyd.org.uk/
http://www.mjmwired.net/linux/2013/06/19/chrome-28-and-newer-for-centos-6/

下载版本,
下载.deb版本
deb2targz google-chrome-unstable_28.0.1478.0-r194114_amd64.deb
lzma -d google-chrome-unstable_28.0.1478.0-r194114_amd64.tar.lzma

Category:

linux virtualbox 安装 winxp摄像头和USB问题

主要是需要安装这个包,/Oracle_VM_VirtualBox_Extension_Pack-4.0.6-71344.vbox-extpack
下载之后,在virtualbox 的扩展管理中安装,

即可开启宿主机上的设备到虚拟机内使用。

另外,还要把当前启动虚拟机的用户加到vbox组中,

安装完毕之后,打开 系统->系统管理->用户和组,然后选择左下方的 管理组 找到

vboxusers点击属性,把你当前用户勾上即可。

然后重启

Category:

使用inotifywait命令监控服务器svn的修改

一般在维护SVN服务器的时候,都会有一些特殊的需要,比如对svn目录的的自动checkout,checkout后的文件权限修改,以及对更新的文件做某些处理。

这里展示一个我这服务器使用的一个简单脚本,是用来处理某些本地操作方式导致svn的目录中文件权限出错的问题。

其重点还是介绍linux系统的inotify模式功能,异步IO事件机制在实际工作中的应用。
异步事件的分类大概包括:文件创建,文件修改,文件打开、关闭等,还有一些组合戒指事件,可以使用man inotify获取更准确详细的说明。
这个模式在使用其他语言处理IO事件的时候也结非常有用,像在C/C++,PHP,等。

比如,如果没有这种异步IO事件通知的话,如果希望知道某目录下的文件修改,可能需要定时列出目录下的文件做比较,这种方法古老低效,容易出错。

示例演示,

Category:

gnu 命令行 win32移植 gow

安装包与源代码包下载:
https://github.com/bmatzelle/gow/downloads

Gow-0.7.0.exe — Gow 0.7.0 - Windows Installer
8.1MB · Uploaded 4 months ago

gow-utilities-src-0.7.0.tar — Gow 0.7.0 - Source Code
43.9MB · Uploaded 4 months ago

Category:

页面

订阅 RSS - Linux


Main menu 2

by Dr. Radut