软件安装指南

来自Ubuntu中文
Luojie-dune留言 | 贡献2010年12月4日 (六) 13:55的版本 →‎待整理
跳到导航跳到搜索
可打印版本不再受到支持且可能有渲染错误。请更新您的浏览器书签并改用浏览器默认打印功能。

基础

首要说明:Linux(继承自Unix)的文件系统构架中,用户手动选择安装目录是不必要的。

有人就问了,不能自己做主,这样不是不好吗? 这套系统是很聪明滴,她很更了解什么东西该放在什么位置,根本不用操心。若是非要操心,非要自己指定位置,指错了说不定会出故障欧!——因为提供软件的人也信任这套系统最佳,呵呵~这种规范已经实行几十年了,事实证明这就是最好的!所以就不需要我们操心安装位置了(事实上安装时也没提示你选择安装目录)


通常情况下,linux会这样放软件的组件:

程序的文档->/usr/share/doc; /usr/local/share/doc
程序->/usr/share; /usr/local/share
程序的启动项->/usr/share/apps; /usr/local/share
程序的语言包->/usr/share/locale; /usr/local/share/locale
可执行文件->/usr/bin; /usr/local/bin

而有的软件为了和系统组件分隔开,选择栖息于 /opt,但目录结构往往是一样的,把/usr或/usr/local 替换为了/opt/"软件名"

须知

遇到问题,请打开虚拟终端程序(terminal),比如konsole、gnome-terminal、xterm 以便运行实验。默认情况下,运行不明外加程序很可能需要手动给与可执行权限。赋予一个文件此类权限可以使用文件属性中的选项打勾。 或者命令chmod,参考 man chmod。

直接运行

已经编译的二进制包 ——统称 binary,后缀可以是 .bin 或者.sh或者没有

补充: 不需要编译即可运行的比如Python 源代码——即 source code,使用python *.py 调用

有的是已经打好的二进制包(有时名字中带有i386/amd64、x86/x86_64之类的)或者是单个文件(少见,直接运行),

不过如果你是64位系统 32位的可能正常使用,也可能需要编译源代码

常规运行程序.sh或无扩展名或硬件构架名称 运行命令如

 ./ioUrbanTerror.x86_64
 
 ./wings3d 


Java程序

如果是.jar想要终端运行,例如

 java -jar MegaMek.jar


如果是webstart就自动运行了——网络浏览器使用

Python程序

一般是源代码,调用python运行即可,比如,

 python main.py

安装与删除

最常见安装方法

sudo apt-get install 软件名
前提是你的软件列表里有这个软件,这就要求你的源要配好,并且经常sudo apt-get update保证你的列表最新。这种方法会自动下载软件包到
/var/cache/apt/archives目录下并安装,而且还可以帮你解决依赖问题。
apt://pidgin 如果点击此链接即可开始安装pidgin,是apt向浏览器方向扩展
补充: 本质是规划好的deb包集合。


DEB安装包

可以理解为win下的.msi文件。 软件在 playdeb 或者官方站会有DEB包,下载双击即可。比如peazip这样安装依赖会自动补齐---只要源里有。


待整理

如果没有deb包,可以编译安装。(注:编译安装通常需要的时间比较长,比如编译安装wine需要一个多小时)为了编译安装软件,你必须sudo apt-get install build-essential获得所有的编译工具。下载源码包,通常是.tar, .tar.gz, .tgz, .tar.bz格式。(注:并不是所有以.tar ,.tar.gz等为扩展名的文件都是源码压缩包,它们也有可能已经被编译过了,压缩包里面会有一个安装程序(Installer)或者扩展名为bin的可执行文件.比如Mozilla官方网站上的Firefox压缩包,Flock压缩包等.这时你需要做的只是为它们制作一个快捷方式就可以了.) (1)tar xf XXX.tar.XX(现在的tar版本只用x(解开)和f(文件)参数,不用指定z或j)或者双击解压。 (2)然后进入源码包目录,查看readme或者相关说明即可找到安装的方法(下面方法仅是通常做法,具体最好参照源码包的说明)。通常是: ./configure make sudo make install (运行./congfigure命令.执行这个命令的目的有二:检查依赖程序,创建Makefile文件.如果命令执行失败,终端会提示安装指定的文件包,你可以在新立得中搜寻并安装.同样有很多源码包并没有configure脚本,不用担心,你可以直接执行Make命令.) 3、使用新立得软件包管理器:系统-系统管理-新立得软件包管理器,输入想要安装的软件名字,搜到后右击选“标记以安装”,然后点击菜单栏下面的“应用”即可。 4、ubuntu9.10的软件中心:应用程序-ubuntu软件中心。找到需要的软件,点击右侧箭头,然后点击安装即可(请先配好源,执行sudo apt-get update后再使用,否则安装按钮可能是灰的) 5、使用辅助工具:比如ubuntu tweak、Ailurus,点击即可。


二进制安装包

bin或run或sh文件或没有扩展名的文件安装(需要安装的二进制包installer)

此类型为Linux通用的2进制安装包,可能只对应x86,也可能包括x86-64支持(64位系统支持)

首先鼠标操作,在“属性”把文件权限更改为“可以执行”。 命令行界面操作也可, 然后运行, 命令行则是到那个目录下 ./文件名 (.bin或.run) 或 sh ***.sh 例子: ./realplayer.bin ./install.run sh setup.sh

若不想安装在当前用户的家目录,需要在命令前加 sudo

依赖问题只要看看错误信息,分析找到缺少的部件 *** (可能要apt安装那些,也可能需要编译) apt

sudo aptitude search ***


卸载方法

待整理

Apt软件包管理系统(deb)

  • sudo apt-get remove 软件名
  • 使用软件
    • 使用新立得,输入已安装的软件名称,右击选“标记以删除”,然后“应用”即可。没发现的话可以尝试点击左侧“源自”,在上面窗口选本地即可。
    • 应用程序-ubuntu软件中心。找到安装的软件(有对号标记),点击右侧箭头,然后点击"移除"即可。
    • ubuntu tweak0.5.0:打开ubuntu tweak-软件中心,将已安装软件前面的勾去掉,点击右下角“应用”。Ailurus中方法类似。
  • sudo dpkg -r xxx

PS:此处可以使用[tab]自动补齐名称

编译

  • 编译安装后卸载可以试用
sudo make uninstall  

成功前提是维护者程序员嵌入了相关命令

  • 使用checkinstall处理编译的包安装则使用上面的deb/apt处理步骤

编译

编译是人写的语言翻译成计算机所用语言的过程。

选取合适版本——>安装

获取最新代码 Working Source Code,通常来自版本控制系统,可以看作此软件的最新文件────不是所有的软件都推荐如此安装,很多都有明示的警告,而且经常失败。

源码包名称通常带有带有src,时常有r***,revision***的意思,版本的意思。 编译最大的问题在于,依赖关系+设置,这里依赖从源里得到。


建造基本编译环境:
sudo apt-get install build-essential


根据软件官方的wiki或网站上的指导 或源码包里的 install和Readme文本文件
安装合适的依赖,

若是apt关系的源里有这个软件,或找到依赖相同的软件,使用apt-get build-dep 补齐依赖关系 如wesnoth可以使用

sudo apt-get build-dep wesnoth

会安装sdl相关dev库

例子

都是在已经解决了依赖问题情况下

  • SCOURGE

官方站:http://scourgeweb.org/tiki-index.php

3D大型RPG游戏组队,单机剧情+网络功能的,剧情有13章了。关于SCOURGE的设置信息来自:使用SVN管理代码。获取最新文件。trunk是开发分支代称,branch是稳定分支,自己选择。

svn co https://scourge.svn.sourceforge.net/svnroot/scourge/trunk scourge

复制到了你当前所在目录的子目录scourge中,这段时间长短和网络相关。进入这个目录

cd scourge/scourge

这个软件项目很“仁慈”用了最简单的工具

scons


  • SuperTuxKart
svn co https://supertuxkart.svn.sourceforge.net/svnroot/supertuxkart/trunk/supertuxkart supertuxkart
cd supertuxkart

自动运行的东东

sh autogen.sh

配置资源,如果缺失依赖往往这里出错

./configure

编译步骤

make

编译的文件安装---这里需要su 超级用户权限,因为要写入到/usr

sudo make install