虽然不能定做,但依然有许多人会去吃麦当劳,因为麦当劳的汉堡符合大多数人的口味;同样,预编译软件包也可以满足大多数用户的需求,如果没有特殊需求,很少有人会选择编译软件 最早的软件包管理系统不支持网络,类似于在 Windows 下安装软件,你必须获取一个安装包(比如通过网络下载),然后在本地安装它。使用这种方式安装软件的包管理系统主要有:dpkg(debian系)、rpm(redhat系) 由于 Li
Linux 下安装软件,大致有两种方式:二进制和源代码。如何使用源代码安装软件,参阅第 18 章 编译工具链 二进制预编译软件包,可以快速安装部署你所需要的软件,但是你不能决定软件的特性。就像在麦当劳吃饭,只要几分钟,你就可以填饱肚子。但假设你不吃辣椒,或者你喜欢口感老一点的,你不能要求他们为你定做一份没有辣椒的汉堡,或者把鸡翅炸上半个小时;因为配方和工序都是固定的 使用源代码安装软件,虽然比较耗
Linux 中没有 注册表 这个概念。安装软件,理论上讲,只要拷贝所有相关文件,并运行它的主程序就可以了。 按照传统,一个软件通常分别拷贝到同级目录下的 bin、etc、lib、share等文件夹。 bin 可执行文件,程序的可执行文件通常在这个目录下。在环境变量中设定搜索路径,就可以直接执行,而不需要定位其路径。 etc 配置文件,大部分系统程序的配置文件保存于 /etc 目录,便于集中修改。
微软的名声在欧洲和美国的大学里,特别是在计算机系里之坏,大家可能有所耳闻。我认识的 MIT,Stanford 的教授,贝尔实验室的专家,甚至一个欧洲小国的高中计算机老师都绝口不提微软的名字。在他们眼里,微软只是一个没有真技术,专靠在落后国家商业宣传和垄断经营的小公司。这个“小”并不是说它人少,钱少,而是说它先进技术少。 我上次和王益合作写了一个算法演示程序,那个算法是贝尔实验室一位科学家Steve
ADDING AND REMOVING SOFTWARE Linux 或任何操作系统中最基本的任务之一便是添加和删除软件。您经常需要安装发行版中没有附带的软件,或者删除不需要的软件,这样就不会占用硬盘空间。 有些软件安装需要依赖其他软件才能运行,有时您会发现您可以在软件包安装过程中一次性下载所需的所有软件,软件包是一组文件(通常是库和其他依赖项),您需要这些文件才能使软件成功运行。当您安装一个包时
软件包的版本号是个奇怪的东西。它们看起来像十进制的数字,但它们不是。 例如,一个版本号通常的形式为 2.6.4。如果你需要比较两个版本号, 不能做简单的字符串比较,因为 2.6.4 会比 2.6.12 大;也不能进行数字比较, 因为它们不是有效地数字。 Puppet 的 versioncmp 函数会帮我们解决这个问题。 若你给它传递两个版本号,它会比较它们,并返回一个值,指出谁是更大的: ve
源码压缩包(tarball)会严重损害你的健康。你既可以使用 发行版(distro)或第三方软件包, 同时从源码包构建你自己的软件包也是可取的,这有时还会有许多工作要做。 创建 Debian 软件包(或者其他风格的软件包)会是一个漫长而容易出错的过程, 而且你可能没有时间或预算构建它。 如果你必须从源代码构建你的程序,至少 Puppet 可以帮你实现这一过程。 一般地构建过程是自动化的,否则你就得
运行自己的软件仓库有几个优点。你可以在自己的仓库中发布自己的软件包。 你可以在自己的软件仓库中放置上游软件包或第三方软件包,从而控制你使用的软件版本。 你可以将自己的软件仓库放置在其他服务器附近,从而避免网速缓慢或镜像站点无法访问的问题。 即使你不需要创建自己的软件包,也可能想要下载特定版本软件包所需的关键依赖包, 并将这些依赖包存储在自己的仓库中,从而防止因上游发生变故而产生的任何意外 (例如,
大多数情况下,你会从发行版本的官方仓库安装软件包,所以使用简单的 package 资源就可以做到: package { "exim4": ensure => installed } 但是,有时你需要的软件包只能在第三方仓库(例如 Ubuntu PPA)中找到。 或者是第三方仓库提供的软件包版本比官方仓库中的软件包新。 对于手工管理的主机,你通常需要在安装软件包之前先添加仓库源配置到 /etc/a
If builders built buildings the way programmers wrote programs, then the first woodpecker that came along would destroy civilization. — Gerald Weinberg 在本章中,我们将学习如下内容: 为配置文件添加配置行 使用 Augeas 自动修改配置文件 使用
Microsoft's latest announcement, called Microsoft .NET, while touted by the likes of Fortune Magazine as a huge "revolution", is really nothing but vaporware, and I think it proves that something has
Here's a theory you hear a lot these days: "Microsoft is finished. As soon as Linux makes some inroads on the desktop and web applications replace desktop applications, the mighty empire will topple."
Version 5.0 of Microsoft's flagship spreadsheet program Excel came out in 1993. It was positively huge: it required a whole 15 megabytesof hard drive space. In those days we could still remember our f
Software quality, or the lack thereof, is something everybody loves to gripe about. Now that I have my own company I finally decided to do something about it. Over the last two weeks we stopped everyt
一个好的企业管理软件,应该充分的达到交互的功能,要考虑到任何一个小错误都可能给企业带来巨大困难,要将客户的企业当成自己的企业来做管理系统,如何有任何报错的可能,要给出交互,防止程序继续进行,而实际用户不知道已经产生问题。比如 在执行表间更新公式的时候,受到网络原因等,导致程序运行出错,可以给予客户提醒警告,可用如下代码: 如果在代码执行报错后,给出相应操作,可以使用On Error GoTo 过程