存档

‘科技’ 分类的存档

将笔记本设置为无线路由器

2013年9月5日 2 条评论

这是一篇讲述将笔记本设置为路线路由器的文章(原文),在顺德出差时测试是可行的。比较方便。
1.点开开始菜单输入“cmd”,在出来的程序中点右键,选择“以管理员身份运行”cmd.exe
2.在命令行下输入命令:netsh wlan set hostednetwork mode=allow ssid=name key=password (name为网络名称,password为密码,这两个可以自己改,密码不要太简单了,最好8位以上)。
3.接下来打开网络共享中心–更改适配器设置,你会发现多了一个Microsoft Virtual wlan Miniport Adapter,这个就是我们刚才虚拟出来的无线网络适配器。
4.继续在命令提示符中输入:netsh wlan start hostednetwork。这一步是打开刚才虚拟的无线网络,这样你的其他设备就可以发现刚才虚拟的网络了。
5.打开网络共享中心可以发现连接了两个网络,一个是你的有线网络,另外一个就是虚拟网络。在这里更改适配器设置,右击你的本地连接,也就是你连入网络的有线网卡,选择属性,点击共享,勾选“允许其他网络用户通过此计算机的 Internet连接还连接”选项,在下拉菜单中选择刚才建立的虚拟网络,确定。
6.现在打开你的手机wifi,会搜索到刚才设置的网络名称。连接输入密码即可上网了!
7.注意:每次打开电脑后这个无线网络都会显示未连接,可以手动启用,也可以新建一个文本文件,输入“netsh wlan start hostednetwork“,然后保存为.bat格式,随便改个名字,如“开启WIFI.BAT”,想用的时候双击就行了。补充一点,还有个更方便的方法是直接把建的这个文件拖到启动 里,这样的话开机就直接运行了。

分类: 科技 标签:

视频下载利器

2013年1月24日 没有评论

折腾了半天,找一个非常好用的youtube视频下载利器,Chrome YouTube Downloader。它是Chrome的插件,安装后,即可在youtube视频页面下看到Download按钮。很方便,很好用。

分类: 科技 标签:

通过PXE实现NFS Root

2013年1月4日 没有评论

前不久做了一个小测试,在一块支持PXE启动的主板上实现了网络NFS启动。主要目的是用来批量测试主板:之前测试主板都要加上DOM卡或者硬盘,频繁的插拔会导致DOM卡或硬盘的损坏,采用网络启动会减少这种硬件损耗。以下为主要的步骤。

1. 将主板接上一块SATA硬盘,连接USB光驱,安装Linux操作系统(以Cent OS为例)。注意安装时要选择开发包。

2. 安装完成后进入Cent OS系统,下载源码(例如linux-2.6.32.tar.gz)包然后解压,在解压生成的目录里,配置.config文件(可以使用make menuconfig或直接vim .config),将以下几项设置为y。

CONFIG_IP_PNP=y
CONFIG_IP_PNP_DHCP=y
CONFIG_IP_PNP_BOOTP=y
CONFIG_IP_PNP_RARP=y

CONFIG_ROOT_NFS=y

CONFIG_E1000=y
CONFIG_E1000E=y

注意,我测试使用的是Intel千兆网卡,所以上面的配置文件中选定的是Intel千兆网卡的驱动。如果主板使用的其它网卡,就选用对应的驱动。这里很重要,如果没有选择正确的网卡驱动而且没有设置Build-in方式,那么后面启动的时候就会碰到无法找到根目录的情况(我在这里曾经折腾了好长时间,排除防火墙/selinux等原因后发现失败是因为网卡驱动没有正确加载)。

然后编译内核:

# make bzImage
# make modules
# make modules_install
# make install

编译完成后,重启系统,选择从新内核启动。

3. 接下来生成根文件系统。在从新内核启动的系统中,新建一个/rootfs目录,然后将/etc、/bin、/sbin、/usr、/lib、/lib64、/dev和/var目录拷贝到/rootfs目录中,

# cd /
# mkdir -p rootfs
# chmod -R 777 rootfs
# cp -arf /etc /rootfs
# cp -arf /bin /rootfs
# cp -arf /sbin /rootfs
# cp -arf /usr /rootfs
# cp -arf /lib /rootfs
# cp -arf /lib64 /rootfs
# cp -arf /dev /rootfs
# cp -arf /var /rootfs
# cd /rootfs
# mkdir -p proc
# rm -rf dev/console
# rm -rf dev/null
# cd dev
# sudo mknod –m 600 console c 5 1
# sudo mknod –m 666 null c 1 3

4. 准备一台服务器(测试时服务器的IP为172.16.30.253)。在服务器上安装dhcp, tftp和syslinux

# yum install xinetd tftp-server tftp 
# yum install dhcpd
# yum install syslinux

5. 配置服务器。首先配置dhcp,

# vim /etc/dhcpd/config

allow bootp;
allow booting;

ddns-update-style interim;

next-server 172.16.30.253;
filename "/pxelinux.0";

subnet 172.16.30.0 netmask 255.255.255.0 {

        option routers 172.16.30.253;
        option subnet-mask              255.255.255.0;
        option domain-name-servers      172.16.30.253;
        option time-offset              -18000; # Eastern Standard Time
        range dynamic-bootp 172.16.30.128 172.16.30.254;
        default-lease-time 21600;
        max-lease-time 43200;

}

配置服务器的tftp:

# cp /usr/lib/syslinux/pxelinux.0 /tftpboot/
# cd /tftpboot
# mkdir -p pxelinux.cfg
# cd pxelinux.cfg
# vim default

prompt 0
default linux

label linux
kernel vmlinuz
append init=/sbin/init root=/dev/nfs rw nfsroot=172.16.30.253:/mnt/c ip=dhcp

注意,为了测试方便,以上设定可用single方式来启动。

配置服务器的nfs:

# mkdir -p /mnt/c
# chmod -R 777 /mnt/c
# vim /etc/exports

/mnt/c  *(rw,no_all_squash,no_root_squash)

启动各项服务:

# service dhcpd start
# service nfs start
# service xinetd start

6. 在主板新内核环境中,将第3步中准备好的rootfs复制到服务器的nfs目录下

# mkdir -p /mnt/rootfs
# mount 172.16.30.253:/mnt/c /mnt/rootfs
# cd /rootfs
# cp -rf * /mnt/rootfs
# sync

7. 将连接到主板的硬盘拆下,然后检查BIOS中是否已经打开PXE。重启系统,即可以从网络启动。

我写的比较简单。实际过程中,我还参考了这个链接

分类: 科技 标签:

RHEL6.3中yum使用CentOS源

2012年10月18日 没有评论

RHEL在未注册的情况下,是不能使用yum的。经过测试,以下步骤可以使用CentOS6.3的源在RHEL6.3中使用yum。

1. 删除RHEL6.3自带的yum:

# rpm -qa | grep yum | xargs rpm -e --nodeps

2.下载和安装CentOS6.3的yum:

# export DLPATH='http://centos.ustc.edu.cn/centos/6.3/os/x86_64/Packages'
# wget $DLPATH/yum-3.2.29-30.el6.centos.noarch.rpm
# wget $DLPATH/yum-metadata-parser-1.1.2-16.el6.x86_64.rpm
# wget $DLPATH/yum-plugin-fastestmirror-1.1.30-14.el6.noarch.rpm
# rpm -ivh *.rpm

3.重命名rhel-source.repo, 并生成新的CentOS-Base.repo

# cd /etc/yum.repos.d/
# mv rhel-source.repo rhel-source.repo.bak

# vim CentOS-Base.repo
## 以下为CentOS-Base.repo文本
[base]
name=CentOS-6 - Base
baseurl=http://centos.ustc.edu.cn/centos/6.3/os/$basearch/
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-6

#released updates
[update]
name=CentOS-6 - Updates
baseurl=http://centos.ustc.edu.cn/centos/6.3/updates/$basearch/
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-6

[extras]
name=CentOS-6 - Extras
baseurl=http://centos.ustc.edu.cn/centos/6.3/extras/$basearch/
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-6
#
[centosplus]
name=CentOS-6 - Plus
baseurl=http://centos.ustc.edu.cn/centos/6.3/centosplus/$basearch/
gpgcheck=1
enabled=0
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-6
#
##contrib - packages by Centos Users
[contrib]
name=CentOS-6 - Contrib
baseurl=http://centos.ustc.edu.cn/centos/6.3/contrib/$basearch/
gpgcheck=1
enabled=0
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-6
#

4. 可以使用yum了,如使用yum安装lynx和gcc

# yum install lynx
# yum install gcc
分类: 科技 标签:

Ubuntu 11.10使用apt安装sun-java6-jre

2012年8月23日 没有评论

Ubuntu 11.10不支持使用apt直接安装sun-java6-jre:

 
phillip@barclona:~# sudo apt-get install sun-java6-jre
正在读取软件包列表... 完成
正在分析软件包的依赖关系树       
正在读取状态信息... 完成       
现在没有可用的软件包 sun-java6-jre,但是它被其它的软件包引用了。
这可能意味着这个缺失的软件包可能已被废弃,
或者只能在其他发布源中找到
E: 软件包 sun-java6-jre 没有可供安装的候选者

参考网上的资料,我在本地的机器(Barcelona)上可以成功安装。当我在另外一台Ubuntu 11.10(Athens)上安装,执行

phillip@barcelona:~$ sudo add-apt-repository ppa:ferramroberto/java

系统(Athens)一直没有任何响应,有可能是因为公司的网络对部分IP做了限制。于是参考前一台(Barcelona)的相关信息,发现以下办法可以解决(Athens)。

首先,修改/etc/apt/sources.list

phillip@athens:~$ vim /etc/apt/sources.list
#增加两行
deb http://ppa.launchpad.net/ferramroberto/java/ubuntu/ oneiric main
deb-src http://ppa.launchpad.net/ferramroberto/java/ubuntu/ oneiric main

然后导入Key:

root@athens:~# gpg –ignore-time-conflict –no-options –no-default-keyring –secret-keyring /tmp/tmp.0S56yR1H31 –trustdb-name /etc/apt/trustdb.gpg –keyring /etc/apt/trusted.gpg –primary-keyring /etc/apt/trusted.gpg –keyserver hkp://keyserver.ubuntu.com:80/ –recv 3E756CF119B127D4DA40A186B725097B3ACC3965

gpg: 钥匙环‘/tmp/tmp.0S56yR1H31’已建立
gpg: 下载密钥‘3ACC3965’,从 hkp 服务器 keyserver.ubuntu.com
gpg: 密钥 3ACC3965:公钥“Launchpad lffl”已导入
gpg: 没有找到任何绝对信任的密钥
gpg: 合计被处理的数量:1
gpg:               已导入:1  (RSA: 1)

接下来更新源。更新完成后即可安装sun-java6-jre:

root@athens:~#apt-get update
root@athens:~# apt-get install sun-java6-jdk sun-java6-plugin
正在读取软件包列表... 完成
正在分析软件包的依赖关系树       
正在读取状态信息... 完成       
将会安装下列额外的软件包:
  gsfonts-x11 java-common odbcinst odbcinst1debian2 sun-java6-bin
  sun-java6-jre unixodbc
建议安装的软件包:
  default-jre equivs sun-java6-demo default-jdk-doc sun-java6-source
  sun-java6-fonts ttf-kochi-gothic ttf-sazanami-gothic ttf-kochi-mincho
  ttf-sazanami-mincho libmyodbc odbc-postgresql tdsodbc unixodbc-bin
下列【新】软件包将被安装:
  gsfonts-x11 java-common odbcinst odbcinst1debian2 sun-java6-bin
  sun-java6-jdk sun-java6-jre sun-java6-plugin unixodbc
升级了 0 个软件包,新安装了 9 个软件包,要卸载 0 个软件包,有 4 个软件包未被升级。
需要下载 55.8 MB 的软件包。
解压缩后会消耗掉 165 MB 的额外空间。
您希望继续执行吗?[Y/n]Y
分类: 科技 标签: , ,

mediawiki安装CKEditor插件

2012年4月18日 8 条评论

下载CKEditor,解压到/var/lib/mediawiki/extensions目录下:

root@athens:/var/lib/mediawiki/extensions# ls
ckeditor  README

修改/var/lib/mediawiki/LocalSettings.php文件,在最后加上:

require_once("$IP/extensions/ckeditor/ckeditor.php");

$wgHooks['EditPage::showEditForm:initial'][] = 'showEditForm';
function showEditForm($form){
global $wgOut;
$wgOut->addScriptFile( '/extensions/ckeditor/ckeditor.js' );
$script =
"<script type=\"text/javascript\">
window.onload = function()
{
CKEDITOR.replace( 'wpTextbox1' );
};
if ( window.removeEventListener )
window.removeEventListener( 'load', mwSetupToolbar, false ) ;
else if ( window.detachEvent )
window.detachEvent( 'onload', mwSetupToolbar ) ; 
</script>";

$wgOut->addHTML($script);

return true;
}

调整Syntax Highlighter插件

2012年3月20日 没有评论

我选择了Syntax Highlighter for wordpress作为显示代码插件。安装完成后,发现有两个问题。第一个是在代码区右上角有一个绿色的问号区域,点击会链接到Syntax的版权信息。我尊重原作者做出的努力,可是当代码段较少而又出现多次连续代码区域时,一片绿色的问号在视觉效果上感觉较差。我要去掉这个问号。在控制板中编辑该插件配置文件syntax_highlighter.php,将以下代码中的toolbar改为false即可。

var $default_atts = array(
		 'num' => 1
		,'lang' => 'plain'
		,'lang_name' => 'false'
		,'highlight_lines' => ''
		,'collapse' => 'false'
		,'gutter' => 'true'
		,'ruler' => 'false'
		,'toolbar' => 'false'
		,'smart_tabs' => 'true'
		,'tab_size' => '4'
		,'light' => 'false'
		,'auto_link' => 'false'
		,'font_size' => '100%'
		,'encode' => 'false'
		);

第二个问题是在Chrome浏览器中代码区始终有一个滚动条,firefox不会有这种情况。网上有很多解决方法,修改plugin/syntaxhighlisghter/3.0.81/css目录下shCoreDefault.css中的..syntaxhighlighter区域,加上”padding:1px;”就可以了。

.syntaxhighlighter {
  width: 100% !important;
  margin: 1em 0 1em 0 !important;
  position: relative !important;
  overflow: auto !important;
  font-size: 1em !important;
  padding:1px;
}

清除/更改Windows登录密码的方法

2012年3月7日 没有评论

Offline Windows Password & Registry Editor是一款非常强大的免费工具,可以允许使用者清除以及清除后更改Windows系统的登录密码。

此处下载软件,然后烧录成为带启动功能的CD或USB盘(也提供软盘格式,不过软件很少见了)。从CD/USB(或软盘)启动,按系统提示选择或输入Windows系统所在盘和分区位置(如/dev/sda)、文件路径(如Windows\System32\config)及用户名(如Administrator)后,Windows系统的密码将被删除。重启计算机,以刚才选择的用户名(administrator)和空密码即可登录系统。从Windows NT3.5到目前最流行的64位Windows 7,该方法均能适用。需要注意两点:它只能修改,无法用于显示原来的密码;如果系统是XP以及后来的Windows系统,除非知道原来的密码,否则使用原来密码加密过的文件在重置密码后将变为不可读和不可恢复状态。此软件威力巨大,请谨慎使用。

Perl引用的复习

2012年3月6日 没有评论

好久不用Perl,今天被几个引用写法搞得有些晕乎乎的。找到手册,再次复习整理一次。

1.标量引用

my $var = "www.jikufurito.com";
my $var_ref = \$var; # 定义引用
print $$var_ref; # 解除引用,test

2. 数组引用

my @array = (1,2,3);
my $array_ref = \@array; #定义数组引用
print $$array_ref[0]; 
print $array_ref->[0]; #同上句,打印出array第一个元素

3. Hash引用

my %hh = ('www.jikufurito.com' => 1,
                    'www.philliphuang.com' => 2);
my $hash_ref = \%hh; #定义散列引用
print $$hash_ref{'www.jikufurito.com'};
print $hash_ref->{www.jikufurito.com}; #同上句,打印出key为www.jikufurito.com对应的value

4. 子例程引用

sub test{
      my $m = @_;
      print "http://www.jikufurito.com is the $m\n";
}
my $test_ref = \&test;  #定义引用
$test_ref->("best"); #同&test("best")

5. 判断引用类型ref()
如果是引用,则返回引用类型SCALAR,ARRAY,HASH和CODE;否则返回null。

print ref($array_ref);
分类: 科技 标签:

高清语音电话是大势所趋

2012年3月1日 没有评论

四核处理器和超大的显示屏依然是Mobile World Congress的主角。值得注意的是,高清语音成为是智能电话发展中的大势所趋,各公司展示的智能电话产品基本上都包括了该项功能。未来将有更多的智能手机兼容高清语音功能,用户将获得更好的通话语音质量。很多移动运营商们对高清语音表现出越来越浓厚的兴趣,但是真正将高清语音推广起来还需要做大量的工作。

高清语音的主要原理是利用AMR-WB(自适应多速率宽带)的语音压缩算法将语音传输频率范围扩宽至两倍,另外还运用了降噪技术提高音质。爱立信网络技术销售负责人Jan Derksen说:“我们看到很多移动运营商正在启动该项业务。其中瑞士电信和荷兰KPN是最新加入的两个公司,他们已经开始了试运行。这些运营商们给移动电话制造商们施加压力,希望把高清语音捆绑在他们的手机产品上。”移动营运商的集体施压产生了效果,一些新的智能电话产品将高清语音作为默认的功能之一。这些产品包括诺基亚Lumia610,华为Ascend,中兴Era,HTC One X和Sony的Xpeira P。智能电话制造商们甚至可以在目前的高清语音技术上做得更好,比如改变麦克风周围的塑料材质以获得更好的音质。很多人希望在iPhone上也能使用高清语音,不过苹果公司好像对此反应比较迟缓。做为世界上最成功的公司,移动运营商的压力可能并不算什么。

今年早些时候,加拿大贝尔移动也推出了高清语音。截止到今年2月20日,全球一共有31个国家和39个网络支持高音语音。这些运营商包括著名的澳大利亚Telstra,英国的3和T-Mobile。Orange是其中的领头羊,它拥有上述39个网络中的13个。Orange公司的产品市场总监Nourouzi认为虽然高清语音开局声势浩大,但是后面却不可掉以轻心。他说:“我们不得不在现在的基础上持续投入更多资金。我告诉沃达丰和Telefonica,他们必须和我们共同进退。”

对运营商来说,高清语音意味这更多更长的通话;对用户来说,付出同样的费用可以得到更好的通话质量。Derksen说:“高清语音是用户来说是非常实用的,尤其当需要在一些嘈杂的环境中进行通话的时候。”Nourouzi补充说:”用户甚至会觉得对方和他在同一个房间里讲话。”他还说,当用户现场体验到高清语音后,一定会被这项技术所打动的。