当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 16 篇帖子 ]  前往页数 1, 2  下一页
作者 内容
1 楼 
 文章标题 : (已解决)以filezilla为例求助软件的安装知识
帖子发表于 : 2008-02-13 5:01 
头像

注册: 2005-10-05 11:31
帖子: 775
送出感谢: 0 次
接收感谢: 0 次
请先原谅我接触Linux这么长时间还是这么的菜。
filezilla下载页面
http://filezilla-project.org/download.php?type=client
给出的是一个tar打包,bz2压缩的文件。
里面是一个文件夹“FileZilla3"
文件夹下有两个子目录分别为
"bin"和"share"
"bin"下有两个文件,其中一个名为'filezilla"无后缀文件大小为23.27M。
将"FileZilla3"解压缩出来然后运行那个filezilla文件就能启动FileZilla程序了。纳闷的是难道这个是Linux平台的"绿色软件"?是不是需要的库文件什么都在一个文件夹下所以无须拷贝安装文件呢?(我自己理解安装软件主要就是文件拷贝过程吧?)如此运行软件会不会有什么文件在我没有意识到的情况下被自动拷贝到其他相关目录中呢?

P.S. 稳定性对于我很重要,所以我基本不去做小白鼠另外自己也缺乏基础的做小白鼠的能力。
谢谢!
附上我的一段Linux"血泪史": 在这个日期左右的tweets http://twitter.com/fenglu/statuses/696737922
现在的目标是先满足基本计算机应用需求,然后稳扎稳打慢慢进阶扩展需求和提高效率

update1:
不包括运行filezilla后在家目录自动生成隐藏配置目录".filezilla"


update2:
如果说"FileZilla3"是"绿色软件"里面有运行需要的所有文件那么为何直接备份整个文件夹没用呢?
http://explore.twitter.com/fenglu/statuses/697044982
当时没有记录详细的错误提示,现在再直接运行那个备份的文件夹下的filezilla文件倒又能够运行了,见鬼。将备份了的.FileZilla配置目录又拷贝覆盖到家目录FileZilla无需再次配置一次。

p.s. 难道论坛邮件通知功能被禁用了?我记得以前是有的


_________________
我的网志: http://feed.fenglu.name/


最后由 oliver 编辑于 2008-02-16 22:25,总共编辑了 7 次

页首
 用户资料  
 
2 楼 
 文章标题 :
帖子发表于 : 2008-02-13 6:48 
头像

注册: 2006-10-27 11:14
帖子: 1140
地址: 悉尼
送出感谢: 0 次
接收感谢: 0 次
咳咳,软件在编译的时候可以生成静态版本,也就是自己的目录下就包括了运行时候所需的各个库文件,而不依赖于系统,filezilla大概就是这么做的。

ps:干嘛要用eeepc自带的linux?完全可以换个版本,自己控制所需要的包。


页首
 用户资料  
 
3 楼 
 文章标题 :
帖子发表于 : 2008-02-13 8:47 
头像

注册: 2005-10-19 17:33
帖子: 2052
送出感谢: 0 次
接收感谢: 0 次
软件运行无非是
1. 用户空间执行可执行代码(用户空间可以执行的)
2. 系统调用
3. 库调用--(库里面的可执行代码执行过程也是如上1,2,3)
所谓的依赖关系,主要是2和3,如果一个软件所有的函数库都自己实线(当然不可能),就没依赖关系
而系统调用相对稳定,不容易发生依赖错误
一般都是库调用的依赖问题。
编译成可执行代码的时候,连接器可以指定,我连接哪个库。大部分时候,为了减小体积,都编译成动态链接。而为了更加generic,一般只说明库的名字,而不是库的具体位置。比如libdb。大部分时候是值libdb.so,而系统会去/usr/lib下面找有没有libdb.so(当然还有其他目录,你也可以自己指定哪个目录)。
这时候,如果你没有这个文件,或者系统无法找到这个文件,或者这个library版本问题,没有你需要的函数。 你的
程序运行的时候就抱无法link 到指定的library里面的function
为了避免这种问题,有的程序利用连接器的一些特殊的参数,强行指定链接哪个文件,这样你发布你的程序,连带你链接的库都要一起发布。但这样让你发布的包就变的更大
还有一种是静态编译。把你需要的library的函数全部拷贝进你的可执行文件。但这需要你有静态链接库,linux下面就是.a(archive)文件。同样,你的程序的size也要变大


页首
 用户资料  
 
4 楼 
 文章标题 :
帖子发表于 : 2008-02-13 18:38 
头像

注册: 2005-10-05 11:31
帖子: 775
送出感谢: 0 次
接收感谢: 0 次
matri 写道:
咳咳,软件在编译的时候可以生成静态版本,也就是自己的目录下就包括了运行时候所需的各个库文件,而不依赖于系统,filezilla大概就是这么做的。

ps:干嘛要用eeepc自带的linux?完全可以换个版本,自己控制所需要的包。



1.秉承够用就好,稳定第一的原则。(不想再折腾自己)
2.其他Linux发行版包括为EeePC定制的Ubuntu都有已知的问题(网友都有反馈)
3.EeePC自带的Xandros有官方支持,例如电源管理方面,貌似自带的Linux能让小e待机时间更长,官方也支持XP,不过XP的待机时间也没有自带的Linux长(另外用XP也有已知问题)。
4.自带的系统开机有够快。
5.使用其他系统包括其他Linux发行版和XP都有已知问题,还有遇到未知问题的可能。

总结:小e不过是”二奶机“,我没有想过让他实现主打机器的所有功能。只不过我的主打机器电池基本已经没用,而且小e够小方便携带。

update:
6.Xandros基于Debian,我想Linux的基本原理不都一样么?


谢谢各位! 我在想将来我有空了也将计算机专业方面的知识学学,要不然很多时候遇到问题只有Google,然后照葫芦画瓢解决下还似懂非懂的。Google不带的就没辙了,有时候只能黑箱操作乱试,试不好的就彻底没辙。sigh..


_________________
我的网志: http://feed.fenglu.name/


最后由 oliver 编辑于 2008-02-20 4:09,总共编辑了 3 次

页首
 用户资料  
 
5 楼 
 文章标题 :
帖子发表于 : 2008-02-13 18:40 
头像

注册: 2007-07-11 20:59
帖子: 3922
送出感谢: 0 次
接收感谢: 0 次
【软件包的格式】

软件后缀为.rpm最初是Red Hat Linux提供的一种包封装格式,现在许多Linux发行版本都使用;后缀为.deb是Debain Linux提供的一种包封装格式;后缀为.tar.gz、tar.Z、tar.bz2或.tgz是使用Unix系统打包工具tar打包的;后缀为.bin 的一般是一些商业软件。通过扩展名可以了解软件格式,进而了解软件安装。

【rpm格式】
RPM全称是Red Hat Package Manager(Red Hat包管理器)。RPM本质上就是一个包,包含可以立即在特定机器体系结构上安装和运行的Linux软件。 RPM软件包的命名有一定的规律,它遵循名称-版本-修正版-类型 ,例如:iloveyou-5.2 -1.i386.rpm 。
1、1安装RPM包软件
# rpm -ivh iloveyou-5.2 -1.i386.rpm
1、2.卸载软件
# rpm -e iloveyou
1、3其他选项
想了解的深入些,请教男人吧(man )

【deb格式】
2、1安装deb打包的软件安装
# dpkg -i iloveyou-1.2.-1.deb
2、2 卸载
# dpkg -e iloveyou

【源代码】

3、1解压数据包:源代码软件通常以.tar.gz做为扩展名,也有tar.Z、tar.bz2或.tgz为扩展名的。

#tar xzvf iloveyou-1.2.-1.tar.gz

3、2编译软件

#cd iloveyou-1.2.-1

#. /configure #配置#

make #调用make#

make install #安装源代码#

3、3删除安装时产生的临时文件:

#make clean

3、4卸载软件:

#make uninstall

【.bin格式软件】
4、1 bin文件安装
扩展名为.bin文件是二进制的,它也是源程序经编译后得到的机器语言。有一些软件可以发布为以.bin为后缀的安装包,例如,流媒体播放器 RealONE。如果安装过RealONE的Windows版的话,那么安装RealONE for Linux版本(文件名:r1p1_linux22_libc6_i386_a1.bin)就非常简单了:

#chmod +x r1p1_linux22_libc6_i386_a1.bin

./ r1p1_linux22_libc6_i386_a1.bin

接下来选择安装方式,有普通安装和高级安装两种。如果不想改动安装目录,就可选择普通安装,整个安装过程几乎和在Windwos下一样。

.bin文件的卸载,以RealONE for Linux为例,如果采用普通安装方式的话,在用户主目录下会有Real和Realplayer9两个文件夹,把它们删除即可。

【Linux绿色软件】

Linux也有一些绿色软件,不过不是很多。Linux系统提供一种机制:自动响应软件运行进程的要求,为它设定好可以马上运行的环境。这种机制可以是一种接口,或者是中间件。程序员编写的程序可以直接拷贝分发,不用安装,只要点击程序的图标,访问操作系统提供的接口,设定好就可以工作。若要删除软件,直接删除就可以,不用链接文件。这是最简单的软件安装、卸载方式


页首
 用户资料  
 
6 楼 
 文章标题 :
帖子发表于 : 2008-02-13 18:41 
头像

注册: 2007-07-11 20:59
帖子: 3922
送出感谢: 0 次
接收感谢: 0 次
在Ubuntu中附带了丰富的软件,这些软件一般使用图形化的自动方式(“添加/删除”或“新立得”)即可轻松安装,但是对于那些刚刚问世的新软件,Ubuntu的源中还未收录其中,这时我们就需要用到一种更通用的安装方式:通过手工方式从源文件来安装这些软件。下面就介绍这种手工安装方式的详细步骤。

一、 安装编译程序

因为要编译源代码,所以第一步就是安装编译和构建之类的程序。如果你已经安装过了,可以跳过此步。在Ubuntu系统中非常简单,只要执行下面命令就行了:

$ sudo apt-get install build-essential

该命令执行后,从源文件安装软件所需的工具,如gcc、make、g++及其他所需软件就安装好了。

二、下载并编译软件的源代码

当我们下载源文件时,一定要弄清该软件所依赖的库文件和其他程序,并且首先将它们装好。这些信息,通常都能在该开源项目的主页上查找到。做好这些准备工作后,我们就可以进行下面的工作了。因为,软件的源代码通常以压缩文件形式发布,所以需要将其解压到指定目录。命令如下所示:

OwnLinux@ubuntu:~$ tar xvzf
program.tar.gz
OwnLinux@ubuntu:~$ cd
program/

如果你的对tar命令不熟悉请点击这里阅读《tar命令详解》

在Linux下从源文件安装程序时,有一个通用模式,即配置(./configure)–> 编译(make) –> 安装(sudo make install)。但是,此前你最好还是阅读源文件中附带的安装说明,因为对于每个程序,其开发者的指示才是最具权威性的。程序开发者通常将安装说明存放在名为INSTALL或README。到哪里找这些文件呢?它们在项目主页或源代码主目录中都能找到。

1.配置

构建应用的第一步就是执行configure脚本,该脚本位于程序源文件的主目录下:

OwnLinux@ubuntu:~/program$ ./configure

该脚本将扫描系统,以确保程序所需的所有库文件业已存在,并做好文件路径及其他所需的设置工作。如果程序所需的库文件不完全,该配置脚本就会退出,并告诉您还需要哪些库文件或者是哪些版本太旧需要更新。如果遇到这种情况,仅弄到含有该库文件的软件包还是不够的,同时还要找到具有该库文件所有头文件的开发包,在Ubuntu中,这样的包一般以-dev作为文件名的结尾。安装好所有需要的库文件后,重新运行配置脚本,直到没有错误提示为止,这说明需要的库文件已经全部安装妥当了即满足了依赖关系。

2.编译

当配置脚本成功退出后,接下来要做的就是编译代码了。具体操作为在源文件的主目录中运行make命令:

OwnLinux@ubuntu:~/program$ make

这时,您会看到一串编译输出数据迅速从屏幕上滚过,如果正常的话,系统会返回的提示符状态。然而,如果编译过程中出现错误的话,排错的过程可就不像配置步骤那么简单了。因为,这通常要涉及到源代码的调试,可能源代码有语法错误,或其他错误等等。怎么办?如果您是编程高手,那就自己调试吧!否则,检查该软件的邮件列表等支持渠道,看看是不是已知的bug,如果是就看看别人是怎么解决的,不是就提交一份bug报告吧,也许不久就会有解决办法。

3.安装

当软件成功编译后,最后一步就是将它们安装到系统上。大部分程序的makefile文件中都会有一个用于安装的函数。需要注意的是,大多时候我们必须作为root用户来安装程序,这样程序就把文件安装到/usr或其他只有超级用户才有写权限的目录中。依旧是在源文件的主目录下,执行如下命令:

OwnLinux@ubuntu:~/program$ sudo make install

好了,这样程序就会安装到您的计算机上了。另外,当您不再使用该程序时,可以使用软件所带的卸载功能,一般程序都会具备此功能。切换至源文件的主目录下,执行以下命令即可:

OwnLinux@ubuntu:~/program$ sudo make uninstall

多数情况下,利用上面介绍的方法安装的程序,都位于/usr/local下面。若想让安装的程序文件与Ubuntu巡视的文件系统隔离开的话,可以为命令添加项,如下所示:

OwnLinux@ubuntu:~/program$ ./configure –prefix=/opt

尽管这样做一般都是有效的,但是也有例外,有些程序根本不理会项;有些程序如含有内核模块的程序,会把它们自己全部放进您的文件系统。

上面介绍的手工安装软件的方法虽然是针对Ubuntu环境来介绍的,但是各种Linux系统下的从源文件安装应用的方法基本上都大同小异


页首
 用户资料  
 
7 楼 
 文章标题 :
帖子发表于 : 2008-02-14 2:00 
头像

注册: 2006-07-08 9:21
帖子: 1917
地址: University of Science and Technology Beijing
送出感谢: 1
接收感谢: 0 次
oliver 写道:
matri 写道:
咳咳,软件在编译的时候可以生成静态版本,也就是自己的目录下就包括了运行时候所需的各个库文件,而不依赖于系统,filezilla大概就是这么做的。

ps:干嘛要用eeepc自带的linux?完全可以换个版本,自己控制所需要的包。



1.秉承够用就好,稳定第一的原则。(不想再折腾自己)
2.其他Linux发行版包括为EeePC定制的Ubuntu都有已知的问题(网友都有反馈)
3.EeePC自带的Xandros有官方支持,例如电源管理方面,貌似自带的Linux能让小e待机时间更长,官方也支持XP,不过XP的待机时间也没有自带的Linux长(另外用XP也有已知问题)。
4.自带的系统开机有够快。
5.使用其他系统包括其他Linux发行版和XP都有已知问题,还有遇到未知问题的可能。

总结:小e不过是”二奶机“,我没有想过让他实现主打机器的所有功能。只不过我的主打机器电池基本已经没用,而且小e够小方便携带。

谢谢各位! 我在想将来我有空了也将计算机专业方面的知识学学,要不然很多时候遇到问题只有Google,然后照葫芦画瓢解决下还似懂非懂的。Google不带的就没辙了,有时候只能黑箱操作乱试,试不好的就彻底没辙。sigh..
Asus已经开放代码下载,自己交叉编译,碰到和电源相关的地方,就用Asus的代码编译


页首
 用户资料  
 
8 楼 
 文章标题 :
帖子发表于 : 2008-02-14 2:01 
头像

注册: 2005-10-19 17:33
帖子: 2052
送出感谢: 0 次
接收感谢: 0 次
楼上上的引用东西乱七八糟的,都在讲表相,都没讲到任何实质性问题。而且所谓的“绿色软件”一节也完全讲错


页首
 用户资料  
 
9 楼 
 文章标题 :
帖子发表于 : 2008-02-14 2:04 
头像

注册: 2006-07-08 9:21
帖子: 1917
地址: University of Science and Technology Beijing
送出感谢: 1
接收感谢: 0 次
猛将兄 写道:
楼上上的引用东西乱七八糟的,都在讲表相,都没讲到任何实质性问题。而且所谓的“绿色软件”一节也完全讲错
我还以为在我说,原来是楼上上……


页首
 用户资料  
 
10 楼 
 文章标题 :
帖子发表于 : 2008-02-14 2:04 
头像

注册: 2005-10-19 17:33
帖子: 2052
送出感谢: 0 次
接收感谢: 0 次
另外,filezilla和firefox不是静态编译,而是ld里面,用了-Wl,-rpath 指定链接动态库的名称或者路径
一般没有人静态编译的,像这种大工程,静态编译出来的可执行文件大的吓死人


页首
 用户资料  
 
11 楼 
 文章标题 :
帖子发表于 : 2008-02-14 2:08 
头像

注册: 2006-07-08 9:21
帖子: 1917
地址: University of Science and Technology Beijing
送出感谢: 1
接收感谢: 0 次
晤,按照firefox的编译用时,完全静态估计要上G


页首
 用户资料  
 
12 楼 
 文章标题 : [已解决]
帖子发表于 : 2008-02-16 21:14 
头像

注册: 2005-10-05 11:31
帖子: 775
送出感谢: 0 次
接收感谢: 0 次
的确5楼兄粘贴过来的是网络上的原文(只将表象,不能解答我的疑惑)。
另外各位大虾有空可否再次指点迷津下?
在: http://forum.ubuntu.org.cn/viewtopic.php?p=628974&highlight=#628974 (已解决)

谢谢! 到目前位置对于Linux软件安装很是不明了(man,doc ,线上文档都无法解开我的困惑)


_________________
我的网志: http://feed.fenglu.name/


最后由 oliver 编辑于 2008-02-17 20:22,总共编辑了 1 次

页首
 用户资料  
 
13 楼 
 文章标题 :
帖子发表于 : 2008-02-17 5:31 
头像

注册: 2005-10-19 17:33
帖子: 2052
送出感谢: 0 次
接收感谢: 0 次
oliver 写道:
的确5楼兄粘贴过来的是网络上的原文(只将表象,不能解答我的疑惑)。
另外各位大虾有空可否再次指点迷津下?
在: http://forum.ubuntu.org.cn/viewtopic.php?p=628974&highlight=#628974

谢谢! 到目前位置对于Linux软件安装很是不明了(man,doc ,线上文档都无法解开我的困惑)

我的帖子你完全没看懂? :shock:


页首
 用户资料  
 
14 楼 
 文章标题 :
帖子发表于 : 2008-02-17 20:21 
头像

注册: 2005-10-05 11:31
帖子: 775
送出感谢: 0 次
接收感谢: 0 次
猛将兄 写道:
我的帖子你完全没看懂? :shock:

你在3楼,8楼和10楼的帖子告诉我程序共用库的原因,我的理解是有些库文件链接得比较多如果每个软件都独自包含了所有需要的文件那么可能非常大,如此实现不现实。 但是有些软件就一个可执行文件也无需安装就可以运行,也许只是那个软件需要的库文件一般的基本系统里已都包含了。 :-) 大概就这么认为吧,不能去细究了,知道有这么回事足矣,也没有能力再细究。我是大外行。 :-D


_________________
我的网志: http://feed.fenglu.name/


页首
 用户资料  
 
15 楼 
 文章标题 :
帖子发表于 : 2008-02-18 5:28 
头像

注册: 2005-10-19 17:33
帖子: 2052
送出感谢: 0 次
接收感谢: 0 次
...两个要点,一个动态链接库,一个静态编译。。。
小的工程,甚至稍微大一点的,可以直接静态编译。静态编译,如果有源代码,可以不需要.a,直接用源代码来编译,这样保证你能编译进去你所需要的东西,而不包含不需要的。比如wxWidgets就有这样的建议
而动态链接库,绝大多数软件当然都是直接包含必须的,但不常用的,so文件。怎么会不现实。现实中如libc,glib等都已经被包含在所有linux发行版当中了。自然不会有依赖问题。你还是没搞明白,不求甚解阿,我以为这样的学习态度非常不好


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 16 篇帖子 ]  前往页数 1, 2  下一页

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 4 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译