前言:最近要搭建strongswan环境,免不了需要wireshark抓抓包。有一台电脑总是上不了网(只能通局域网),不能直接apt-get,所以就研究了下几种软件安装方法,尤其是Ubuntu下如何才能像windows那样直接拷贝安装包安装。由此有了本文。
一、在ubuntu里,能用于安装的软件格式大体有两种(不包括用wine或其它虚拟安装):
一是.deb包,ubuntu系统是从debian发展而来的,软件安装也沿用了debian的格式,这个是最方便的,优先选择。
二是.bin包 .bin文件是所有Linux系统用户通用的软件包,一般是压缩成tar.gz格式的,你下载下来解压就可以了。
二、软件安装方式
1、sudo apt-get install <软件包名>
最常用的方式。直接在ubuntu的源服务器上查找下载并安装,只要知道那个软件的名字就可以。甚至只知道大体的名字就可以,只要原服务器上有(这是前提),能查找到即可。
这种方式最便捷。因能自动查找依赖关系,并自动安装依赖的库。让你远离那吐血的依赖关系。
举例:sudo apt-get install vim,这个是安装vim(Ubuntu10.10不自带),输入后两次确认就搞定了。
安装wireshark:sudo apt-get install wireshark
一些问题:
1)软件已经安装过
提示:升级了 0 个软件包,新安装了 0 个软件包,要卸载 0 个软件包,有 8 个软件包未被升级。
2)软件未查找到
有可能是源上没有,这个改一下源试试(最简单的方法是在新立得里-源管理);还可能是软件包名输错了(大小写也得注意),这个百度或google一下;另一种可能是源没更新,这个运行下sudo apt-get update更新下源。
3)如何卸载
sudo apt-get remove <软件包名>
这个有点问题,就是依赖的库有些不会卸载掉,但它倒是会提示依赖那些库。不知道是不是加某些选项可以连不用的依赖库也卸载掉,没找到答案。
4)安装包在哪里
apt-get下载的安装包都在/var/cache/apt/archives里。
5)安在哪里
这个是最大的问题。apt-get安装的软件,安装位置是由源管理者维护的,而且无法自己选择,如果你的软件又不提示你配置文件应该放在哪里,那你就去吐血吧。。。openssl就是这么吐血个情况。
更为吐血的是,如果你以前用别的方法安装过这个软件,那它会安装在原来安装的位置。如果你忘记安在哪里,继续吐血吧。。。
注:有人说dpkg -L <软件包名>能查找软件安在哪,但是试了下发现,还不如locate来的容易。。。
2、新立得软件管理器安装
新立得软件管理在菜单上的“系统-系统管理“里,英文名叫做synaptic。如果你的系统很吐血的没有,那就sudo apt-get install synaptic安装一下咯。
打开时会要求密码。已安装过的软件前面的复选框会是绿色滴。
查找到软件-标记以便安装-执行,就可以了。其他如卸载之类的类似,都在右键菜单里。
设置-软件库,里面改软件源。这比改鬼知道在哪的配置文件改源方便多了。
注:新立得和apt-get其实是一回事。
注意:apt-get和新立得会冲突,不要同时运行。
E: 无法获得锁 /var/lib/dpkg/lock - open (11: 资源暂时不可用)
E: 无法锁定管理目录(/var/lib/dpkg/),是否有其他进程正占用它?
这种错误一般就是这么个情况。
3、下载deb文件,双击安装
这个类似windows的安装方式,简便快捷。就是需要自己把依赖关系搞清楚,然后依次安装。简单的还好,复杂的——您想别的辙吧。
.deb文件其实是用Ubuntu软件中心来打开的(Ubuntu Software Center,菜单的“应用程序“最下面的一个),然后在Ubuntu软件中心里面管理软件。安装的时候会提示缺少哪些依赖的库。
下面不联网安装wireshark就是用它实现的。
一些常见的软件也可以用它来安装。
注:deb也可由dpkg来安装。具体见这里
4、源码安装
下载源码包-解压-./configure-./make-./make install,也是依赖库的问题
5、下载.bin文件运行安装
下载bin文件,开它有无执行权限,没有sudo chmod +x改一下。然后执行就可以了(别忘了./)。
没用过,不做评价,貌似复杂。
三、不联网安装wireshark
情况在前言里面说了。在官网下了deb包直接复制过去,但是依赖的N个库木有。烦了,心想在本机安装过了,有自动下载虽然不知道放在神马地方的安装包,我再这么费劲的捣鼓不是吃饱了撑的吗。果断另想辙。
上网搜了下,发现apt-get下载的安装包都在/var/cache/apt/archives里。去里面ls一下,果然有。把wireshark的deb包拷过去,在软件中心里安装,提示少那么几个库。把库名在/var/cache/apt/archives里 ls|grep 一下,发现了deb包有这么几个:
libc-ares2_1.7.3-1_i386.deb
libcap2-bin_1%3a2.19-2_i386.deb
libsmi2ldbl_0.4.8+dfsg2-2_i386.deb
wireshark-common_1.2.11-6build0.10.10.1_i386.deb
本机有个apache,就直接复制到apache目录里。结果别的正常,那个libcap2-bin_1%3a2.19-2_i386.deb里面的那个%导致下载失败个球的,果断改名。
然后挨个安装,搞定。
思路总结:apt-get下载路径里找到包-安装提示缺少依赖库-找到依赖库安装,搞定。