文件安装的问题
版面规则
我们都知道新人的确很菜,也喜欢抱怨,并且带有浓厚的Windows习惯,但既然在这里询问,我们就应该有责任帮助他们解决问题,而不是直接泼冷水、简单的否定或发表对解决问题没有任何帮助的帖子。乐于分享,以人为本,这正是Ubuntu的精神所在。
我们都知道新人的确很菜,也喜欢抱怨,并且带有浓厚的Windows习惯,但既然在这里询问,我们就应该有责任帮助他们解决问题,而不是直接泼冷水、简单的否定或发表对解决问题没有任何帮助的帖子。乐于分享,以人为本,这正是Ubuntu的精神所在。
-
- 帖子: 161
- 注册时间: 2006-08-03 14:45
文件安装的问题
下面是引用:
源码包
======
对于绝大多数软件,我们建议您使用APT系统来安装它。在少数情况下,例如某软件没有以deb包的格式发布,或者您需要定制适合自己的软件,您可以通过编译源代码的方式安装它。
首先您需要下载软件的源码包,并且将它解包为一些源代码文件。并了便于管理,我们建议您将下载的源码包移动到“/usr/local/src/”目录下,并在这里解包。
sudo mv xxx.tar.gz /usr/local/src 移动源码包
cd /usr/local/src 进入“/usr/local/src/”目录
sudo tar -xzvf xxx.tar.gz 解包源码
cd xxx_ver/ 进行解包后的源码目录
源码目录中通常有一个“configure”脚本,用来配置即将开始的编译过程。您可以执行它
sudo ./configure [--prefix=/usr/loca/xxx ......]
它会自动检测软件的编译环境和依赖关系,并且生成“Makefile”文件。
您可以使用带参数的命令“./configure --help”,或者阅读“INSTALL”文件,查看该脚本允许的参数。例如使用“--prefix=/usr/local/xxx”参数,将软件的安装目录设定为“/usr/local/xxx/”。(如果您一定要将软件安装在一个目录下,我们建议您安装在这里)
现在执行“make”命令,系统会根据“Makefile”文件中的设定,通过“make”工具调用编译器和所需资源文件,将源代码文件编译成目标文件。
sudo make
执行“make install”命令,“make”工具会自动将连接目标文件,将最终生成的文件拷贝到“Makefile”文件设定的路径中,并且完成更改文件的属性,删除残留文件等活动。
sudo make install
现在,您的编译安装已经完成,为了更方便的使用它,需要给程序的可执行文件作一个符号链接。
sudo ln -sf /usr/local/xxx/exe /usr/local/bin/exe
Tips:为了顺利的进行编译,您至少需要安装“build-essential”软件包。
使用命令“sudo apt-get install build-essential”安装它
在上文中的:
现在,您的编译安装已经完成,为了更方便的使用它,需要给程序的可执行文件作一个符号链接。
sudo ln -sf /usr/local/xxx/exe /usr/local/bin/exe
这一句sudo ln -sf /usr/local/xxx/exe /usr/local/bin/exe是啥意思???句中的exe难道是exe文件????
有些看不懂, 请各位指教!!!!!!!!!!!!!!!!!!!!
源码包
======
对于绝大多数软件,我们建议您使用APT系统来安装它。在少数情况下,例如某软件没有以deb包的格式发布,或者您需要定制适合自己的软件,您可以通过编译源代码的方式安装它。
首先您需要下载软件的源码包,并且将它解包为一些源代码文件。并了便于管理,我们建议您将下载的源码包移动到“/usr/local/src/”目录下,并在这里解包。
sudo mv xxx.tar.gz /usr/local/src 移动源码包
cd /usr/local/src 进入“/usr/local/src/”目录
sudo tar -xzvf xxx.tar.gz 解包源码
cd xxx_ver/ 进行解包后的源码目录
源码目录中通常有一个“configure”脚本,用来配置即将开始的编译过程。您可以执行它
sudo ./configure [--prefix=/usr/loca/xxx ......]
它会自动检测软件的编译环境和依赖关系,并且生成“Makefile”文件。
您可以使用带参数的命令“./configure --help”,或者阅读“INSTALL”文件,查看该脚本允许的参数。例如使用“--prefix=/usr/local/xxx”参数,将软件的安装目录设定为“/usr/local/xxx/”。(如果您一定要将软件安装在一个目录下,我们建议您安装在这里)
现在执行“make”命令,系统会根据“Makefile”文件中的设定,通过“make”工具调用编译器和所需资源文件,将源代码文件编译成目标文件。
sudo make
执行“make install”命令,“make”工具会自动将连接目标文件,将最终生成的文件拷贝到“Makefile”文件设定的路径中,并且完成更改文件的属性,删除残留文件等活动。
sudo make install
现在,您的编译安装已经完成,为了更方便的使用它,需要给程序的可执行文件作一个符号链接。
sudo ln -sf /usr/local/xxx/exe /usr/local/bin/exe
Tips:为了顺利的进行编译,您至少需要安装“build-essential”软件包。
使用命令“sudo apt-get install build-essential”安装它
在上文中的:
现在,您的编译安装已经完成,为了更方便的使用它,需要给程序的可执行文件作一个符号链接。
sudo ln -sf /usr/local/xxx/exe /usr/local/bin/exe
这一句sudo ln -sf /usr/local/xxx/exe /usr/local/bin/exe是啥意思???句中的exe难道是exe文件????
有些看不懂, 请各位指教!!!!!!!!!!!!!!!!!!!!
- eexpress
- 帖子: 58428
- 注册时间: 2005-08-14 21:55
- 来自: 长沙
-
- 帖子: 750
- 注册时间: 2006-03-19 11:39
差不多……
链接还可以作许多其它的事情……
楼主显然略过了许多章节………………
我在那贴的顶楼有很明显的提示:
链接还可以作许多其它的事情……
代码: 全选
假设您安装了一个程序,它的主程序没有被放置到上面三个 bin 目录中的任何一个,或者其它系统能够找到的地方,您就得告诉系统,它的可执行文件在哪里。
可以使用绝对路径,例如: /home/user/bin/exe
或者定位到 /home/user/bin 目录,使用相对目录来定位它 ./exe
如果您定位到了它的子目录,比如 /home/user/bin/gui,您可以使用 .. 来表示它的上级目录 ../exe
------------------------------
设定命令的搜索路径
使用 echo $PATH ,可以显示 $PATH 变量,输出如下:
/usr/local/sbin /usr/local/bin /usr/sbin /usr/bin /sbin /bin /usr/bin/X11 /usr/games /usr/X11R6/bin
它是一个环境变量,代表执行命令时,Shell的搜索路径。
执行一个命令时,Shell会到 $PATH 变量定义的路径去搜索,并运行与命令同名的可执行文件。如果程序、脚本等可执行文件并不在上面的路径中,就必须使用绝对路径或者相对路径定位可执行文件。
例如:
/usr/local/mplayer -menu xxx.rmvb
/etc/init.d/powernowd start
cd /usr/local/ && ./mplayer -menu xxx.rmvb
可以修改 /etc/environment 文件来设定您的命令搜索路径,找到 PATH 起始的行
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin"
在双引号中添加您的自定义路径,并以 : 分隔。
楼主显然略过了许多章节………………
我在那贴的顶楼有很明显的提示:
对Ubuntu不太了解的兄弟,请认真阅读 Linux基础 至 软件安装 部分的内容
系统管理 通读即可,建议作为手册查阅。剩下的内容可根据个人兴趣选读
-
- 帖子: 161
- 注册时间: 2006-08-03 14:45
-
- 帖子: 750
- 注册时间: 2006-03-19 11:39
理解…… 这和我的教程也有关系
鸟哥的教程对于新手确实不错,但当新手成为老手后,就难以卒读了……废话太多了……我现在要是看的话,每一行都能让我痛苦半天……
所以我的教程刻意的回避了这个问题,自然有点不太详细……
不过要说明的是,我的教程里,基本没有废话,有些看似无关的话,成为老鸟后再看,可能会有新的理解
为了弥补过于朴素所造成的疏离感,教程的设计,在基础部分是引导式的……也就是说,从Linux基础,到软件安装之前的部分,在知识面上,是从远到近,逐渐铺开的;而在知识细节上,是连贯的,环环相扣的…………这也是我再三强调,这些部分要按顺序阅读的原因……
……跳跃浏览,如果还能搞清楚我讲的所有事情……那楼主思维方面的控制力就很强了……
鸟哥的教程对于新手确实不错,但当新手成为老手后,就难以卒读了……废话太多了……我现在要是看的话,每一行都能让我痛苦半天……
所以我的教程刻意的回避了这个问题,自然有点不太详细……
不过要说明的是,我的教程里,基本没有废话,有些看似无关的话,成为老鸟后再看,可能会有新的理解
为了弥补过于朴素所造成的疏离感,教程的设计,在基础部分是引导式的……也就是说,从Linux基础,到软件安装之前的部分,在知识面上,是从远到近,逐渐铺开的;而在知识细节上,是连贯的,环环相扣的…………这也是我再三强调,这些部分要按顺序阅读的原因……
……跳跃浏览,如果还能搞清楚我讲的所有事情……那楼主思维方面的控制力就很强了……
上次由 kardinal 在 2006-08-06 23:50,总共编辑 1 次。