linux 安装应用
2015年12月31日 17:10:54
linux distribution 是 Linux 发行版。其实 Linux 是指的系统的内核,不能认为是一个系统。有人在内核的基础上增加一些软件,就成了一个操作系统了。这个系统因为以 Linux 为内核,所有就叫 Linux 发行版。大部分人为了简单,所以把发行版省掉了,实际上没有 Linux 这个操作系统,因为它只是个内核。现在出现 Linux 这一称呼,实际上是 Linux 发行版。这是正规的说法。
学linux,不用必须使用linux的图形界面,这个也是我接触 Debian、SUSE 一两个月之后的想法。为什么在 linux 上必须使用图形界面呢?X-Window 对资源的消耗不比 windows 小,贪图界面为什么不用windows 呢,装 B 吗
Linux 发行版
了解 各发行版的定位,按照发行版的定位去使用 Linux 和安装软件。Linux 下应用软件的几种 常见安装方式,可以通过 rpm、dpkg 等包管理器安装,也可以通过 tar 包、bin 包等源码或者可执行程序安装。
软件包管理器 既可以连接互联网在线安装,也可以使用包管理器线下安装 rpm 软件包、deb 软件包等。使用软件包管理系统将大大简化在 Linux 发行版中安装软件的过程。在线安装时,配置安全可靠的源很重要。
Debian
初次正式了解 Linux 时(Now)我选择了 Debian,不细究当初种种了。在所知无几的情况下,重要的是赶紧行动,进入 Linux 的世界,而不是强迫性地反复思考,无穷地分析,然后去做选择。
最初是在 X240 上安装有 win10 的前提下安装了 Debian8.1 双系统(最初磁盘分区时就留有空间),后来新入职有办公笔记本 E431 之后,就很少使用 X240 进行专业方面的操作了,基本上是一个娱乐的玩意。在 E431 安装双系统是不现实的,所以就在虚拟机中安装了 Debian。备注,工作使用的是 SLES10,太老的版本了。
结论:对于新入门的上班族,建议还是使用虚拟机;如果是学生,估计可以死磕 Linux。整体来讲,建议通过虚拟机对 Linux 安装、常用命令、安装卸载应用熟悉到一定程度之后再行用物理机操作。
截至 2016/3/14 16:01:03 ,Debian 最新的稳定版 (stable release) 版本是 8.3。
安装应用(apt-get)
2019/5/5 14:40:43 更新:新时代的 apt
命令,Linux 中 apt 与 apt-get 命令的区别与解释
刚做好系统之后,怎么安装应用?好慌啊,不知道怎么办。
好折腾了大半天,因为需要配置安全可靠的源。安全!可靠!在大陆上网什么最蛋疼?墙啊,是墙啊。当年开发 Android,搭建环境折腾两三天,发现是墙;如今想用谷歌,用 Kindle 插件,用 Chrome 浏览器,用插件,得找梯子;到了要装 Linux 了,发现在 Debian 官方的源也被禁了。妥妥的局域网啊,防火长城 你就不怕墙里先烧起来啊,话说墙外想进来貌似也得翻,无语。
ps:如果是在国外的(比如 Bandwagon)服务器上,就不需要人工修改配置源,使用默认的(即官方的)即可。
配置源
所谓配置软件源,其实就是修改 /etc/apt/source.list 文件,按照规定格式指定和系统版本相匹配的用来安装、更新应用的远程软件仓库。刚做好系统之后,是有一个默认的官方源的。
即便不懂 source.list 的文件格式,影响也不是很大,你完全可以从网上下载完整的文件替换(替换之前做好备份),或者直接拷贝覆盖原有的文件内容。但链接的帖子还是值得一看的,比如高版本 Debian 使用低版本 source.list,就会遇到很多软件依赖问题无法解决。所以看到这个问题,就需要考虑更换/更新 souce 源了。
在 Debian、Ubuntu 源列表说明 这篇帖子中提到的源我依次试用,都会报安全证书之类的错误,列在这里作为参考。
国内 用着还凑合的源有 网易 的、中科大 的,配置时首先要注意的就是版本,像是中科大 debian 首页给出的示例中,
使用“stable”作为版本标识是很不建议的,因为今年 stable 版是 Jessie,前两年就不是,过两年也不是了呢。建议使用其软件源配置生成器:
备注:
- 网上好多帖子中提到 apt-spy 工具,用来测试源的连接状况。但是我试过的源都没有此应用。
- Jessie 和 stable 在 2016/3/14 17:43:09 现实阶段理论上是一致的,但如果使用 stable,
apt-get update
之后报错,就使用 Jessie。工具而已,使用时哪个能用用哪个,不必细究。有闲散时间时再做讨论。
Q1:apt-get
安装软件时出现:“无法下载…大小不符” 问题
A1:一般来讲是运营商缓存问题。换源,挂代理或等几小时再试。——事实是我从公司内网(网线,也能连接互联网)切换到外网之后,真的就顺利安装了,太坑爹。运营商缓存,无语!
Q2:报错“软件包有未满足的依赖关系”问题
A2:这个也是配置源的问题,换源,清理有问题的源。见前文,多是高版本 Debian 配置了低版本 source.list。
安装
在 软件包管理器 词条中,我们知道 Debian 安装应用前端用到的是 apt 命令,事实上对于纯 24K 金的新兵蛋子,推荐使用新立得包管理器(图形界面)。
用 apt-get
可能不知道安装时要输什么,synaptic 也会自动解决依赖问题。ubuntu 等还有个软件管理中心,也不错。要是源里没有的那就更麻烦了。总之,新手:软件管理中心—>synaptic—>aptitude—>apt-get(yum)—>sources。
另外,在 debian 下,用 apt 方式安装软件除了可以以网络上的资源为源之外,还可以 使用本地的资源。比如光盘。
说一下最关心的,如果在 Debian 上进行 C++ 的开发,都需要安装什么工具呢?
如果是快速搭建的话,
用
apt-get
下载并安装下面的 package:make、gcc、g++、manpages-dev。至此, 一个可以 build c/c++ 工程的环境搭建好了。
当然也可以用apt-get install build-essential
如果要完整构建的话,用如下命令:利用
apt-get build-dep
安装 Gnome 开发环境(包括了 C,Gtk,Gnome 等):
apt-get build-dep gedit
安装 KDE 开发环境(包括了 C++,Qt,KDE):apt-get build-dep kate
使用系统
我们自己搭建 Linux 环境时一般就是在笔记本、台式机上直接物理机安装,或者虚拟机安装,使用时开机,主机前操作。
但在实际的工程应用、业务运行中,主机前操作是很少的,除非是硬件损坏、升级的情况下,才可能接触到主机,否则,多数情况下都是远程操作。
Windows 下有系统自带的远程桌面连接,连接微软自己的服务器时还是蛮方便的,怎么控制权限就不懂了。
Linux 的远程连接及操作,我是来到新公司之后才接触到的,工作中使用的是 Xshell 和 Xftp,挺好用的,也就没有再了解别的工具。
使用 Xshell 时,服务器(远程主机)只要安装有 SSH 服务器即可,终端(我们的笔记本)需要安装 Xshell 客户端。
SUSE
分为两支:SUSE Linux Enterprise 和 openSUSE。两者之间的纠葛请自行 google,我弄不清。
SUSE Linux Enterprise 11 包括下列解决方案:
- SUSE Linux Enterprise Server(企业级服务器系统)— 数据中心关键任务负载使用的最佳平台;
- SUSE Linux Enterprise Desktop(企业级桌面系统)— 业通用桌面系统;
- Novell Customer Center(客户中心)— 此获取技术支持、更新及续订 SUSE Linux Enterprise 产品;
SUSE Linux Enterprise Desktop 桌面系统:比 Win7 还炫!SUSE Linux11 系统全面体验
2015年11月4日,openSUSE 项目发布了其最新的 openSUSE Leap 42.1 系统,openSUSE 的上一个版本是 openSUSE 13.2,现在整这么个版本号,要么就是真牛,要么…感觉挺矫情的。
安装应用
正如笔记第一章中给出的 Linux 发行版列表中提到的,redhat 安装应用的前端命令是 yum;debian 安装应用的前端命令是 apt;在 suse 中与之对应的安装应用的前端命令是 zypper。
各自也都有相应的图形界面用来安装应用:debian 上的新立得;suse 上的 yast。
虽然工作中接触的是 suse,但我并没有 使用 zypper 安装软件 的任何经验,也不曾 使用 YaST 安装软件,网上直接搜索 linux 安装应用的搜索结果中,大多帖子、教程都默认使用 root 权限执行,而公司的服务器是不可能下放 root 的权限给我用的。所以在自己虚拟机环境中试验 debian 安装应用顺利很多,无论是使用新立得直接图形界面安装(也需要更新 source 源),还是在 root 权限下编辑 source 源使用 apt-get
命令,按照网上搜到的教程按部就班,大都得心应手。而在 suse 上,有限的经验只局限与安装 .src.rpm 源包、安装 tar 源包到当前用户 home 目录下(/usr 下的系统目录果断是没有权限的),前者还从来没安装成功过。
而使用源码安装应用是就有很大的通用性的,通过 .src.rpm 源包在 redhat 系的 linux 发行版中都可以使用,通过 tar 源包更是在所有 linux 发行版中可用。
Linux 发行版共性
安装应用(.rpm & .src.rpm)
对于 redhat 系的 linux 发行版目前接触有限,rpm 包有的是可以指定安装路径的,也就意味着可以使用普通权限安装应用。但是对于大多数的 rpm 包(我一连查了 10 个,阿西吧)其 Relocations: (not relocatable)属性表示不能更改安装目录,基本上所有无 root 权限安装应用时都要更改默认安装路径的,所以使用 .rpm 包安装在 90%~100% 上意味着必须拥有 root 权限。
那么 .src.rpm 源包呢,是不是就可以普通权限安装了?理论上是的,rpm 和 .src.rpm 两者之间的区别 从字面就可以理解,需要熟悉的其实还是不同的操作命令,对于 .src.rpm 源包主要用到 rpmbuild 命令,好多参数啊。
事实上,在 SUSE10 上安装 thrift 时,我按照以上帖子安装 .src.rpm 源包时,使用 -bb 或者 -bp 参考执行 rpmbuild 都没成功,递归层次超标。估计是系统版本太老了。
安装应用(源码)
直接看下一节。
无root权限
如果你可以指定安装路径(包括依赖包的安装路径),那么也就表示你可以使用普通权限安装。安装之后,需要更新PATH路径和动态库路径 LD_LIBRARY_PATH。
- Linux中没有root权限安装常用软件和packages
- linux下非root用户安装软件入门,我爱死这篇帖子的排版了,使用 wiz 的 chrome 插件剪下来还是这么简洁美观。其他的网站、博客我忍了又忍,没办法,知识重要啊。
以上两篇帖子,推荐先看后一个了解原理,具体的操作步骤参考前者。