导航:首页 > 操作系统 > linux安装lzo

linux安装lzo

发布时间:2022-07-15 18:11:23

A. linux下怎么打开lzo文件查看文件内容

lzo 是压缩文件。
一般 Linux 下面的压缩都是流压缩,也就是只能压缩一个文件。这种文件是没办法看内容的,只能直接解压缩。

图形界面双击即可。

B. 如何用berryboot给cubieboard安装ubuntu系统

当你下载好安装文件并且解压到你的SD卡后, 将SD卡插入树莓派中并接上电源启动它, 你会看到短暂的启动过程并最终显示以下的配置界面:

花些时间调整屏幕显示(看屏幕上方和下方是否出现绿色的校准条来选择是否选择或者撤销overscan选项)。 设置你的网络连接类型(network connection)为有线(wired)或者无线(Wi-Fi)。最后设置的你的键盘布局。

如果你选择了无线连接你的网络,安装程序会让你选择连接的无线网络名称和相应的密码。

注意:这里的无线网络连接设置只适用于BerryBoot安装过程,一旦你安装了树莓派的linux系统比如Raspbian,你需要在Raspbian再次设置你的无线网络连接。

当你链接上网络后,安装程序会让你选择安装树莓派系统的位置(SD卡或是外接的硬盘):

这里默认的是SD卡, 如果你想将树莓派的系统安装在外接的闪存或是硬盘上,现在就连接上它们。一旦显示出你连接上的闪存或者硬盘,选择并点格式化键(Format), 注意这里格式化会清楚掉所有闪存或者硬盘上的内容,请格式化前自行备份。

大约一分钟后, 会弹出一个添加系统(Add OS)的窗口中, 这里你可以选择安装到BerryBoot卡上的第一个系统。 这里我们以安装Raspbian为例, 点击确认(OK)进行安装。

一旦Raspbian的安装镜像文件下载并安装完成后, BerryBoot的Menu Editor就会弹出并显示以下内容:

在 这个menu editor中,你可以进行多项操作。你可以添加(Add OS)新的系统或者移除(Delete)现有的系统, 同样的你可以选择默认的启动系统(Make default)。你可以编辑(Edit)每一个单独系统的属性比如更改名称或是内存的位置。你可以在这里复制(Clone)系统(比如在 Raspbian上运行两个不同的项目)。有也可以备份(Backup)整个SD卡或者外接存储设备中的单独的某一个系统。

除了上述的这些外,你可以进行更高级的配置(在窗口上面最后的小箭头处), 比如BerryBoot的密码设置, 修复坏损的文件系统, 转换使用命令行窗口进行设置。

上面的这些都是BerryBoot很好的功能, 但是我们这里的重点是添加一个新的系统。点击添加系统(Add OS), 屏幕转回到刚刚的添加系统(Add OS)的窗口中, 现在我们要再添加OpenELEC到我们的BerryBoot系统启动项中。选择并点击确认。

当第二个系统安装完毕后,你就可以在Menu Editor中选择默认的启动系统了, 这里我们选择Raspbian做为我们默认的启动系统:

到这,我们就可以退出Menu Editor开始我们的多系统选择启动了。 点击退出(Exit)按钮。一会就会弹出以下的BerryBoot menu窗口

如果在之前的配置中你已经选择了默认的启动系统, 这里会在倒数后自动启动它。如果你没有选择默认的系统, BerryBoot会停在这里窗口直到用户做出选择要启动的系统。默认的倒数时间长度为10秒。

如 果你想更改默认的倒数时间长度的话可以在这里点击右下角的编辑菜单(Edit menu)按钮, BerryBoot会转向menu editor窗口。点击右上角的高级配置(Advanced Configuration)按钮,编辑uEnv.txt文件中‘bootmenutimeout’的值。

无论你是否改变这个值,BerryBoot menu总会你在你启动,关闭或是重启树莓派时最先看到。你可以通过键盘,鼠标来选择要启动的系统版本。如果你将树莓派通过HDMI线连上家中的支持

CEC(Consumer Electronics Control)的媒体中心的电视,你也要可以通过对应的遥控器来选择你想启动的系统项。

手动添加系统到BerryBoot系统启动项中

当你只是使用那些BerryBoot中自带的镜像linux系统版本时,比如Raspbian和Puppy Linux, 安装只是简单的点击和选择确认。如果你想试一些非常规的新系统可能就会变得有些棘手。

在BerryBoot中添加新的linux系统版本时,需要先用SquashFS编译这个linux系统并获得它的镜像文件.IMG。你可以通过以下的三种方式获得这个文件。

首先,最简单的方法就是从BerryBoot官网中获取那些没有正式添加到安装文件中的linux系统镜像文件, 这些文件可以从这里获得,这些镜像文件可以直接使用不需要通过SquashFS的编译。

其次,在BerryBoot官网上没有的但是在树莓派的官网上提供的linux系统镜像文件,同样的可以不通过SquashFS的编译直接使用添加到BerryBoot中。

最后,例如像Raspbmc这样的需要用户使用安装工具直接下载到树莓派上并在树莓派上进行安装的linux版本。你需要创建一个SD卡的镜像文件来添加到BerryBoot中,如何创建一个卡的镜像文件点击这里。

对于.IMG格式的文件添加(无论是下载的还是创建的),你都需要通过linux系统来使用SquashFS先进行编译。因为SquashFS只有在linux的系统下运行最为稳定,所以这里我们也只介绍在linux系统下如何使用SquashFS。

如果你现在用的linux版本中没有安装SquashFS, 在terminal里面输入以下指令下载并安装SquashFS:

sudo apt-get install squashfs-tools

1

sudo apt-get install squashfs-tools

将含有镜像文件的SD卡或者USB链接到运行linux的主机上进行.IMG格式文件转换。这里我们将用NewBerryBoot.img为例,在命令行输入一下指令:

sudo kpartx -av NewBerryBoot.img

1

sudo kpartx -av NewBerryBoot.img

kpartx命令用于创建分区表的设备映射, -av 用于添加映射和映射的详细内容,这样便于我们查阅输出。 这时的输出类似如下的内容:

add map loop0p1 (252:5): 0 117187 linear /dev/loop0 1add map loop0p2 (252:6): 0 3493888 linear /dev/loop0 118784

1
2

add map loop0p1 (252:5): 0 117187 linear /dev/loop0 1
add map loop0p2 (252:6): 0 3493888 linear /dev/loop0 118784

第二个也是最大的一个分区 loopOp2就是我们想要的存有linux系统的分区, 在你的镜像文件中分区大小可能会有些不同(比如最大的一个是loop3p2),记录下最大的分区名字,输入如下的指令:

sudo mount /dev/mapper/loop0p2 /mntsudo sed -i ‘s/^/dev/mmcblk/#/g’ /mnt/etc/fstabsudo mksquashfs /mnt converted_image_for_berryboot.img -comp lzo -e lib/molessudo umount /mntsudo kpartx -d NewBerryBoot.img

sudo mount /dev/mapper/loop0p2 /mnt
sudo sed -i ‘s/^/dev/mmcblk/#/g’ /mnt/etc/fstab
sudo mksquashfs /mnt converted_image_for_berryboot.img -comp lzo -e lib/moles
sudo umount /mnt
sudo kpartx -d NewBerryBoot.img

上述一系列的指令使得我们想要系统分区被挂载,并且从原分区中提取出文件系统表格,接着使用SquashFS来重建这个分区的.IMG文件(去掉不同系统文件共享文件lib/moles),最后撤销挂载的分区并且删除相应的映射。

这之后,我们可以回到温馨可爱的BerryBoot的图形界面了。无论你是下载的已经处理好的.IMG文件还是自己创建的独有的.IMG文件,现在是时候将它们添加到BerryBoot中了。

连接上存有新建的.IMG文件的存储设备(若是SD卡,请连接相应的读卡器)到树莓派上或是连接到USB扩展器上。 启动含有BerryBoot SD卡的树莓派,在启动选择菜单里面,选择编辑(Edit)启动BerryBoot的menu editor。

如图所示,就可以添加你新建的.IMG文件了。

选择Copy OS from USB stick(从USB设备中拷贝系统), 随后.IMG文件选择窗口就会弹出:

你 可能会注意到在最底层文件类型的选择上会有些奇怪的扩展名(.img128, .img192)。当生成添加到BerryBoot的镜像文件的时候你可以选择文件的扩展名为128/192/224/240来指示BerryBoot你 想要分配哪块内存区域给这个新添加的系统。如果你没有特意指定也不用担心,你同样可以在BerryBoot的menu editor的Edit选项里面进行内存分布的设定。

当你选择并打开你新建的.IMG文件后就可以暂时放松一下了,.IMG文件在这个时候会被解包并安装。这之后,你会在BerryBoot的menu editor中看到新添加的系统:

C. 谈谈如何使用Linux建立IP隧道

方法一:基于SSHde加密通道

SSH(SecureShell)是一套安全de网络连接程序,它可以实现通过网络远程登录其他系统,它就是加密detelnet协议。但是OPENSSH除了具you远程登录功能以外,更可以建立加密IP隧道。wo men 这里假设Alice.org服务器位于某个企业网de内网,其IP地址为192.168.2.200,它通过NAT方式可以访问互联网。wo men 现在需要通过位于互联网上de名字为bob.orgde机器里访问Alice,也就是远程登录Alice。这时候wo men 就需要在bob和alice之间建立IP隧道。wo men 首先登录Alice,执行命令:

#ssh-R11022:127.0.0.1:22 [email protected]

该命令表示登录服务器211.1.1.1,并将服务器de11022定向为本地de22号端口。执行完该命令以后,会提示输入ideal用户密码,输入以后就会登录到远程服务器bob。这时在bob上netstat-ln就会发现11022端口监听,保持从alice到bobdessh连接不断开。从互联网任何位置登录服务器bob以后,wo men 可以通过该隧道登录到alice服务器,执行以下命令:

#sshlocalhost-p11022

该命令表示连接本地de11022端口,因为wo men 已经创建了从alice到bobde隧道,因此连接本地de11022端口实际上就是通过隧道访问alicede22端口号。

这样通过这个隧道就可以实现登录位于内部网de服务器alice,但是因为ssh命令中指定了源端口,这种隧道一般只能支持一种协议,对于特定应用则具you加密带来de安全性de优点,但灵活性则不够,而且为了保证隧道畅通,从alice到bobdessh连接不能断开,也就意味着用户不能退出alice,否则隧道就会关闭。

方法二:使用vtun建立IP隧道

VTun(VirtualTUNnel,http://vtun.sourceforge.net)是一个功能很强de软件,可以利用它来建立IP虚拟隧道,而且隧道de数目可以不受限制,完全依照机器de能力而定,并且在此基础上应用上可以实现VPN、移动IP等功能。

Vtun所支持de通道并且具you多种功能特性:

* 加密:支持基于CHAPde认证、并采用BlowFish128bit密钥。
* 压缩:支持zlib、lzo等多种压缩算法
* 通信整形:平台无关,允许分别限制进入和流出通道de速率。

Vtun支持以下类型通道:

* IPtunnel(tun):支持pppdeIP隧道。
* 以太网隧道(Ethernettunnel):支持可以实现以太网封装de各种协议,如:IPX、Appletalk、Bridge等。
* 串口通道(Serialtunnel,tty):支持串行电缆de传输方式,如:PPP、SLIP等。
* 管道通道(Pipetunnel,pipe):支持所you能使用Unix管道de程序。

Vtun支持多种平台,包括:Linux、BSD以及Solaris。

D. Linux系统的brtfs文件系统对于SSD应如何设置以优化寿命

别听他们瞎说, *nix对硬件的支持和内核有关,ubuntu12的内核版本号是多少我不知道(我一直用centos), 但是可以明确的告诉你,2.6的内核对ssd并没有良好的支持,但是3.X的内核能良好的支持ssd,比如trim。如果你是2.X的内核,那就升级的ubuntu 14版本就好了。

E. linux内核代码 汇编部分 疑问

没研究过。

不过我记得 Linux 内核其实是两部分,真正的内核本体是在内核文件的后部,一般都是压缩的。之前是一个这个架构通用的启动代码,应该就是你这个汇编。
bootloader 的作用是把内核读取到指定地址,之后运行这个内核,这样运行的恰恰就是这段汇编写的启动代码,这个启动代码的作用就是初始化环境,之后把后面本体的内核解压缩并且写到内存开始部分(忘了叫什么名字)正好盖掉 bootloader ,并且继续运行。这样这个运行的内核才是最终的 Linux 内核。(至少 x86 是这样)

但每个 CPU 架构的启动过程又有不同的地方。应该每个 CPU 都有自己特定的头部启动代码。
你说这三个文件应该是有不同目的的。compressed 应该是解压用的,kernel 里面的应该是执行主要启动过程的。那个 common.s 应该是“通用”部分代码模块。我的 comperssed 里面还有很多 lzma 、gzip 、lzo 以及一些设备名称的东西,应该都是“模块”一类的吧。

你看看 Makefile 的编译过程应该就能开除编译调用的文件都是什么了。

还有,你看源代码最好看原版的,如果使用,那就去用针对性的。不然赶上找抽的人,可能针对某个开发板的代码,会因为太过针对而不符合通用的一些规定或者习惯。

F. linux lzop 支持目录压缩吗

不行,不过可以配合tar对目录进行打包。
tar c test/ | lzop - > test.tar.lzo
lzop -dc test.tar.lzo | tar x

G. 压缩方法有哪些各有什么优缺点,压缩比是多少呢主要是在linux下代码压缩的rar或zip大部分都是win下

压缩比率很难说,未压缩数据的复杂程度会影响这个比率。
常见压缩算法按压缩比率由大到小排:
paq系 > lzma系 > rar > bzip2 > lz系(gz、zip) > lzo

paq相当费时而且耗内存,有点不值得使用;lzma是目前硬件水平可接受的高压缩比算法(7z就属于此类洐生品);rar没什么好说的,商业算法,我觉得比bzip2费时上还好点;lzo虽然压缩比率不那么历害,但高速、内存需求极少是其亮点,在需要实时压缩、解压的场合非常受欢迎,例如网络通迅、数据库。

linux中最常用tar.gz格式(winrar支持解压)。
命令通常是这样: tar czvf abc.tar.gz name1 name2 ...
解释一下参数czvf
c 建立
v 详细信息
f 输出文件,后面一定跟生成的压缩文件名。
z 用gz压缩
(其它压缩还有:
Z compress压缩,几乎没人用的老旧lz算法
j bzip2压缩
J xz压缩,lzma的改进算法
也可在最后加参数 --lzop 或 --lzip 或 --lzma)

生成tar.gz其实经过两个处理过程的,首先tar将所有文件的信息集合成一个无压缩的tar格式(无需写到磁盘),再用gz压缩算法处理(很像rar的solid选项)。这样的坏处是,如果你只要解压其中一个文件,解压时也要读取压缩文件前面很大部分内容。

H. linux RHEL6.3 yum 安装mplayer出现以下问题~~求高手,

跟你同样的命令我这里执行的很正常。
你的系统是什么版本?
yum 用的是哪个源?

我的执行结果,如下
Installed:
smplayer.x86_64 0:0.6.9-1.el6.rf

Dependency Installed:
a52dec.x86_64 0:0.7.4-8.el6.rf aalib.x86_64 0:1.4.0-5.el6.rf arts.x86_64 8:1.5.10-10.el6
audiofile.x86_64 1:0.2.6-11.1.el6 cppunit.x86_64 0:1.12.1-3.1.el6 dirac.x86_64 0:1.0.2-1.el6.rf
enca.x86_64 0:1.10-1.el6.rf esound-libs.x86_64 1:0.2.41-3.1.el6 faac.x86_64 0:1.26-1.el6.rf
freeglut.x86_64 0:2.6.0-1.el6 fribidi.x86_64 0:0.10.9-1.el6.rf lame.x86_64 0:3.99.5-1.el6.rf
libcaca.x86_64 0:0.99-0.1.beta17.el6.rf libdca.x86_64 0:0.0.5-1.el6.rf libmad.x86_64 0:0.15.1b-4.el6.rf
librtmp.x86_64 0:2.3-1.el6.rf libvdpau.x86_64 0:0.4.1-1.el6.rf live555.x86_64 0:0-0.27.2012.02.04.el6.rf
lzo.x86_64 0:2.03-3.1.el6 mpg123.x86_64 0:1.15.1-1.el6.rf mplayer.x86_64 0:1.0-0.48.svn20100703.el6.rf
mplayer-common.x86_64 0:1.0-0.48.svn20100703.el6.rf mplayer-fonts.noarch 0:1.1-3.0.rf opencore-amr.x86_64 0:0.1.2-1.el6.rf
orc.x86_64 0:0.4.11-1.el6.rf schroedinger.x86_64 0:1.0.10-1.el6.rf svgalib.x86_64 0:1.9.25-1.el6.rf
x264.x86_64 0:0.0.0-0.4.20101111.el6.rf xvidcore.x86_64 0:1.2.2-1.el6.rf

Complete!

I. 如何自己开发一套服务器管理系统

转载 表面上看,是一套基于B/S方式实现的分布式管理系统,但其实背后的架构是基于C/S完成的。你以为他是一只鞋吗?其实他是一个吹风机。作为界面化的系统,浏览器框架是不可或缺的,但更加重要的东西在Socket上面。

一、需要解决中央控制端到各节点服务器之间的通信。
这个其实牵扯到一个通信协议的问题,各语言都有自己的socket,thread的库,直接调用即可。但是这个通信协议就需要自己来完成了。既不能太简单,太简单了,明码传输,如果别人获知了这个接口,就很容易执行一些令人讨厌的操作。也不能太复杂,太复杂了等于是给自己找麻烦,所以简单的数据包编解码的工作或者用token验证的方式是需要的。通信协议起码要两种,一种是传输命令执行的协议,一种是传输文件的协议。

二、跨语言的socket通信
为什么要跨语言,主控端和代理端通信,用什么语言开发其实无所谓。但是为了给自己省事,尽可能使用服务器上已经有了的默认语言,Ambari前期采用php+puppet的方式管理集群,这不是不可以,puppet自己解决了socket通信协议和文件传输的问题,可你需要为了puppet在每台服务器上都安装ruby。我是个有点服务器和代码洁癖的人。光是为了一个puppet就装个ruby,我觉得心里特对不起服务器的资源。所以我自己写了一个python的代理端。python是不管哪个linux系统在安装的时候就都会有了。然后主控端的通信,可以用python实现,也可以用php实现,但是考虑到对于更多的使用者来说,改php可能要比改tornado简单许多,所以就没用python开发。hadoop分支版本众多,发布出去,用户要自己修改成安装适合自己的hadoop发行版,就势必要改源码,会php的明显比会python的多。php里面的model封装了所有的操作,而python只是个操作代理人的角色而已。

所以也延伸出一个问题,什么语言用来做这种分布式管理系统的代理端比较合适,我自己觉得,也就是python比较合适了,操作系统自带,原生的package功能基本够用。用java和php也可以写agent,但是你势必在各节点预先就铺设好jre或者php运行环境。这就跟为什么用python和java写mapred的人最多是一样的。没人拦着你用nodejs写mapred,也可以写,就是你得在每个节点都装v8的解释引擎,不嫌麻烦完全可以这样干。原理参看map/rece论文,不解释。perl也是操作系统原生带的,但是perl的可维护性太差了,还是算了吧。

所以这就牵扯到一个跨语言的socket问题,理论上来说,这不存在什么问题。但这是理论上的,实际开发过程中确实存在问题,比如socket长连接,通信数据包在底层的封装方式不同。我没有使用xml-rpc的原因之一就是我听说php的xmlrpc跟其他语言的xmlrpc有不同的地方,需要修改才能用,我就没有用这种办法。最早是自己定义的操作协议,这时就遇到了这些问题,所以后来直接采用了thrift方式。就基本不存在跨语言的socket通信问题了。

三、代理端执行结果的获取
无论命令还是文件是否在代理端执行成功,都需要获取到执行结果返回给中央端。所以这里也涉及一个读取节点上的stdout和stderr的问题。这个总体来说不是很难,都有现成的包。当然这个时候你需要的是阻塞执行,而不能搞异步回调。
还有个问题是,我要尽可能使用python默认就带的包,而尽量不让服务器去访问internet下载第三方的包。

还有代理端最重要的一点,就是python的版本兼容性。centos5用python 2.4,centos6用python 2.6,ubuntu基本默认都是2.7。所以一定要最大限度的保证语言的跨版本兼容性,要是每个操作系统和每一个版本我都写一个代理,我一个人就累死了。

四、浏览器端的model,view,controller
这里面你要封装好所有的通信协议,以及需要在节点上面执行的脚本。发送文件的操作和数据库操作也要在model里面完成。
如果对tcl/tk很熟,也可以写基于操作系统界面方式的管理,不用浏览器就是了。
view对我来说是最痛苦的事,都是现学的jQuery怎么用,前端的工作太可怕了。关于这方面,没有太多可描述的,html和js带给我的只有痛苦的回忆,万恶的undefined。

五、跨操作系统的安装文件封装。
要适应不同的操作系统也是个很麻烦的事情,需要用agent提前获知操作系统的发行分支,版本号。然后去找到对应的安装文件去执行。你不能保证一个分布式系统的集群中所有的节点都可以访问internet,更多的情况是这些节点都存在在一个安全的内网中。只有个别几个节点是可以访问外网的。所以,我势必要把所有的安装文件以及他们的依赖尽可能集中起来。我不确定安装操作系统的lzo,yum或者apt-get会去下什么鬼东西,甚至无论是yum还是apt-get,里面都没有hadoop-lzo的库文件。所以,最好的办法是自己编译打包rpm和deb包。直接安装就好了,别去找repo下载什么。

这就是第五步工作,把需要的依赖的东西自己编译打包成rpm和deb。

deb包很好解决,但是rpm就没那么好办了,需要学习rpm的编译文件如何编写,这块是挺麻烦的,但是这玩意用好了还是挺不错的。现在我自制的安装包里面就已经包含了自己编译的lzo和snappy两种压缩库,以及hadoop-gpl-packaging的rpm和deb。下一个发布的easyhadoop将直接支持centos5,6,suse,以及ubuntu/debian的系统上安装hadoop。已经自带了lzo和snappy以及lzop和snzip。

六、把这些所有东西,整合到一个系统里面。

关联这些所有事情间的联系,整合到一个浏览器界面里面去。写一个分布式的管理脚本不难,写一个界面也不难,但是也许是我的水平不行,这两件事结合起来让他们协同工作还是有点难度的。对我来说,写界面的工作可能更难一点。

Cloudera可能是十来个人在写Manager的东西,ambari也是放到github和apache svn上面,apache基金会的各种committer在写。easyhadoop没他们功能那么强大,一年来只有我一个人设计架构,功能,各种语言的编码,测试,发布。For the love of god, What have I done(英文部分请站在山顶仰天长啸)? T_T。从前台到后台,到hadoop和生态系统以及他们的依赖软件的单独patch、编译打包。(系统yum或者apt-get的包不如自己打的好使。)

从时间上来看,全球第一款开源的hadoop部署管理系统应该还是属于ambari,2011年8月开始写的,2012年9月底进入apache的incubator。我是大概2012年8月开始写的easyhadoop,全球第一没赶上,估计国内第一个开源的hadoop管理系统还是可以排上的。

J. linux下调用lzo函数是为什么出现No such file or directory

提示都说了没有那样的文件或者目录了,是不是你那个函数里面调用了什么文件,或者根本没有那个函数。

阅读全文

与linux安装lzo相关的资料

热点内容
红塔银行app怎么样 浏览:562
农行app怎么开网银 浏览:649
java迭代器遍历 浏览:301
闽政通无法请求服务器是什么 浏览:48
怎么做积木解压神器 浏览:203
王者荣耀解压玩具抽奖 浏览:49
12位是由啥加密的 浏览:868
程序员编迷你世界代码 浏览:895
php取现在时间 浏览:246
单片机高吸收 浏览:427
怎么区分五代头是不是加密喷头 浏览:244
hunt测试服务器是什么意思 浏览:510
2013程序员考试 浏览:641
毕业论文是pdf 浏览:736
服务器跑网心云划算吗 浏览:471
单片机定时器计数初值的计算公式 浏览:801
win7控制台命令 浏览:567
猫咪成年app怎么升级 浏览:692
360有没有加密软件 浏览:315
清除cisco交换机配置命令 浏览:751