许多人认为10月5日是 Linux 系统的周年纪念日,因为这是 Linux 在1991年首次对外公布的时间。不过,你可能不知道的是,早在1991年8月25日,当年还是大学生的 Linus Torvalds 就向 comp.os.minix 新闻组的人透露了由于“业余爱好”他正在研究操作系统的消息。因此,该时间也被许多爱好者视为 Linux 的真正诞生日期。
为纪念 Linux 27 岁诞辰,OMG Ubuntu 列出了 27 个与 Linux 和 Linus Torvalds 相关的有趣事实。
1、截至 2018 年,Linux 内核已有 20,323,379 行代码。尽管近期有所减少,但庞大的代码量意味着 Linux 仍然是地球上(单个)最大的开源项目。
2、Linux 差点不叫这个名字!Linus Torvalds 原本想把他的“业余爱好”项目称为“FreaX”(“ Free”和“Unix”的组合)。值得庆幸的是,他早期使用的代码托管服务器的所有者说服了他,最终取名为 “Linux”(“Linus”和“Unix”的组合)。
3、首个 Linux 版本 100% 由 Linus Torvalds 编写,但最新的版本仅包含不到 1% 的 Linus 编写的代码。他并不懈怠,现在主要是忙于管理和合并其他开发者编写的代码。
4、Linux 被世界上所有主要的太空计划使用,包括 NASA 和 ESA 。
5、谈及更广阔的宇宙,有以 Linux 和 Linus Torvalds 命名的小行星。
6、Linux 的吉祥物 Tux 之所以是一只企鹅,据 Linus 回忆是因为他曾经被一只愤怒的企鹅咬伤。
Linux系统中的wget是一个下载文件的工具,它用在命令行下。对于Linux用户是必不可少的工具,我们经常要下载一些软件或从远程服务器恢复备份到本地服务器。wget支持HTTP,HTTPS和FTP协议,可以使用HTTP代理。所谓的自动下载是指,wget可以在用户退出系统的之后在后台执行。这意味这你可以登录系统,启动一个wget下载任务,然后退出系统,wget将在后台执行直到任务完成,相对于其它大部分浏览器在下载大量数据时需要用户一直的参与,这省去了极大的麻烦。
wget 可以跟踪HTML页面上的链接依次下载来创建远程服务器的本地版本,完全重建原始站点的目录结构。这又常被称作”递归下载”。在递归下载的时候,wget 遵循Robot Exclusion标准(/robots.txt). wget可以在下载的同时,将链接转换成指向本地文件,以方便离线浏览。
wget 非常稳定,它在带宽很窄的情况下和不稳定网络中有很强的适应性.如果是由于网络的原因下载失败,wget会不断的尝试,直到整个文件下载完毕。如果是服务器打断下载过程,它会再次联到服务器上从停止的地方继续下载。这对从那些限定了链接时间的服务器上下载大文件非常有用。
1.命令格式:
wget [参数] [URL地址]
2.命令功能:
用于从网络上下载资源,没有指定目录,下载资源回默认为当前目录。wget虽然功能强大,但是使用起来还是比较简单:
3.命令参数:
下载地址
OpenVPN在服务器端的安装,密钥文件的配置和生成,密钥文件分发,Linux以及Android下OpenVPN客户端设置与运行。另外如果习惯英文教程的朋友请移步这里,感谢原作者Justin Ellingwood!这篇博文基本上就是一翻译。
以非root的身份链接到服务器,并且更新一下软件源,并且安装openvpn和easy-rsa。openvpn不用多说,easy-rsa是实现文件加密
sudo apt-get update sudo apt-get install openvpn easy-rsa
OpenVPN是需要证书颁发机构CA,而这个CA就需要借助刚刚安装的easy-rsa咯。首先输入如下命令:
cd ~
将服务器的操作目录转移到这个身份的根目录~/。之后输入如下命令,
make-cadir ~/openvpn-ca cd ~/openvpn-ca
建立一个文件夹专门放easy-rsa的模板。我们之后就会在这个模板里面进行客制化CA操作。
客制化需要改编的文件:~/openvpn-ca/vars,因为我们当前的工作目录就是~/openvpn-ca,所以只需要输入如下命令打开文件:
nano vars
通过ctrl + w
这个命令我们可以用关键词搜索文件中的位置。第一个需要搜索的是“export KEY_COUNTRY=”US””,找到这一串默认的
众所周知,VxWorks 是美国Wind River System 公司( 简称风河公司,即 WRS 公司)推出的一个实时操作系统。Tornado 是WRS 公司推出的一套实时操作系统开发环境,类似Microsoft Visual C,但是提供了更丰富的调试、仿真环境和工具。
Linux是一类Unix计算机操作系统的统称。Linux操作系统的内核的名字也是“Linux”。Linux操作系统也是自由软件和开放源代码发展中最著名的例子。严格来讲,Linux这个词本身只表示Linux内核,但在实际上人们已经习惯了用Linux来形容整个基于Linux内核,并且使用GNU 工程各种工具和数据库的操作系统。Linux得名于Linus Torvalds。
Linux | VxWorks |
---|---|
宏内核 | 微内核 |
微内核(英文中常译作micro kernel)
是一种只提供必要服务的操作系统内核;这些必要的服务包括任务管理、中断处理、内存管理等。其他服务,如文件管理、网络支持等通过接口连到微内核。
在微内核中,用以完成系统调用功能的程序模块通常只进行简短的处理,而把其余工作通过消息传递交给内核之外的进程来处理。在典型情况下,每个系统调用程序模块都有一个与之对应的进程,微内核部分经常只不过是一个消息转发站,这种方式有助于实现模块间的隔离。这种内核设计的最根本思想就是要保持操作系统的内核尽可能小,因为内核是直接与计算机硬件相关的,内核越小,就越便于在不同的硬件系统间进行移植。
微内核结构的另外一个优点是,可以使不需要的模块不加载到内存中,因此,微内核就可以更有效地利用内存。
微内核具有很好的扩展性,并可简化应用程序开发。用户只运行他们需要的服务,这有利于减少磁盘空间和存储器需求。
宏内核(英语:Monolithic kernel)
又称单核心,是操作系统核心架构的一种,除了基本的服务,内核还包括文件系统、网络协议等。此架构的特性是整个核心程序都是以核心空间(Kernel Space)的身份及监管者模式(Supervisor Mode)来运行。
宏内核的内部可被分为若干模块(或者是层次或其他),但在运行时,它是一个独立的二进制大映像。模块间的通信不是通过消息传递,而是通过直接调用其他模块中的函数来实现的。
现在多数采行宏内核架构设计的操作系统,如OpenVMS、Linux、FreeBSD、以及Solaris等,在运作运行阶段中,以动态方式来加载(Load)、卸载(Unload)可运行的模块,不过这些模块是属于二进制代码的层次,或称镜像层次,而非核心架构的层次。即使宏内核进行模块化转化,也不会与微核心或混核心架构的核心产生区分上的混淆,因为微核心、混核心的模块是属于系统架构的层次。
就实务上,动态加载/卸载模块的作法,等于是用一种较简易的方式来弹性管控运行中的操作系统核心,若没有动态加载/卸载机制,操作系统的核心想要进行任何的调整、变换,都必须重启才能达成。因此模块化是必然且必要的,如此才能让核心功效轻松地扩展、延伸,此外也能适时减轻硬件的运行运作负担。
© 2025 VxWorks Club