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 发行版中安装软件的过程。在线安装时,配置安全可靠的源很重要。

来源:Linux发行版.mmap

附件下载:Linux发行版.mmap

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 首页给出的示例中,

ustc-stable

使用“stable”作为版本标识是很不建议的,因为今年 stable 版是 Jessie,前两年就不是,过两年也不是了呢。建议使用其软件源配置生成器:

ustc-jessie

备注:

  1. 网上好多帖子中提到 apt-spy 工具,用来测试源的连接状况。但是我试过的源都没有此应用。
  2. 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。

以上两篇帖子,推荐先看后一个了解原理,具体的操作步骤参考前者。