Akawa

ETY001的博客

从用上android平板开始就在想能不能把web服务器移植到平板上来,这样就能实现移动开发了,比带着笔记本方便多了,没想到这个已经是有人实现出来了,本文转载自:http://alex-yang-xiansoftware-com.iteye.com/blog/1498536

GoAhead是一款强大的嵌入式的web服务器,广泛应用在各种潜入式的系统中。支持各种多种操作系统。可以使用静态html,cgi或ASP以及嵌入式的JavaScript。而现在android又在嵌入式系统中应用越来越广泛,以下为在android上移植goahead的详细步骤,其他嵌入式linux与此相同:

1.下载goahead的源码

https://github.com/embedthis/goahead/downloads

2.下载和解压arm-linux-gcc
比如解压到/usr/local/arm-gcc目录

3.修改goahead的mkfile文件

打开goahead/LINUX/Makefile文件,修改gcc和ar变量,如下两行:

CC=/usr/local/arm-gcc/opt/FriendlyARM/toolschain/4.4.3/bin/arm-none-linux-gnueabi-gcc
AR=/usr/local/arm-gcc/opt/FriendlyARM/toolschain/4.4.3/bin/arm-none-linux-gnueabi-ar

为了省去链接的麻烦,修改CFLAGS变量,添加static参数,直接修改为静态链接(否则在
执行编译后的目标码时一直报webs not found错误):

CFLAGS = -static -DWEBS -DOS="LINUX" -  DLINUX $(UMSW) $(DASW) $(SSLSW) $(IFMODSW)

阅读全文 »

当父元素的直接子元素或者下级子元素的样式拥有position:relative属性时,父元素的overflow:hidden属性就会失效。

解决方案:在父元素中也添加position:relative属性即可。

由于项目开发需要,里面用到的一个图片缩放处理的PHP类库使用了MagickWand扩展,所以我需要在本地开发环境中配置一下。我本地的开发环境是LinuxDeepin + LNMP的一键安装包,默认是不带MagickWand的。

首先是用LNMP文件夹下的脚本先安装ImageMagick,这个很简单,一会就搞定了,然后去MagickWand的官网下载MagickWand包,下载回来后,按照网上说的编译成扩展形式,但是编译出错了,忘记是提示什么了,在百度上搜索了下,说要先安装libmagickwand-dev,于是先sudo apt-get install libmagickwand-dev,如果你找不到这个包就apt-cache search magickwand下看看。

安装好后,重新编译,编译成功得到magickwand.so文件了,我的在/usr/local/php/lib/php/extensions/no-debug-none-zts-20060613/下面,然后去php.ini中加入extension = magickwand.so,重启php-fpm,提示错误:

undefined symbol zif_magicksetimageend

我了个去,各种搜索,最后只有在google上用zif_magicksetimageend搜出5条一模一样的问题,但还不是我要找的。。。。

昨天折腾了一天,换了magickwand 1.0.9在官网上的3种形式的压缩包,他们svn库的我也编译过了,错误依旧,今天索性换上个版本的试试,结果可以了。。。shit。。。。

另外编译MagickWand的时候,不要忘记 –enabled-share这个参数。

这个题目是摘自百度知道的题目,我也是15R特别版,也是在win7  64位下安装完中银的控件,键盘就不管用了,点击桌面文件也成了多选,初步判定是ctrl键成为了一直被触发的状态了。。。捣鼓半天最后发现了百度知道里一个很有用的答案,就是删掉

C:\windows\system32\drivers\ETD.SYS

然后重启就OK了,不过副作用就是触摸板不能用了。看来是控件跟触摸板驱动冲突了。

我只想说:Bank of China is rubbish!

百度知道:http://zhidao.baidu.com/question/454034960.html

转自http://dev.firnow.com/course/6_system/linux/linuxjq/2007211/19042.html
蓝森林 http://www.lslnet.com 2001年5月20日 21:16

作 者: difeijing

Richard Gooch rgooch@atnf.csiro.au
23-APR-1999
翻译:difeijing difeijing@263.net

本文档中的惯例用法

文 档中的每一节标题的右边都有一个字符串”

“。
每个小节都会有个”“在右边。
这 些字符串是为了在文档中查询更容易而设的。

注意:本文档的最新更新可在下面找到:
http://www.atnf.csiro.au/~rgooch/linux/docs/vfs.txt

它 到底是什么?

Virtual File System(或者被称为Virtual Filesystem Switch)是Linux内核中的一个软件层,用于给用户空间的程序提供文件系统接口。它也提供了内核中的一个抽象功能,允许不同的文件系统共存。

它 的工作方式的概览

在这一节里,在讲解细节问题之前,我会简单扼要 的介绍一下VFS是如何工作的。首先,介绍一下当用户程序打开或者操作文件时发生了些什么,然后看看一个文件系统是如何被支持的。

打开一 个文件

VFS实现了open(2)系统调用。路径参数被VFS用来在目 录入口缓存(dentry cache or “dcache”)。这提供了一个将路径名转化为特定的dentry的一个快的查找机制。

一 个单独的dentry通常包含一个指向i节点(inode)的指针。i节点存在于磁盘驱动器上,它可以是一个规则文件,目录,FIFO文件,等等。 Dentry存在于RAM中,并且永远不会被存到磁盘上:它们仅仅为了提高系统性能而存在。i节点存在于磁盘上,当需要时被拷入内存中,之后对它的任何改 变将被写回磁盘。存在于RAM中的i节点就是VFS的i节点,dentry所包含的指针指向的就是它。

dcache是你的整个文件空间的 观察点。跟Linus不同,我们中的大多数人不可能有足够的RAM空间来放我们的文件空间的所有文件的目录入口缓存(dentry),所以我们的 dcache会有缺少的项。为了将路径名转换为一个dentry,VFS不得不采取创建dentry的方式,并在创建dentry时将指针指向相应的i节 点。这是通过对i节点的查找完成的。

为了查找一个文件的i节点(通常从磁盘上读),VFS需要调用该文件的父目录的lookup()方 法,此方法是特定的文件系统所设置的。后面对此将会有更详尽的描述。

阅读全文 »

archlinux加载模块时默认加载了pcspkr,去除掉即可。去除命令:sudo rmmod pcspkr,加载命令:sudo modprobe pcspkr。但这样只能起到临时作用,如果机器启动时就禁止加载模块,那么需要编辑/etc/rc.conf,在modules中加入:!pcspkr

最新方法:

在 /etc/modprobe.d/ 中创建 .conf 文件,使用 blacklist 关键字屏蔽不需要的模块,例如如果不想装入 pcspkr 模块:

/etc/modprobe.d/nobeep.conf
# Do not load the pcspkr module on boot
blacklist pcspkr

**注意: **blacklist 命令将屏蔽一个模板,所有不会自动装入,但是如果其它非屏蔽模块需要这个模块,系统依然会装入它。

要避免这个行为,可以让 modprobe 使用自定义的 install 命令,直接返回导入失败:

/etc/modprobe.d/blacklist.conf
...
install MODULE /bin/false
...

这样就可以 “屏蔽” 模块及所有依赖它的模块。

今天帮别人调代码的时候遇到一个bug,就是在用thinkphp框架写一个模板页的时候,用的bootstrap,但是页面的文本框的高度不对,如下图:

鼓捣了一会,没有头绪,新建了一个一模一样的出来,放到另外一个空间跑,结果显示正常,仔细对比两者,发现区别在于灰色上面那个空白条。又是各种纠结后,最后无意中看到这个模板在geany的状态栏里显示含有BOM,我干你大爷的!又是BOM。重新搞一份没有BOM的,问题解决。。。

从百度百科摘出来的:

类似WINDOWS自带的记事本等软件,在保存一个以UTF-8编码的文件时,会在文件开始的地方插入三个不可见的字符(0xEF 0xBB 0xBF,即BOM)。它是一串隐藏的字符,用于让记事本等编辑器识别这个文件是否以UTF-8编码。对于一般的文件,这样并不会产生什么麻烦。但对于 PHP来说,BOM是个大麻烦。

PHP并不会忽略BOM,所以在读取、包含或者引用这些文件时,会把BOM作为该文件开头正文的一部分。根据嵌入式语言的特点,这串字符将被直接执行(显示)出来。由此造成即使页面的 top padding 设置为0,也无法让整个网页紧贴浏览器顶部,因为在html一开头有这3个字符呢!

在linux下导入chrome或者chromium的证书,只需要检查下自己是否有certutil命令,然后执行下面的命令即可:

certutil -d sql:$HOME/.pki/nssdb -A -t “C,,” -n GoAgent -i ‘/home/ety001/goagent/local/CA.crt’

说明:

1、该命令不需要root执行,只要当前用户即可。

2、-n后面的参数随便,就是个名字

3、-i参数是你要导入的证书的位置。

2013-01-08补充:

不知道是文件损坏还是怎么回事,一运行就出错,比如:

certutil: function failed: security library: bad database.

或者:

certutil: could not authenticate to token NSS Certificate DB.: An I/O error occurred during security authorization.

重建目录和文件也不行,找了好几次终于找到初始化的命令:

modutil -changepw "NSS Certificate DB" -dbdir $HOME/.pki/nssdb

转自:http://blog.csdn.net/benben85/article/details/4161134

作用:用来查看程式运行所需的共享库, 常用来解决程式因缺少某个库文件而不能运行的一些问题。

ldd命令原理

1、首先ldd不是个可执行程式,而只是个shell脚本
2、ldd能够显示可执行模块的dependency,其原理是通过设置一系列的环境变量,如下:LD_TRACE_LOADED_OBJECTS、LD_WARN、LD_BIND_NOW、LD_LIBRARY_VERSION、LD_VERBOSE等。当LD_TRACE_LOADED_OBJECTS环境变量不为空时,所有可执行程式在运行时,他*都会只显示模块的dependency*,而程式并不真正执行。要不你能在shell终端测试一下,如下:
(1) export LD_TRACE_LOADED_OBJECTS=1
(2) 再执行所有的程式,如ls等,看看程式的运行结果
3、ldd 显示可执行模块的dependency的工作原理,其实质是通过ld-linux.soelf动态库的装载器)来实现的。我们知道,ld-linux.so模块会先于executable模块程式工作,并获得控制权,因此当上述的那些环境变量被设置时,ld-linux.so选择了显示可执行模块的dependency。

4、实际上能直接执行ld-linux.so模块,如:/lib/ld-linux.so.2 --list program(这相当于ldd program

ldd命令使用方法(摘自ldd –help)
名称    ldd - 打印共享库的依赖关系
大纲    ldd [选项]… 文件…
描述    ldd输出在命令行上指定的每个程式或共享库需要的共享库。

选项

--version
打印ldd的版本号
-v --verbose
打印所有信息,例如包括符号的版本信息
-d --data-relocs
执行符号重部署,并报告缺少的目标对象(只对ELF格式适用)
-r --function-relocs
对目标对象和函数执行重新部署,并报告缺少的目标对象和函数(只对ELF格式适用)
--help 用法信息

注意:

ldd的标准版本和glibc2一起提供。Libc5和老版本以前提供,在一些系统中还存在。在libc5版本中长选项不支持。另一方面,glibc2版本不支持-V选项,只提供等价的--version选项。
如果命令行中给定的库名字包含’/’,这个程式的libc5版本将使用他作为库名字;否则他将在标准位置搜索库。运行一个当前目录下的共享库,加前缀"./"。
错误:
ldd不能工作在a.out格式的共享库上。
ldd不能工作在一些非常老的a.out程式上,这些程式在支持ldd的编译器发行前已创建。如果你在这种类型的程式上使用ldd,程式将尝试argc = 0的运行方式,其结果不可预知。

转自:http://www.cnblogs.com/zhuyue/archive/2012/07/04/2576971.html

一、导入数据

1、确定 数据库默认编码,比如编码 为gbk,将读入途径编码同样设为gbk,命令为:
set names gbk;
2、source d:/20080613.sql 导入数据。验证 数据库 中的数据是否存在乱码。

3、如果仍然存在乱码问题,这时候就要考虑改变导入文件的编码,试着 导入,直至没有乱码出现。

网页数据存入乱码问题依照以上方法同样可以解决。可将网页编码改为与 数据库 相同的编码。问题自 然解决。

4、查看字符集

mysql>   show   variables   like   “%char%”;

阅读全文 »
0%