Archive of the categories: Linux

关于ffmpeg 的总结(一个linux 下 集 屏幕录像录音,音频视频转换,合并音频视频文件,格式转换于一身的命令)

当然先安装了 gentoo 下一条命令搞定

emerge ffmpeg

格式转换 (将file.avi 转换成output.flv)

ffmpeg -i file.avi output.flv

-i 表示输入文件

:现在有个视频video.avi,有个音频 audio.mp3,将其合并成output.avi

两个命令 ( video2.avi 是中间文件 ,用完可删)

ffmpeg -i video.avi -vcodec copy -an video2.avi
ffmpeg -i video2.avi -i audio.mp3 -vcodec copy -acodec copy output.avi

-i 表示输入文件

-vcodec copy 表示 force video codec (‘copy’ to copy stream) 这个不知怎么译 ,估计是直接copy

-acodec copy 这个说的应该是音频了 跟上面一样

-an : 表示 disable audio 估计是audio no 之类的缩写 表示去掉video.avi 原有的音频

方法2 好像可以直接指定两个输入文件 ,

ffmpeg -i /tmp/a.wav -i /tmp/a.avi /tmp/a.avi 两个文件 的顺序很重

从视频里提取声音(声音与视频的分离)

ffmpeg -i 人生若只如初见.flv -vn r.mp3 从flv 文件 中提取声音并保存为mp3 格式

-vn : 表示忽略视频 估计是video no 之类的缩写

ffmpeg -i 人生若只如初见.flv -an r.flv 只留视频不留声音

-an : 表示 忽略 声音 估计是audio no 之类的缩写

从视频里提取图片( )

ffmpeg -i test.avi -y -f image2 -ss 8 -t 0.001 -s 350×240 test.jpg

-ss 第8秒处 截一图

压缩mp3 文件

如果你觉得mp3 文件 有点大,想变小一点那么可以通过-ab 选项改变音频的比特率 (bitrate)

ffmpeg -i input.mp3 -ab 128 output.mp3 //这里将比特率设为128

你可以用file 命令查看一下源文件 的信息

z.mp3: Audio file with ID3 version 2.3.0, contains: MPEG ADTS, layer III, v1, 192 kbps, 44.1 kHz, Stereo

其中的192 kbps 就是这个东西

mp3中比特率的含义是:在压缩音频文件至mp3时,由压缩软件所确定数码文件在播放时每秒传 送给播放器大小,其单位是:千位/秒;英文的含义是:kbps – = kilobits per second。现在mp3文件的最高数位率是320 kbps。这样的文件体积很大,每分钟的音乐超过两兆字节。如果采用可变比特率(VBR)编码来生成mp3文件,获得与320 kbps相当音质,文件的体积会缩小25~50%。请注意:播放时间相同,而歌曲不同,所获的压缩mp3文件的一般不相同,这是因为VBR编码所生成的 mp3文件的大小不仅仅取决于播放时间的长度,还取决于源音频文件的其它因素。

录音(要有可用的麦克风,并且如果用alsa 的话,好像得安alsa-oss,重启)

ffmpeg -f oss -i /dev/dsp out.avi (should hava oss or alsa-oss)

ffmpeg -f alsa -ac 2 -i hw:0, 0 out.avi (should )

ffmpeg -f alsa -ac 2 -i pulse (should hava PulseAudio)

oss 是linux 下的声音相关的东西,与alsa 一样,不过oss 是商业的, 而/dev/dsp 是oss 用到的麦克的设备吧,可以这样理解

屏幕录像

ffmpeg -f x11grab -s xga -r 10 -i :0.0+0+0 wheer.avi

ffmpeg -f x11grab -s 320×240 -r 10 -i :0.0+100+200 wheer.avi

:0:0 表示屏幕(个人理解,因为系统变量$DISPLAY值就是:0.0) 而100,表示距左端100象素,200表示距上端200

-s 设置窗口大小

-r 10 好像是设置频率,不懂

ffmpeg -f x11grab -s xga -qscale 5 -r 10 -i :0.0+0+0 wheer.avi

-qscale 8 设定画面质量,值 越小越好

屏幕录像,同时录音

ffmpeg -f oss -i /dev/dsp -f x11grab -r 30 -s 1024×768 -i :0.0 output.mkv

ffmpeg -ac 2 -f oss -i /dev/dsp -f x11grab -r 30 -s 1024×768 -i :0.0 -acodec pcm_s16le -vcodec libx264 -vpre lossless_ultrafast -threads 0 output.mkv

看到这,你会发现这个命令有多强大,

如果我屏幕上打开了一个窗口,我只想录这个窗口的内容,如何确定这个窗口的坐标位置呢

可以用另外一个命令

xwininfo 输入这个命令后,用鼠标点选目标窗口,

就会出现目标窗口的坐标,宽高等一系列信息

Absolute upper-left X: 276
Absolute upper-left Y: 57
Relative upper-left X: 2
Relative upper-left Y: 23
Width: 742
Height: 499
Depth: 24
Visual: 0x21
Visual Class: TrueColor
Border width: 0
Class: InputOutput
Colormap: 0x20 (installed)
Bit Gravity State: NorthWestGravity
Window Gravity State: NorthWestGravity
Backing Store State: NotUseful
Save Under State: no
Map State: IsViewable
Override Redirect State: no
Corners: +276+57 -262+57 -262-244 +276-244
-geometry 80×24+274+34 看到这一行了没 ()

比如根据上面的信息

ffmpeg -f oss -i /dev/dsp -f x11grab -r 30 -s 1280×752 -i :0.0+0+23 output.avi
Another thing you can change is the video frame rate (FPS). In the example above we used -r 30 which means capture at 30 FPS. You can change this value to whatever frame rate you want.

这个 -r 30 应该是每秒钟取样几次,估计是一秒截三十次屏,

切头去尾

ffmpeg -ss 00:00:10 -t 00:01:22 -i 五月天-突然好想你.mp3 output.mp3

只要 从第10秒开始截取,共截取1:22时长的内容

视频文件的连接,如两个flv 文件 连接成一

好像必须先将文件 转成mpg ,dv 等格式的文件后才能进行连接

连接复数的AVI影片档之范例(在此范例中须一度暂时将AVI档转换成MPEG-1档(MPEG-1, MPEG-2 PS, DV格式亦可连接))
ffmpeg -i input1.avi -sameq inputfile_01.mpg -r 20

ffmpeg -i input2.avi -sameq inputfile_02.mpg -r 20

cat inputfile_01.mpg inputfile_02.mpg > inputfile_all.mpg

ffmpeg -i inputfile_all.mpg -sameq outputfile.avi

上面将 input1.avi input2.avi 合并成outputfile.avi

-sameq 表示 相同的质量(可能指的是画面,不太清楚)

-r 指频率

=====================================================================下面是wiki 上给的几个例子
参数
FFmpeg可使用众多参数,参数内容会根据ffmpeg版本而有差异,使用前建议先参考参数及编解码器的叙述。此外,参数明细可用 ffmpeg -h 显示;编解码器名称等明细可用 ffmpeg -formats 显示。

下列为较常使用的参数。

[编辑 ] 主要参数
-i 设定输入档名。
-f 设定输出格式。
-y 若输出档案已存在时则覆盖档案。
-fs 超过指定的档案大小时则结束转换。
-ss 从指定时间开始转换。
-title 设定标题。
-timestamp 设定时间戳。
-vsync 增减Frame使影音同步。
[编辑 ] 影像参数
-b 设定影像流量,默认为200Kbit/秒。( 单位请参照下方注意事项 )
-r 设定FrameRate值,默认为25。
-s 设定画面的宽与高。
-aspect 设定画面的比例。
-vn 不处理影像,于仅针对声音做处理时使用。
-vcodec 设定影像影像编解码器,未设定时则使用与输入档案相同之编解码器。
[编辑 ] 声音参数
-ab 设定每Channel (最近的SVN 版为所有Channel的总合)的流量。( 单位 请参照下方注意事项 )
-ar 设定采样率。
-ac 设定声音的Channel数。
-acodec 设定声音编解码器,未设定时与影像相同,使用与输入档案相同之编解码器。
-an 不处理声音,于仅针对影像做处理时使用。
-vol 设定音量大小,256为标准音量。(要设定成两倍音量时则输入512,依此类推。)
[编辑 ] 注意事项
以-b及ab参数设定流量时,根据使用的ffmpeg版本,须注意单位会有kbits/sec与bits/sec的不同。(可用ffmpeg -h显示说明来确认单位。)
例如,单位为bits/sec的情况时,欲指定流量64kbps时需输入‘ -ab 64k ’;单位为kbits/sec的情况时则需输入‘ -ab 64 ’。
以-acodec及-vcodec所指定的编解码器名称,会根据使用的ffmpeg版本而有所不同。例如使用AAC编解码器时,会有输入aac与 libfaac的情况。此外,编解码器有分为仅供解码时使用与仅供编码时使用,因此一定要利用ffmpeg -formats 确 认输入的编解码器是否能运作。
[编辑 ] 范例
将MPEG-1影片转换成MPEG-4格式之范例
ffmpeg -i inputfile.mpg -f mp4 -acodec libfaac -vcodec mpeg4 -b 256k -ab 64k outputfile.mp4
将MP3声音转换成MPEG-4格式之范例
ffmpeg -i inputfile.mp3 -f mp4 -acodec libaac -vn -ab 64k outputfile.mp4
将DVD的VOB档转换成VideoCD格式的MPEG-1档之范例
ffmpeg -i inputfile.vob -f mpeg -acodec mp2 -vcodec mpeg1video -s 352×240 -b 1152k -ab 128k outputfile.mpg
将AVI影片转换成H.264格式的M4V档之范例
ffmpeg -i inputfile.avi -f mp4 -acodec libfaac -vcodec libx264 -b 512k -ab 320k outputfile.m4v
将任何影片转换成东芝REGZA可辨识的MPEG2格式之范例
ffmpeg -i inputfile -target ntsc-svcd -ab 128k -aspect 4:3 -s 720×480 outputfile.mpg
连接复数的AVI影片档之范例(在此范例中须一度暂时将AVI档转换成MPEG-1档(MPEG-1, MPEG-2 PS
DV格式亦可连接)、
ffmpeg -i input1.avi -sameq inputfile_01.mpg
ffmpeg -i input2.avi -sameq inputfile_02.mpg
cat inputfile_01.mpg inputfile_02.mpg > inputfile_all.mpg
ffmpeg -i inputfile_all.mpg -sameq outputfile.avi
=============================================================================
http://ffmpeg.org/ffmpeg-doc.html
http://ubuntuforums.org/showthread.php?t=1392026
同时搞明白的一些问题在alsa 体系中声卡(也可能是麦克风,)叫hw:0,0 而在oss 体系中叫/dev/dsp (用词可能不太专业) Linux在安装了声卡后,会有一些设备文件生成。
采集数字样本的/dev/dsp文件,针对混音器的/dev/mixer文件,用于音序器的/dev/sequencer,/dev/audio文件一个基于兼容性考虑的声音设备文件。只要向/dev/audio中输入wav文件就能发出声音。而对/dev/dsp文件读取就能得到WAV文件格式的声音文件。

Ubuntu Linux按下电源键关机

按下电源键(Poweroff button)就关机:

前置原来:默认Ubuntu linux server未安装acpid程序;

1、安装acpid程序$sudo apt-get install acpid

2、按关机键即自动关机(主板上关键跳针、Power、reset、电源灯、硬盘灯等)

Ubuntu Linux无法双向复制U盘的中文字符文件方法

前言:本地终端本身不是不支持显示中文,需要安装外挂软件才可以。默认ubuntu的字符环境如下:en_US.UTF8。很多人没有理解字符集的概念,每个文件系统fs都需要指定中文字符集,才可以查看拷贝中文文件,由于Linux默认文件系统字符集UTF8比Windows系统自带默认文件系统字符集GB2312要大的多,所以Windows下无法查看UTF8编码的中文字符文件。解决方案:1)修改linux的系统字符集gb2312;  2)挂载u盘时指定中文字符集cp936。

本文档测试操作系统版本:Ubuntu Server 11.10 32bit。

详见附件!

Ubuntu Linux无法双向复制U盘的中文字符文件方法

[转]AIX如何查看cpu个数?

系统中有很多命令可以查看cpu的个数,但是哪个命令输出的是逻辑cpu个数,哪个又是物理cpu个数呢?我们下面做一个简单的介绍。
解答:
从AIX5.3起,对于power5的机器,系统引入了SMT(Simultaneousmulti-threading)的功能,其允许两个处理线程在同一颗处理器上运行,对操作系统而言,一颗物理处理器逻辑上会成为两个处理单元(逻辑处理器)。也就是说,在SMT功能启用的情况下,逻辑cpu个数是物理cpu个数的两倍,而在SMT功能禁用的情况下,逻辑cpu个数与物理cpu个数相等。
下面我们介绍如何通过各种命令检查系统中的物理cpu和逻辑cpu的个数。

1. smtctl
# smtctl
This system is SMT capable.
SMT is currently enabled.
SMT boot mode is not set.
SMT threads are bound to the same physical processor.
proc0 has 2 SMT threads.
Bind processor 0 is bound with proc0
Bind processor 1 is bound with proc0

proc2 has 2 SMT threads.
Bind processor 2 is bound with proc2
Bind processor 3 is bound with proc2

proc4 has 2 SMT threads.
Bind processor 4 is bound with proc4
Bind processor 5 is bound with proc4

proc6 has 2 SMT threads.
Bind processor 6 is bound with proc6
Bind processor 7 is bound with proc6
可以看到,该系统具有SMT能力且当前SMT功能已启用。4个物理cpu对应着8个逻辑cpu。

2. bindprocessor
# bindprocessor -q
The available processors are: 0 1 2 3 4 5 6 7
可以看到可用逻辑cpu个数是8个(0-7)。
3. prtconf
# prtconf
System Model: IBM,9131-52A
Machine Serial Number: 0677A5G
Processor Type: PowerPC_POWER5
Number Of Processors: 4 ==》物理cpu有4个
Processor Clock Speed: 1648 MHz
CPU Type: 64-bit
Kernel Type: 64-bit
LPAR Info: 1 06-77A5G
4.lsdev
# lsdev -Cc processor
proc0 Available 00-00 Processor
proc2 Available 00-02 Processor
proc4 Available 00-04 Processor
proc6 Available 00-06 Processor
可以看到系统中有4个物理cpu。
5.vmstat
# vmstat
System configuration: lcpu=8 mem=7936MB
kthr memory page faults cpu
—– ———– ———————— ———— ———–
r b avm fre re pi po fr sr cy in sy cs us sy id wa
1 1 428238 41599 0 0 0 13 25 0 40 1639 182 0 0 99
可以看到系统中有8个逻辑cpu。

关闭 htt_server 服务

htt       3178     1 0 Jan14 ?        00:00:00 /usr/sbin/htt -retryonerror 0
htt       3179 3178 0 Jan14 ?        00:00:00 htt_server -nodaemon

通过finger可以看到htt用户相关信息。
# finger htt
Login: htt                              Name: IIIMF Htt
Directory: /usr/lib/im                  Shell: /sbin/nologin
Never logged in.
No mail.
No Plan.

来源IIIMF
# rpm -qa |grep iim
iiimf-libs-12.1-13.EL.6
iiimf-le-chinput-0.3-18.el4
iiimf-libs-devel-12.1-13.EL.6
iiimf-csconv-12.1-13.EL.6
iiimf-x-12.1-13.EL.6
iiimf-gtk-12.1-13.EL.6
iiimf-server-12.1-13.EL.6
iiimf-le-xcin-0.1.7-12.EL4
iiimf-docs-12.1-13.EL.6
iiimf-gnome-im-switcher-12.1-13.EL.6

# rpm -ql iiimf-server-12.1-13.EL.6
/etc/iiim
/etc/iiim/htt.xml.conf
/etc/iiim/le.xml.conf
/etc/rc.d/init.d/iiim
/usr/bin/iiimf-le-tools
/usr/lib/im/leif
/usr/lib/im/leif/default.so
/usr/lib/im/share
/usr/lib/im/share/iiim
/usr/lib/im/share/iiim/gdbcmd
/usr/libexec
/usr/libexec/iiimf-segv-logger
/usr/sbin/htt
/usr/sbin/htt_server
/var/log/iiim
/var/run/iiim

关闭htt_server服务
/etc/rc.d/init.d/iiim stop
Stopping IIIMF input server:

linux下使用rar

用RAR版本:WinRAR 3.20 beta 2(© 1993-2003 Eunege Roshal )

用法:     rar <命令>-<开关 1> -<开关 N> <压缩文件> <文件…>
<@列表文件…> <解压路径>
<命令>

a 添加文件到压缩文件
c 添加压缩文件注释
cf 添加文件注释
cw 写入压缩文件注释到文件
d 删除压缩文件中的文件
e 解压压缩文件到当前目录
f 刷新压缩文件中的文件
i[参数]=<串> 在压缩文件中查找字符串
k 锁定压缩文件
l[t,b] 列出压缩文件[技术信息,简洁]
m[f] 移动到压缩文件[仅对文件]
p 打印文件到标准输出设备
r 修复压缩文件
rc 重建丢失的卷
rn 重命名压缩文件
rr[N] 添加数据恢复记录
rv[N] 创建恢复卷
s[名字|-] 转换压缩文件为自解压格式或转换回压缩文件
t 测试压缩文件
u 更新压缩文件中的文件
v[t,b] 详细列出压缩文件[技术信息,简洁]
x 用绝对路径解压文件

<开关>

停止扫描
ac 压缩或解压后清除文件属性
ad 添加压缩文件名到目标路径
ag[格式] 使用当前日期生成压缩文件名
ao 添加具有压缩属性的文件
ap<格式> 添加路径到压缩文件中
as 同步压缩文件内容
av 添加用户身份校验(仅注册版本可用)
av- 禁用用户身份校验
c- 禁用注释显示
cfg- 禁用读取配置
cl 名称转换为小写
cu 名称转换为大写
df 压缩后删除文件
dh 打开共享文件
ds 对固实压缩文件禁用名称排序
e<属性> 设置文件排除属性
ed 不添加空目录
en 不添加”压缩文件结束”标志
ep 从名称中排除路径
ep1 从名称中排除基本目录
ep2 展开为完整路径
f 刷新文件
hp[密码] 同时加密文件数据和文件头
idp 禁用百分比显示
ieml[属性] 用E-mail发送压缩文件
ierr 发送所有消息到标准错误设备
ilog[名称] 把错误写到日志文件(只有注册版本可用)
inul 禁用所有消息
ioff 完成一个操作后关闭PC电源
isnd 启用声音
k 锁定压缩文件
kb 保留损坏的已解压文件
m<0..5> 设置压缩级别(0-存储…3-默认…5-最大)
mc<参数> 设置高级压缩参数
md<大小> 以KB为单位的字典大小(64,128,256,512,1024,2048,4096 or A-G)
ms[ext;ext] 指定存储的文件类型
o+ 覆盖已存在文件
o- 不覆盖已存在文件
os 保存NTFS流
ow 保存或恢复文件所有者和组
p[密码] 设置密码
p- 不询问密码
r 递归子目录
r0 仅递归通配符名称的子目录
ri<P>[:<S>] 设置优先级(0-默认,1-最小..15-最大)和以毫秒为单位的休眠时间
rr[N] 添加数据恢复记录
rv[N] 创建恢复卷
s[<N>,v[-],e] 创建固实压缩文件
s- 禁用固实压缩文件
sfx[名称] 创建自解压压缩文件
t 压缩后测试文件
ta<日期> 添加日期<日期>后修改的文件,日期格式YYYYMMDDHHMMSS
tb<日期> 添加日期<日期>前修改的文件,日期格式YYYYMMDDHHMMSS
tk 保留原始压缩文件时间
tl 设置压缩文件时间为最新文件时间
tn<时间> 添加<时间>以后的文件
to<时间> 添加<时间>以前的文件
ts<m,c,a>[N] 保存或恢复文件时间(修改,创建,访问)
u 更新文件
v 自动检测创建卷的大小或者列出所有的卷
v<大小>[k,b] 创建卷大小=<大小>*1000[*1024, *1]
vd 创建容量前清除磁盘内容
ver[n] 文件版本控制
vn 使用旧风格的卷命名方案
vp 每卷之前暂停
w<路径> 指定工作目录
x<文件> 排除指定的文件
x@ 从标准输入设备读取要排除的文件名
x@<列表> 排除指定列表文件中的文件
y 假设对全部询问都回答是
z<文件> 从文件读取压缩文件注释

示例:

1、rar a file file.ext
如果file.rar不存在将创建file.rar文件;如果file.rar压缩包中已有file.ext,将更新压缩包中的file.ext;还可用d:*.ext代替file.ext将d盘下所有ext文件(不包括自文件夹)添加到压缩包中。

2、rar a -r -v2000 -s -sfx -rr file
从当前文件夹和子文件夹压缩全部文件成为 2000000 字节大小、固实的、分卷自解压文件 file.part1.exe,file.part2.rar,file.part3.rar 等,并在每一个分卷中添加恢复记录;将命令a换成命令m可将文件压缩后删除

3、rar x Fonts *.ttf
会从压缩文件解压 *.ttf 字体文件到当前文件夹,但下面命令:
rar x Fonts *.ttf NewFonts
会从压缩文件解压 *.ttf 字体文件到文件夹 NewFont

4、rar a -pZaBaToAd -r secret games*.*
使用密码 ZaBaToAd 来将文件夹“games”的内容添加到压缩文件“secret”

 

5、rar a -pfengjian.org mymp3.rar “mylove.mp3”

单文件添加密码加密;

Google earth 在Ubuntu 10.10安装问题,无法运行!

在应用程序点击google earth没有反应,进入目录运行$google-earth
提示:
clon@clon-notebook:/opt/google/earth/free$ ./googleearth-bin
bash: ./googleearth-bin: 没有那个文件或目录
(可能是clon@clon-notebook:/opt/google/earth/free$ ldd ./googleearth-bin
缺少一个组件的原因,可以通过$ ldd ./googleearth-bin)
解决办法:
clon@clon-notebook:/opt/google/earth/free$ sudo apt-get install lsb-core
---

[sudo] password for clon:
正在读取软件包列表… 完成
正在分析软件包的依赖关系树
正在读取状态信息… 完成
下列软件包是自动安装的并且现在不需要了:
linux-headers-2.6.35-22 linux-headers-2.6.35-22-generic
使用’apt-get autoremove’来卸载它们
将会安装下列额外的软件包:
alien bsd-mailx librpm1 librpmbuild1 librpmio1 lsb-invalid-mta ncurses-term
pax rpm rpm-common rpm2cpio
建议安装的软件包:
lsb-rpm lintian lsb elfutils rpm-i18n
下列【新】软件包将被安装:
alien bsd-mailx librpm1 librpmbuild1 librpmio1 lsb-core lsb-invalid-mta
ncurses-term pax rpm rpm-common rpm2cpio
升级了 0 个软件包,新安装了 12 个软件包,要卸载 0 个软件包,有 0 个软件包未被升级。
需要下载 5,464kB 的软件包。
解压缩后会消耗掉 13.5MB 的额外空间。
您希望继续执行吗?[Y/n]y
获取:1 http://cn.archive.ubuntu.com/ubuntu/ maverick/main librpmio1 i386 4.8.1-5 [770kB]
获取:2 http://cn.archive.ubuntu.com/ubuntu/ maverick/main rpm-common i386 4.8.1-5 [714kB]
获取:3 http://cn.archive.ubuntu.com/ubuntu/ maverick/main librpm1 i386 4.8.1-5 [876kB]
获取:4 http://cn.archive.ubuntu.com/ubuntu/ maverick/main librpmbuild1 i386 4.8.1-5 [761kB]
获取:5 http://cn.archive.ubuntu.com/ubuntu/ maverick/main rpm2cpio i386 4.8.1-5 [699kB]
获取:6 http://cn.archive.ubuntu.com/ubuntu/ maverick/main rpm i386 4.8.1-5 [839kB]
获取:7 http://cn.archive.ubuntu.com/ubuntu/ maverick/main alien all 8.81 [85.7kB]
获取:8 http://cn.archive.ubuntu.com/ubuntu/ maverick/universe lsb-invalid-mta all 4.0-0ubuntu8 [19.8kB]
获取:9 http://cn.archive.ubuntu.com/ubuntu/ maverick/main bsd-mailx i386 8.1.2-0.20100314cvs-1 [77.7kB]
获取:10 http://cn.archive.ubuntu.com/ubuntu/ maverick/main ncurses-term all 5.7+20100626-0ubuntu1 [520kB]
获取:11 http://cn.archive.ubuntu.com/ubuntu/ maverick/main pax i386 1:20090728-1build1 [57.8kB]
获取:12 http://cn.archive.ubuntu.com/ubuntu/ maverick/main lsb-core i386 4.0-0ubuntu8 [43.3kB]
下载 5,464kB,耗时 5分 25秒 (16.8kB/s)
正在预设定软件包 …
选中了曾被取消选择的软件包 librpmio1。
(正在读取数据库 … 系统当前共安装有 222929 个文件和目录。)
正在解压缩 librpmio1 (从 …/librpmio1_4.8.1-5_i386.deb) …
选中了曾被取消选择的软件包 rpm-common。
正在解压缩 rpm-common (从 …/rpm-common_4.8.1-5_i386.deb) …
选中了曾被取消选择的软件包 librpm1。
正在解压缩 librpm1 (从 …/librpm1_4.8.1-5_i386.deb) …
选中了曾被取消选择的软件包 librpmbuild1。
正在解压缩 librpmbuild1 (从 …/librpmbuild1_4.8.1-5_i386.deb) …
选中了曾被取消选择的软件包 rpm2cpio。
正在解压缩 rpm2cpio (从 …/rpm2cpio_4.8.1-5_i386.deb) …
选中了曾被取消选择的软件包 rpm。
正在解压缩 rpm (从 …/archives/rpm_4.8.1-5_i386.deb) …
选中了曾被取消选择的软件包 alien。
正在解压缩 alien (从 …/archives/alien_8.81_all.deb) …
选中了曾被取消选择的软件包 lsb-invalid-mta。
正在解压缩 lsb-invalid-mta (从 …/lsb-invalid-mta_4.0-0ubuntu8_all.deb) …
选中了曾被取消选择的软件包 bsd-mailx。
正在解压缩 bsd-mailx (从 …/bsd-mailx_8.1.2-0.20100314cvs-1_i386.deb) …
选中了曾被取消选择的软件包 ncurses-term。
正在解压缩 ncurses-term (从 …/ncurses-term_5.7+20100626-0ubuntu1_all.deb) …
选中了曾被取消选择的软件包 pax。
正在解压缩 pax (从 …/pax_1%3a20090728-1build1_i386.deb) …
选中了曾被取消选择的软件包 lsb-core。
正在解压缩 lsb-core (从 …/lsb-core_4.0-0ubuntu8_i386.deb) …
正在处理用于 man-db 的触发器…
正在设置 librpmio1 (4.8.1-5) …
正在设置 rpm-common (4.8.1-5) …
正在设置 librpm1 (4.8.1-5) …
正在设置 librpmbuild1 (4.8.1-5) …
正在设置 rpm2cpio (4.8.1-5) …
正在设置 rpm (4.8.1-5) …
正在设置 alien (8.81) …
正在设置 lsb-invalid-mta (4.0-0ubuntu8) …
正在设置 bsd-mailx (8.1.2-0.20100314cvs-1) …
update-alternatives: 使用 /usr/bin/bsd-mailx 来提供 /usr/bin/mailx (mailx),于 自动模式 中。
正在设置 ncurses-term (5.7+20100626-0ubuntu1) …
正在设置 pax (1:20090728-1build1) …
正在设置 lsb-core (4.0-0ubuntu8) …
正在处理用于 libc-bin 的触发器…
ldconfig deferred processing now taking place
正在处理用于 python-central 的触发器…
----------
开机运行成功~然后新问题来了,菜单等都是乱码,主要是Googleearth自带的libQ库有问题,使用ubuntu的库就OK了。

方法:进入目录

$cd /opt/google/earth/free

将文件改名或删除即可:

$sudo mv libQtCore.so.4 libQtCore.so.4~

$sudo mv libQtGui.so.4 libQtGui.so.4~

$sudo mv libQtNetwork.so.4 libQtNetwork.so.4~

$sudo mv libQtWebKit.so.4 libQtWebKit.so.4~

再次运行一般问题就解决了,但是发现这个方法只能坚持5秒钟,不知道啥原因?

最后修改了

/opt/google/earth/free/lang$下把zh-Hans.qm和zh-Hant.qm改成别名,再运行google以E文方式运行正常。

待解决。。。

在ubuntu linux使用SSH等与secureCRT类似的工具

注:如无法安装,提示 依赖关系不满足: libgnome2-vte-perl 可以安装如下类似的包!

http://pkgs.org/download/ubuntu-10.10/getdeb-apps-i386/libgnome2-vte-perl_0.09-1~getdeb1_i386.deb.html

-----------以下为转贴-----------

在windows下管理linux服务器,经常用的是securecrt,它主要特性有

1、标签式管理
2、标签可以克隆,方便在不同标签完成不同工作
3、服务器列表支持分类
4、缓存key的 passphrase,只需要输入一次,后续使用该key的服务器访问都不需要再输入
5、Forward agent.

大家通过用securecrt登录到2台服务器,2台服务器上都有自己的key,这时,2台服务器上不需要额外的设置即可以相互scp文件,这个过程用的就是 SSH的Forward agent特性,它把认证进行转发。

而我们在linux下管理linux,比较常用的是gnome terminal,这个与securecrt比起来,未免太原始了,敲命令,敲到手抽筋,最近在网上找securecrt的替代工具,竟然在WOW!Ubuntu上找到了PAC Manager  [URL: http://wowubuntu.com/pac-254.html ]

 

它主要特性:
1、标签式管理
2、标签可以克隆,方便在不同标签完成不同工作
3、服务器列表支持分类
4、Forward agent(这个可以通过PAC本身的配置实现,有可以通过修改/etc/ssh/ssh_config的配置来实现).

对比下可以看到,PAC Manager不支持缓存passphrase,这意味着,你每登录一台服务器 ,你都需要输入一次你key的 passphrase,但这个可以通过修改系统配置来达到.

我在ubuntu 10.10上安装了,下面先来做简单介绍

下面说下PAC Manager的图形化操作
添加组:
PAC窗口左上角“GROUP”显示的是组信息,点击添加可以新建分组

左下角是添加服务器列表,点击添加可以添加服务器信息

填好IP,用户名和密码等,如果是用key登录,密码留空即,再指定key的位置

”Edit connection” -> ”Connections Properties” -> ”Advanced Options”:

-o ”IdentityFile=/path/to/my_private_key_file”

如果想登录2台服务器,可以相互scp文件,则需要在“CONNECTION PROPERTIES”里把“Forward Agent”选上。

这样就可以进行连接了

每台服务器都需要指定key,这个未免太麻烦了,另外有些服务器需要使用另一个key,而且每次使用key登录服务器,都需要输入key的passphrase,为解决这个问题,我们只要把要用到的private key都交给ssh-agent来进行管理,,每个key只需要输入一次passphrase,后面的登录,就不用输入密码了。

ssh-agent 是个管理 private key 的 passphrase 的工具,启动
ssh-agent
添加需要被ssh-agent管理的key,假设你的private key名是id_rsa
ssh-add id_rsa

此时需要输入一次 private key 的 passphrase ,输入正确后,passphrase 就归 ssh-agent 管理,往后的 ssh 操作,就不需要询问 passphrase 了

ssh-add -l 可以看到现有托管的key

PAC Manager的配置文件保存在 /home/user/.pac/pac.yml,如果有大量服务器需要添加,可以写脚本,直接生成配置文件放到 /home/user/.pac/pac.yml 。

 

安装飞信 for Linux

“openfetion: error while loading shared libraries: libofetion.so.0: cannot open shared object file: No such file or directory”

http://sourceforge.net/projects/ofetion/files/openfetion-2.0.tar.gz/download

安装环境:ubuntu 10.10

1、下载后解压(这个都会了吧?):

直接安装会发现少很多文件包,安装如下包:

sudo apt-get install libsqlite3-dev

sudo apt-get install libxss-dev

sudo apt-get install libnotify-dev

sudo apt-get install libgstreamer0.10-dev

sudo apt-get install libnm-glib-dev

sudo apt-get install libnm-glib-dev

 

然后$sudo ./configure

$sudo make

$sudo make install

会遇到 “ openfetion: error while loading shared libraries: libofetion.so.0: cannot open shared object file: No such file or directory”的错误

按照 http://basiccoder.com/openfetion介绍的方法:

如果/etc/ld.so.conf里面有没有/usr/local/lib这个路径,加上一行include /usr/local/lib,再运行一下sudo ldconfig就可以了。 终于可以登录飞信了。

--------------以下为转自开发作者--------------

 

我去年的时候写了一个fetion for linux,当时程序写得挺烂的,也就没怎么宣传,前一段时间飞信出了个2010的新版本,分析了一下协议发现协议百分之八九十都改了,再加上上次代码写 得实在很粗糙,我自己都有点看不过去,然后就一怒之下重新分析了一下协议,用C重写了一遍,扔掉了我一个月的休息时间。程序是基于GTK开发的,在GNOME上运行起来界面还是比较友好的,大家可以下载试用一下.

今天把大家报告的bug修改了一下,请大家下载新版本试用。
感 谢上次在这里发布软件的时候大家的支持,由于在32位机器上编译的静态库在64位的系统上跑不起来,应大家需求现在完全开放源码,方便大家学习交流以及使 用。源码已上传至sourceforge 和googlecode上,大家可以到那里下载,更希望大家能发现修复它所存在的bug,另外呼吁大家制作测试32位和64位的deb包。

版本特性及修复的bug

2010-9-25 levin

* 修复了旧版本登录过程中出现的各种崩溃的问题
* 修复了查看聊天记录崩溃的问题
* 修复了查看群功能使用中的崩溃问题
* 更换了图标及提示音,解决了资源文件的版权问题
* 去掉了之前的自绘主题
* 添加了离线不接收飞信信息的功能
* 添加了发送失败提示功能
* 添加了断线提示功能
* 添加了多种常用快捷键
* 对界面做了一些优化,使更美观

下载地址:
http://sourceforge.net/projects/ofetion/

http://code.google.com/p/ofetion/

大家可以到http://basiccoder.com/openfetion报告发现的bug,我可以第一时间看到并修改。

 

Unix/Linux 下的小工具:lsof [转]

lsof 本来是一个很普通的小工具,用来显示被进程打开的文件信息,因为在 Unix/Linux 下任何东西都是文件,所以 lsof 这个 “小” 工具就显得非常强大,常被称作 “Unix debugging 的瑞士军刀”。lsof 很好的遵循了 Unix 的哲学 “只做一件事,并把事情做好”。来看看 Unix/Linux 下被看作文件的有哪些:普通文件,目录,NFS 文件,特殊块文件,字符文件,管道,连接,各种 socket,共享文件库等,所有都是文件,所以 lsof 用途非常广泛。

列出所有进程打开的所有文件:

# lsof

列出某个程序打开的所有文件:

# lsof -c vim
# lsof -c vim -c python

列出某个用户打开的所有文件:

# lsof -u vpsee
# lsof -u vpsee, root

列出某个组(group id)打开的所有文件:

# lsof -g 1

列出某个进程(PID)打开的所有文件:

# lsof -p 1
# lsof -p 1,2,3

列出某个目录下被打开的所有文件:

# lsof +D /usr/lib

列出所有网络连接:

# lsof -i

列出所有 TCP 连接或 UDP 连接:

# lsof -i tcp
# lsof -i udp

列出谁在使用某个网络端口:

# lsof -i :22
# lsof -i :ssh

列出某个用户所有的网络连接:

# lsof -a -u vpsee -i

列出所有 NFS 文件、Unix domain socket 文件:

# lsof -N
# lsof -U