Ubuntu 12.04 Apache2 增加虚拟目录

Apache2 增加虚拟目录需要如下操作.

我们以建立一个 /deb 目录, 也就是可以通过 http://www.mobibrw.com/deb/来访问的目录为例子。

1.停止 Apache2 的服务,如果修改文件之前不停止服务,则服务重启的时候,有可能会写回以前的配置,导致我们的配置无效。

2.修改配置文件

在里面增加如下内容

如果允许用户可以通过网页来遍历目录下面的所有文件,则需要设置 Options ,把 Options None 修改为 Options Indexes

3.启动服务

建立自己的apt-get源

1.安装 dpkg-scanpackages

2.安装apache2

默认的网站内容是在/var/www目录下的,我们建立一个deb文件夹用来存放自己的deb包:

使用dpkg-scanpackages 来生成Packages.gz(存放所有包的信息,以便用户获取):

dpkg-scanpackages 第一个参数用来指定要扫描的目录(当前所在目录的相对路径),通过’|'管道使用gzip(-9c 对应最高质量的压缩)输出到Packages.gz包中。

3.在其他机子上添加源

添加一行:

由于当多个软件源都存在同一个包的时候,apt-get 只会从第一个软件源中下载,因此,如果自建的软件源中有跟其他软件源中冲突的包,则需要把我们自建的软件源增加到sources.list 的最前面。

执行:

编译vim,提示找不到tgetent()

在树莓派上面编译VIM 的时候,提示找不到 tgetent()

就总是提示错误:

解决方法

安装ncurses-dev

Raspberry Pi(树莓派)国内软件源

树莓派自带的软件源是

由于网站在国外,导致下载速度非常慢,因此需要修改为国内镜像站点即可。

Raspberry Pi(树莓派)国内软件源:

修改配置文件

推荐使用如下命令直接替换成国内源(中科大的服务器):

树莓派Raspberry Pi上手报告

raspberry-pi-logo背景

关于树莓派的背景介绍在网上已经很多了,在树莓派的官方网站上也有一个长篇大论。这里只是简单的列一下:

  1. 厄普顿(Eben Epton)在2006年已经意识到要为儿童提供一种廉价的计算机,因为他觉得从2000年之后,报读计算机系的优等生无论从数量上还是技术水平上都一年 不如一年(the year-on-year decline in the numbers and skills levels of the A Level students applying to read Computer Science in each academic year,貌似这段是请中国人写的,因为除了中国人之外,想不出哪里的人会用read Computer Science来写报读计算机专业)。而90年代的学生大部分都是有经验的编程爱好者(experienced hobbyist programmers)。
  2. 厄普顿觉得这样的原因在于:家庭PC机过于昂贵,所以父母不肯给小孩在上面进行一些实验。所以他想做一个廉价的,可以和老式计算机一样,一启动就 进入编程环境的计算机。(其实我觉得不是过于昂贵,当年的Apple II和中华学习机也是要几千块一台的,真正原因是PC从极客用品变成了一种日常消费品,父母同样不会让你拿家里的冰箱微波炉拆开做实验的)

后来的故事大家也知道了,由于他成立了树莓派基金运作这个事情,宣称要做一个只有25美金的家用电脑,而且体积和信用卡一样大,可以接电视,可以播高清视频,所以一下子吸引了眼球,以至于订购的人刷爆了他的网站。

订购

淘宝上很早就有了,但是有点贵,我也不想断了人家的财路,也不想在这里帮别人做广告,反正最后我是以35美金加中国的17%的增值税加较高的运费(从上海到广州要40块钱)买到的,到手的价格还算合理。订购后2个星期内到货。

开箱

整块板卡的做工不错,拿在手上确实觉得很小,SD卡的插槽有点粗糙,见照片。raspberry-pi-1-680x1024 raspberry-pi-2-1024x680 可能为了节省体积,电路板上没有任何可以用来固定的螺丝孔,所以一定要等有人做出专门的外壳或者专门的架子才能固定,树莓派基金承诺今年夏天会推出 外壳。电源接口是microUSB而不是miniUSB,和我的C8500的接口一样,个人感觉如果是miniUSB会通用一点。由于只有两个USB口, 但是正常使用除了接键盘鼠标外,大部分人还是需要接多一个USB硬盘的,所以需要配合一个USB HUB来使用,而且这种板卡的USB口的驱动能力不会很强的,所以还必须是有源的USB HUB才能接大点的硬盘。

加电

没有插SD卡,加电时除了电源灯之外,不会有任何的反应,HDMI没有任何输出,树莓派的说明书中提到可以通过串口输入命令,但是它的串口是通过那两排GPIO的脚的其中三个脚印引出的,而且是TTL电平的,必须通过驱动芯片才能和PC机的串口连接。raspberry-pi-serial_sm

准备SD卡

新手建议使用NOOBS 版本的安装,目前的最新版本是1.4.0,下载网址为 http://www.raspberrypi.org/downloads/,参考下载的zip文件的 ”INSTRUCTIONS-README.txt“ 里面的介绍,就可以简单安装。手动安装的话,参考如下。 树莓派的官网提供了三个版本的镜像文件,还有无数第三方的镜像,由于是初次接触,还是用官网的Raspbian版本,因为是基于Debian的,所以Debian的一些命令和配置方法可以用得上。还要下载Win32DiskImager工具,用于在Windows下将下载的IMG文件写入到SD卡中。至于为什么把镜像文件直接拷贝到SD卡中是无效的,一言难尽,就和刻录光碟的ISO镜像要用专门刻录镜像的功能,而不能直接把ISO文件刻录到光碟上的道理是一样的。raspberry-pi-diskimager

下载树莓派最新镜像文件,然后把读卡器和SD卡插入计算机,运行Win32DiskImager,选择镜像文件和合适的盘符,如果原来机器上插有其他的USB硬盘或者SD卡,建议在做这件事之前全部拔掉,避免发生选错盘符,把整个USB硬盘资料全部洗掉的情况。 raspberry-pi-3-1024x680 写入完成后,就可以把SD卡插到树莓派上,把HDMI线、鼠标、键盘、网线全部插上。

首次启动

加电后,如果电源灯旁边的绿色的灯(OK)会闪动,就说明SD卡是可用的。这时如果HDMI连接好电视了,电视上就会开始出现启动画面了。raspberry-pi-4-1024x680 接着是熟悉的Linux启动界面,企鹅被替换成了树莓: raspberry-pi-5-1024x680 firstscreen 首次启动将出现系统初始配置的界面,这个界面在也可以在之后的终端窗口中通过sudo raspi-config激活。 由于在初始配置的界面上没有看到有网络配置的选项,所以建议在网络环境中一定要有DHCP,也就是能自动获取IP的网络环境。因为Raspbian的各种软件的安装是需要网络连接支持的。需要用到的功能说明如下:

  • expand_rootfs - 将根分区扩展到整张SD卡,因为整个Image才400多兆,但是现在的SD卡基本都是几个G的,除非SD卡有其他用途,一般建议选择这项,这样可以有足够多的空间来安装各种程序。
  • overscan - 可以扩充或者缩小屏幕的设置,除非一启动就发现显示的内容能刚好填满整个电视的画面。大部分情况下是不能填满或者超过,如果这样就要enable这个,然 后在系统启动之后,更改config.txt中的overscan_left、overscan_right、overscan_top和 overscan_bottom的内容,如果显示内容超出屏幕的范围(显示不全),就要设置这些值为正值,如果是1080p,一般设置为48。如果显示的 内容不能填满屏幕,则设置这些值为负值,如果是1080p,一般设置为-48。具体可以更加显示的结果,以16为步长进行调整。
  • configure_keyboard  - 这个很重要,前面的屏幕选默认值:Generic 105-key (Intl) PC,但在Keyboard layout:时,显示出来的都是English(UK)的,要选择Other,然后在里面选择English(US),否则会出现键盘的一些符号不对或 者对调,比如引号”和@符号对调,#号变成英镑符号等等。之后的两个屏幕都选择默认值就可以了,到了:Use Control+Alt+Backspace to terminate the X server? 时,选择Yes,表示用这个可以终止X Server,当整个X-Window死掉的时候可以用。
  • change_pass - 默认的用户名是pi,密码是raspberry,一般登录时不需要输入,但是用ssh远程连接时要用到这个用户名和密码,这里可以更改密码。
  • change_locale - 更改语言设置。在Locales to be generated: 中,选择en_US.UTF-8和zh_CN.UTF-8。在Default locale for the system environment:中,选择en_US.UTF-8(等启动完机器,装完中文字体,再改回zh_CN.UTF-8,否则第一次启动会出现方块)。
  • change_timezone - 更改时区,这个很重要,因为树莓派没有内部时钟,是通过网络获取的时间,如果设错时区,那么时间就不正确了,选择Asia - Shanghai,没错是Shanghai,木有Beijing,这是Unix的传统。缩写是CST,不知道是China Shanghai Time还是China Standard Time。
  • memory_split - 按照网上的说法,这个功能有Bug,会导致/boot/start.elf损坏使系统无法启动,所以不要使用这个功能。 可以通过拷贝/boot/下的arm128_start.elf、arm192_start.elf、arm224_start.elf覆盖 start.elf来实现显存和内存的划分。为了能播放高清1080p的视频,至少要分配64M显存给GPU。所以arm224就不能播放1080p高清 视频。
  • ssh - 是否激活sshd服务,应该选择激活,这是当界面死掉后唯一进入机器的通道(如果Kernel没死的话),可以找另外一部机器,用putty或者其他ssh的工具连接到这部机器上,用pi这个用户登录,至少可以实现安全重启。
  • boot_behaviour - 设置启动时启动图形界面,正常肯定是Yes。

设置完成后,选择Finish,会提示是否重启,选择Yes。 重启后,将进入LXDE的X-Window环境,反正都是有桌面图标和开始菜单,应该比较容易掌握使用。

让Raspbian支持中文

一直令我很奇怪的是,即使你用Debian的安装光碟安装系统,如果你把Locale改成了中文的话,系统是不会自动安装中文字体的,直接的效果是 系统的很多信息都用中文显示,但是由于没有安装字体,所以全部变成了方块,所以完全不知道信息的内容是什么, 这个作为系统安装工具我认为是有问题的,因为这样会直接造成系统不可用,基于Debian的Raspbian也有同样的问题。所以如果你在初始设置时,不 小心把系统的Locale设置成了zh_CN.UTF-8,当你进入Raspbian的图像界面时,会马上傻眼了,不知道图标、菜单的内容是什么,因为全 部是方块。所以建议初始设置时,locale尽量用en_US.UTF-8或者en_GB.UTF-8。启动后,双击桌面那个计算机显示器图标,出现提示 符时打入:

将安装文泉驿的开源中文字体.。 中文是可以显示啦,输入呢?Linux下早就有啦,叫SCIM(Smart Common Input Method ),所以只要输入:

就会安装拼音输入法,安装完成后,可以直接打入scim激活,下次启动是会自动启动的。快捷键也是Ctrl+空格。或者直接点击右下角图标选择。 接着运行:

然后选择change_locale,在Default locale for the system environment:中选择zh_CN.UTF-8。然后重启机器,就发现整个环境变成中文的了。 raspberry-pi-home-screen-1024x576

视频播放

标准Raspbian版本中支持树莓派的GPU的播放器好像只有omxplayer,是个命令行程序,没有界面的,也不能拖动。它有很多参数,最常 用的是-o,选项有local和hdmi,表示声音输出到audio out还是hdmi,omxplayer后面跟着要播放的文件名称,不支持wmv,不支持外置字幕。打开终端窗口,出现提示符后输入:

也可以先用cd命令,将当前路径改变到文件所在的目录,文件名就不需要绝对路径了。其实大家会觉得命令行输入非常麻烦,但只要用Tab键进行命令补 齐,用ls列出当前目录的文件,再配合鼠标选择文字,然后按中键(就是按下滚轮)进行连动的复制粘贴,即使没有资源管理器也会发现目录操作可以很快速的。 由于一般媒体文件都是放置在外置的硬盘中,所以这时需要将硬盘接入到USB口上,系统默认会在/media目录下创建和硬盘卷标一样的目录,并将USB硬盘挂接上去,之后就可以访问了。 测试的结果大部分用X.264编码的1080p视频都可以正常流畅播放。唯一一部无法播放的是:[魔术师和兔子].Pixar.Short.Presto.1080p.BluRay.x264.mkv。 这是《变形金刚3》的播放效果:raspberry-pi-6-1024x680 omxplayer的快捷键如下:

Key Action
1 加速
2 减速
j 上一条音轨
k 下一条音轨
i 上一节
o 下一节
n 上一条字幕轨
m 下一条字幕轨
s 显示/不显示字幕
q 退出
空格或 p 暂停/继续
- 减小音量
+ 增加音量
后退30
前进30
后退600
前进600

 

接下来玩什么

1.超频(overclocking)

玩家型的CPU都是支持超频的,通过更改/boog/config.txt中的下列参数可以实现超频:

Option Description
arm_freq frequency of ARM in MHz. Default 700.
gpu_freq Sets core_freq, h264_freq, isp_freq, v3d_freq together.
core_freq frequency of GPU processor core in MHz. It have an impact on ARM performance since it drives L2 cache. Default 250.
h264_freq frequency of hardware video block in MHz. Default 250.
isp_freq frequency of image sensor pipeline block in MHz. Default 250.
v3d_freq frequency of 3D block in MHz. Default 250.
sdram_freq frequency of SDRAM in MHz. Default 400.
over_voltage ARM/GPU core voltage adjust. [-16,8] equates to [0.8V,1.4V] with 0.025V steps. Default 0 (1.2V) [1]
over_voltage_sdram Sets over_voltage_sdram_c, over_voltage_sdram_i, over_voltage_sdram_p together
over_voltage_sdram_c SDRAM controller voltage adjust. [-16,8] equates to [0.8V,1.4V] with 0.025V steps. Default 0 (1.2V) [1]
over_voltage_sdram_i SDRAM I/O voltage adjust. [-16,8] equates to [0.8V,1.4V] with 0.025V steps. Default 0 (1.2V)[1]
over_voltage_sdram_p SDRAM phy voltage adjust. [-16,8] equates to [0.8V,1.4V] with 0.025V steps. Default 0 (1.2V)[1]

如何组合参照下表(注意:如果设置了over_voltage,质保就会失效,但是SD卡在你手上它怎么知道你设了?):

arm_freq gpu_freq core_freq h264_freq isp_freq v3d_freq sdram_freq over_voltage over_voltage_sdram
750 255         450    
900 250         500    
900 275         500    
900   450       450    
930 350         500    
1000   500       450 6  
1000   500       500 6  

但是本人没有玩过,会不会发生冒烟、地震、火山爆发或61年一遇的洪水等情况,就不得而知了。

2.Razdroid

实际上就是 Android 4.0  (Ice Cream Sandwich) for Raspberry Pi。根据这个帖子,安卓4.0已经在树莓派上跑起来了,很快就会发布了。这是我非常期待的一个东西,之后就有大量的应用程序可以用了,但是我还是对性能上的表现十分担心,毕竟现在很多手机都是1G以上的CPU和1G内存了。 raspberry-pi-razdroid-1-1024x575 raspberry-pi-razdroid-2-1024x575

3.XBian

XBMC是Linux的媒体中心版,XBian就是XBMC和Raspbian结合的产物,作为播放器应用,这个也应该更加方便,支持的文件格式应该更多,尤其是能支持外置字幕。

4.SSH

最新版本的已经自带SSH ,并且直接就可以登陆成功了,因此不需要特别安装了。 引用 http://www.leiphone.com/news/201406/raspberry-pi-hands-on.html

Windows下Mingw的复制粘贴

使用GIT,免不了会接触到GIT的命令行界面,但是在这个界面上面貌似不能复制粘贴,比较麻烦,网上查询了一下,可以按照下图的方式来操作,就是有些费劲啊。
右击标题栏,在弹出的菜单里面选择复制粘贴。mingw_copy

调试UMDF驱动

相对于调试运行在最高特权级的WDM、KMDF驱动,调试运行在ring3的UMDF驱动难度大为降低,不需要双机调试,我们可以像调试普通应用程序和服务一样在一台电脑上完成。

调试方法:

  1. 编译好需要调试的驱动(包括安装用的inf等),连接硬件,把需要调试的驱动安装上。然后断开硬件连接(对于USB设备来说直接拔出就可以了)。
  2. 启动WinDBG,设置好符号路径,特别是被调试驱动的符号。详细设置可以参考Debugging Tools的文档。
  3. 运 行regedit,打开

    如果之前从 未调试过UMDF驱动,会发现HostProcessDbgBreakOnDriverLoad键值为0,这个键值的含义是延迟多少秒加载驱动对象。我们 把它修改为15秒(十六进制0xF,如果手慢可以改得更大)。注意这个键值不影响DllMain,如果要调试DllMain,请修改 HostProcessDbgBreakOnStart。
  4. 插入硬件,并且在15秒内使用WinDBG的Attach to Process(快捷键是F6),找到UMDFHost.exe,attach即可。注意如果系统有多个使用UMDF驱动的硬件,就会有多个 UMDFHost.exe进程,为了不致混淆,请提前移除不用的硬件。
  5. 完成调试后,请恢复注册表(将延迟修改为0),以免正常硬件的驱动加载被延迟。

链接 http://hyperiris.blog.163.com/blog/static/180840059201026477127/

Windows打开应用,提示“此程序被组策略阻止”

Windows打开应用,提示“此程序被组策略阻止”,该问题为组策略限制了用户使用某个应用程序,一般可以在

中找到并且解除限制。但是有时候采用域控制的网络,这个控制信息可能存储在域控制服务器上面,这个时候就不好处理了,其实域控制的信息,也是要提前写入到本机的,总不能用户拔掉网线就可以使用某个应用,插上网线就不能使用某个应用了吧。因此只要找到注册表位置,删除即可。

组策略的注册表位置如下所示

先备份一下注册表,然后全部删除,重启机器即可。

其他的可能存储软件限制逻辑的注册表位置如下所示,可以自行尝试。

How to successfully build packages for WD My Cloud from source

The WD My Cloud comes with a Debian wheezy system on it. However WD customized that in a way that it is hardly possible (if not impossible at all) to install new packages using the standard "apt-get install <package name>" way, especially when you update the device firmware to version 4.x or later. The latest firmware, in fact, uses a modified Debian system with 64K sized memory pages: if you install a package using "apt-get install <package name>" from the standard repositories, almost certainly it won't run and produce just a laconic "Killed" output.
继续阅读How to successfully build packages for WD My Cloud from source

Ubuntu下HTTP多线程下载工具

Windows下的下载工具--迅雷,之所以下载速度快,乃是它能搜索资源、为己所用,而不是仅仅从原始地址这单一资源处下载。

Ubuntu下也有类似的工具,那就是aira2。
aira2是一个命令行下载工具,可以配合其他图形界面的下载软件使用。我用的是uget+aria2。uget本身是一个小巧实用的多线程下载工具,加上aria2作为插件,下载速度有明显提高。

一、安装。
uget和aria2都可以在“软件中心”中安装。但是版本都是比较旧的版本。

如果需要安装最新的版本,可以在终端中添加ppa进行安装:
1.uget的安装:

2.aria2的安装:

安装完aria2后,可以在终端中运行aria2 -v,查看版本和支持的特性。需要1.10以上的版本才能支持资源搜索。

二、使用与设置技巧
1.主界面及版本

20130612105251093

2.启用aria2插件

20130612105336468

3.设置下载任务的属性(同时下载几个任务、多少个服务器、保存位置等)

20130612105408843

20130612105426343

服务器数设置为16比较合适。

参考网址 http://blog.csdn.net/luojiming1990/article/details/9078447