Archive for 八月, 2010

Opensuse 11.3下安装 Cadence Allegro SPB 16.30.000

很多做电子设计的linux爱好者,希望在linux下也有像win上那样好用的电子开发工具软件,cadence公司开发了Cadence SPB 16.3 lnx86 HDL电路设计Pcb Layout工具软件,让在Linux下做电子开发成为可能。

下面是安装的详细步骤和破解过程(环境 Opensuse 13):

下载破解文件:PUBKey.tar.gz

下载Cadence Allegro SPB 16.30软件安装包,下载地址(纳米盘):

http://d.namipan.com/d/a82eed68b33bc8696bdc5405dc4137eff64d7187d8770200
http://d.namipan.com/d/d027f23da09f53b248bdd8d100f39958eaa43497009a8823
http://d.namipan.com/d/62f83cc1a6107428789eb2aec831d446e2bb0d7800b40d25
http://d.namipan.com/d/8cc0fb0a78a1e2047268d5941ceae940fcab26f30054f028
http://d.namipan.com/d/209e9df3f8eab5302b9e69047299225a5a907ecc0024f028
http://d.namipan.com/d/c6dc28ccbb4603cd16fa806a885414c8b897e20200b60327

添加一个emule 电驴下载地址

ed2k://|file|SPB16.30.000_lnx86.tar.gz|2839936347|5D0BAE6197456B3E8DBD680B60840705|/

下载完毕后,全部解压到 CDROM1文件夹中

如下载目录是: /home/username/Downloader那么就解压至/home/username/Downloader/CDROM1

进入CDROM1

$cd /home/username/Downloader/CDROM1

解压 IScape03.71-p002lnx86.t.Z 文件

$tar -xZf IScape03.71-p002lnx86.t.Z
 
cd iscape/bin
 
sudo chown 500 /opt
 
sudo chmod 777 /opt
 
export LANG=en
 
sudo ./iscape.sh

如图:


点击 Install from a Local Directory/Media (更多…)

Google 也在用 KVM 的硬件虚拟化技术?

一则外电的消息报道,Google 可能也在使用基于 KVM 的硬件虚拟化技术。

说起来有点奇怪,因为早前 Google 工程师 Luiz André Barroso 宣称他的公司是不会使用硬件虚拟化技术。但是最近有人发现 KVM 2010 大会上有一个名为 Ganeti 的项目,大部分是由 Google 的工程师维护和开发的。Ganeti 是一个用于管理 KVM 和 Xen 集群管理器。这里有一份介绍文档,是由 Google 工程师编写的。

Ganeti 项目似乎也不能说明 Google 真的在使用 KVM,因为 Ganeti 也是能够使用在 Xen 之上。有不少网友也指出早几年传闻 Google 也在使用 Xen,但是没有确切的消息。这次会不会同样情况真的不得而知。但是 Google 的这份文档上面的介绍只出现了 KVM 这个唯一的 Hypervisor,不得不让人怀疑。

究竟事情是怎么样的呢?或者等维基解密或者 Google 自己来说吧。

本届 KVM 2010 论坛的详细情况在

最牛B的 Linux Shell 命令 系列连载(三)

本文原译自Wow!Ubuntu博客,摘抄过程做过少量编撰。 原文链接:http://wowubuntu.com/linux_shell_3.html

编者按

本文编译自commandlinefu.com的系列文章Top Ten One-Liners from CommandLineFu Explained。作为一个由用户推荐最有用shell命令的网站,其记录了数以万计的各色shell命令,其中不乏相当实用和有趣的,本文就要细数当中获投票最高的一些命令,从其中取材并加以细释,希望读者能从中受益。

编辑:@BOYPT

本系列文章:

1. 更友好的显示当前挂载的文件系统

1
mount | column -t

这条命令适用于任何文件系统,column 用于把输出结果进行列表格式化操作,这里最主要的目的是让大家熟悉一下 columnt 的用法。

下面是单单使用 mount 命令的结果:

1
2
3
4
5
$ mount
 
/dev/root on / type ext3 (rw)
/proc on /proc type proc (rw)
/dev/mapper/lvmraid-home on /home type ext3 (rw,noatime)

而加了 column -t 命令后就成为这样了:

1
2
3
4
5
$ mount | column -t
 
/dev/root on / type ext3 (rw)
/proc on /proc type proc (rw)
/dev/mapper/lvmraid-home on /home type ext3 (rw,noatime)

另外你可加上列名称来改善输出结果

1
2
3
4
5
6
$ (echo "DEVICE - PATH - TYPE FLAGS" && mount) | column -t
 
DEVICE                    -   PATH   -     TYPE   FLAGS
/dev/root                 on  /      type  ext3   (rw)
/proc                     on  /proc  type  proc   (rw)
/dev/mapper/lvmraid-home  on  /home  type  ext3   (rw,noatime)

列2和列4并不是很友好,我们可以用 awk 来再处理一下

1
2
3
4
5
6
$ (echo "DEVICE PATH TYPE FLAGS" && mount | awk '$2=$4="";1') | column -t
 
DEVICE                    PATH   TYPE   FLAGS
/dev/root                 /      ext3   (rw)
/proc                     /proc  proc   (rw)
/dev/mapper/lvmraid-home  /home  ext3   (rw,noatime)

最后我们可以设置一个别名,为 nicemount

1
$ nicemount() { (echo "DEVICE PATH TYPE FLAGS" && mount | awk '$2=$4="";1') | column -t; }

试一下

1
2
3
4
5
6
$ nicemount
 
DEVICE                    PATH   TYPE   FLAGS
/dev/root                 /      ext3   (rw)
/proc                     /proc  proc   (rw)
/dev/mapper/lvmraid-home  /home  ext3   (rw,noatime)

2. 运行前一个 Shell 命令,同时用 “bar” 替换掉命令行中的每一个 “foo”

1
!!:gs/foo/bar

!! 表示重复执行上一条命令,并用 :gs/foo/bar 进行替换操作。

(更多…)

最牛B的 Linux Shell 命令 系列连载(四)

本系列文章:

编者按

本文编译自commandlinefu.com的系列文章Top Ten One-Liners from CommandLineFu Explained。作为一个由用户推荐最有用shell命令的网站,其记录了数以万计的各色shell命令,其中不乏相当实用和有趣的,本文就要细数当中获投票最高的一些命令,从其中取材并加以细释,希望读者能从中受益。

编辑:@BOYPT BOYPT

1.查看ascii码表

1
man 7 ascii

很多人初学编程都会接触到ascii码的概念,有时候为了查某个符号的ascii值,可能还得翻箱倒柜找出当年的课本?Linux Manpage里面其实包含了很多类似的实用资料,上述命令就能很详细的方式解释ascii编码,当然这里还有在线版

man命令的第二个参数是区域码,用来区分索引词的范围,比如printf,在C标准库里面的printf跟bash当中的printf是不同的,前者的查询是man 3 printf,后者是man 1 printf。如果这个区域码省略,就会从1开始搜索,直到找到为止。

命令man man可以看到详细的解释

manpages里面还有一些有趣而且实用的资料,可能鲜为人知:

  • man 1 intro – 一篇对从未接触过Linux的用户的简明教程。
  • man 2 syscalls – 内核系统请求的列表,按内核版本注释分类,系统编程必备。
  • man 2 select_tut – 关于select()系统请求的教程。
  • man 3 string – 在头文件内的所有函数。
  • man 3 stdio – 关于头文件的使用,标准输入/输出库的说明。
  • man 3 errno – 所有errorno的取值及说明。(C语言内类似其他语言的异常告知机制)
  • man 4 console_codes – Linux的终端控制码及其使用解释。
  • man 4 full – 介绍/dev/full这个总是处于“满”状态的磁盘。(对应/dev/null这个总是空的设备)
  • man 5 proc – 介绍/proc下的文件系统。
  • man 5 filesystems – 各种Linux文件系统。

第7区里面的资料通常最酷:

2.简易计时器

1
time read

运行命令开始算起,到结束时按一下Enter,就显示出整个过程的时间,精确到ms级别。

time是用来计算一个进程在运行到结束过程耗费多少时间的程序,它的输出通常有三项:

1
2
3
4
5
$ time ls /opt
...
real    0m0.008s
user    0m0.003s
sys     0m0.007s

real指整个程序对真实世界而言运行所需时间,user指程序在用户空间运行的时间,sys指程序对系统调用锁占用时间。

read本来是一个读取用户输入的命令,常见用法是read LINE,用户输入并回车后,键入的内容就被保存到$LINE变量内,但在键入回车前,这个命令是一直阻塞的。

可见time read这命令灵活地利用了操作系统的阻塞。用这个命令来测试一壶水多久煮滚应该是不错的。

3.远程关掉一台Windows机器

1
net rpc shutdown -I IP_ADDRESS -U username%password

Windows平台上的net命令是比较强大的,因为其后台是一个RPC类的系统服务,大家应该看过win下用net use \\ip\ipc$ *这样一个命令建立IPC空连接,入侵主机的事情。

Linux下的net命令是samba组件的程序,通常包含在smbclient内,可以跟windows主机的文件、打印机共享等服务进行通讯,但是也支持rpc命令。

上述命令就是在远程Windows主机上执行了shutdown命令。当然这不一定成功,关系到win主机上面的安全设置。net命令能够控制到win主机就是了。

4.在一个子shell中运行一个命令

1
(cd /tmp && ls)

当然这只是演示,要查看目录当然可以ls /tmp

好处就是不会改变当前shell的目录,以及如果命令中设计环境变量,也不会对当前shell有任何修改。

在Shell编程中还有很多使用上引号来括住一个命令:`ls /tmp`,这也是子shell过程。可是上引号的方法无法嵌套,而使用小括号的方法可以,一个比较纠结的例子是:

1
echo $(echo -e \\x$(printf "%x" 65))

5.利用中间管道嵌套使用SSH

1
ssh -t host_A ssh host_B

如果目标机器host_B处于比较复杂的网络环境,本机无法直接访问,但另外一台host_A能够访问到host_B,而且也能被本机访问到,那上述命令就解决了方便登录host_B的问题。

但理论上这个过程是可以无限嵌套的,比如:

1
ssh -t host1 ssh -t host2 ssh -t host3 ssh -t host4 ...

嗯那神马FBI CIA的,有本事来捉我吧~

6.清空屏幕

1
<CTRL+l>;

这个跟之前介绍的reset命令重置终端的作用有些类似,其实都只是发送一段控制序列,让终端的显示复位。

还可以这样运行:

1
tput clear

tput是专门用来控制终端的一个小工具,也挺强大的,详细信息运行man tput查看。

7.我想知道一台服务器什么时候重启完

1
ping -a IP

系统管理员最常做的事情是重启系统。但是服务器的重启过程往往得花上好几分钟,什么你的服务器4个scsi卡?16个硬盘?系统是Redhat?还完全安装所有组件?好吧,它重启的时间都够你吃顿饭了,所以我很想知道它什么时候回来。

ping命令有个audible ping参数,-a,当它终于ping通你的服务器时会让小喇叭叫起来。

8.列出你最常用的10条命令

1
history | awk '{a[$2]++}END{for(i in a){print a[i] " " i}}' | sort -rn | head

这行命令组合得很妙:

history输出用户了命令历史;awk统计并输出列表;sort排序;head截出前10行。

9.检查Gmail新邮件

1
2
3
4
5
6
curl -u you@gmail.com --silent "https://mail.google.com/mail/feed/atom" |
  perl -ne \
  '
    print "Subject: $1 " if /<title>(.+?)<\/title>/ && $title++;
    print "(from $1)\n" if /<email>(.+?)<\/email>/;
  '

Gmail的一个特色是支持Atom feed输出邮件列表,所以总是见到很多Gmail邮件提醒器之类的,因为开发特简单,atom很方便。

这里只是利用了perl的正则来解析atom(sed/awk也能做到)。

10.用Telnet看《星球大战》

1
telnet towel.blinkenlights.nl

没什么好解释的,就是ASCII艺术之一。如果你有ipv6连接,还能看到彩色版的。牛吧?

Linux图形下载管理软件Multiget

MultiGet是一个在Ubuntu/Debian操作系统下简单易用的图形下载管理工具,它看起来像Windows操作系统下的Flasget下载管理软件,它支持HTTP/FTP协议下载,支持断点续传下载,支持多任务多线程下载,你可以配置下载线程数。MultiGet是linux上原生程序,但是它也支持其它的操作系统,如:Windows XP, ubuntu ,kubuntu, xubuntu, Fedora, opensuse, mandriva, MEPIS , PCLinuxOS, CentOS, Puppy, FreeBSD, MacOS等.
MultiGet可以从Ubuntu的universe软件仓库中进行安装,
安装命令:

sudo apt-get install  multiget

也可以从新立德安装管理软件里进行搜索安装。

从U盘启动多个系统ISO

MultiBoot-ISOs

从U盘启动多个系统ISO需要:

  • Fat32格式的U盘
  • 支持USB-HDD或USB-ZIP启动的电脑
  • 使用Windows XP/Vista/7 创建启动U盘
  • MultiBootISOs.exe
  • 系统ISO

步骤:

下载 MultiBootISOs


  1. 运行MultiBootISOs-v1.7.exe
  2. 下载 系统ISO,然后复制到U盘。
  3. 将电脑设为 USB 设备启动模式。
  4. 从菜单中选择你要启动的系统ISO。

* 对于 NTFS 或 Fat32 格式的移动硬盘或大容量U盘,可以尝试 Experimental-MultiBootISOs-v1.7.exe


系统ISO列表:

NEW Entries in this version or changes made on August 9, 2010

Redo Backup and Recovery 0.9.5

Recently Updated or added Entries

Hiren’s Boot CD

Hiren’s Boot CD: Several people suggested this menu entry, and it was reported working. I will not test and verify this. You can find this boot entry under Other Utilities.
(Extract “HBCD” folder from Hiren’s ISO to the root of your USB)

EASUS Disk Copy

EASUS Disk Copy Site | Download

TinyCore 3

TinyCore 3 Site | Download

(更多…)

直接在Nautilus编辑Google Docs

安装:

sudo add-apt-repository ppa:doctormo/ppa
sudo apt-get update && sudo apt-get install gdocs-mount-gtk

使用:

安装完后,点击

Applications > Accessories > Google Docs Connection

验证完你的Google账号后,Nautilus中就会出现Google Docs的网盘,这样,你就可以在本地使用OpenOfiice等对应程序编辑你的Google文档了。