Linux、Unix定制(1)
     分类:平台系统设计     有: 0 条评论

Linux、Unix定制(1)

     分类:平台系统设计     有: 0 条评论

未完成!持续更新

Linux系简介

Red Hat系(包括Centos这类的)

https://zh.wikipedia.org/wiki/CentOS

Debain系(包括Ubuntu这类的)

https://www.debian.org/intro/about


Unix系简介

FreeBSD

FreeBSD是从386BSD的基础上发展起来的,而386BSD是由伯克利的计算机科学家Bill Jolitz 开发的针对Intel 80386芯片的一种BSD版本。因为这个原因,FreeBSD在32位体系的x86机器上总是运行得最好。在免费的BSD中,它与PC兼容机配合得最好,而且支持的PC兼容的外部设备的数量也最多。尽管FreeBSD也可以运行在Alpha处理器上,向其他体系结构的移植也在进行当中,但是你更应该把它看作是主要针对x86系统的操作系统。

在免费的BSD中,FreeBSD是名声最大的,它具有最强大的开发队伍,收到的反馈信件也最多,还拥有最多数量的用户。它还可能是所有免费操作系统中最容易安装的——尤其当你想通过Internet而不是购买光盘进行安装的话。

Linux的发行商经常把他们的拷贝弄得很难通过Internet安装。毕竟,他们的业务决定于光盘的销售。而FreeBSD就不是这样了:它的所有要求就是两张软盘(在FreeBSD Web站点上用工具和映射文件很容易创建)和速度适宜的网络连接。从第一张软盘开始启动,然后插入第二张。安装程序会帮助你选择配置选项,从网上下载整个系统并把所有的东西正确地安装好。而那些想要光盘的人也可以从Wind River Systems的FreeBSD Mall 那儿或者从Cheap Bytes那里得到。你也可以在FreeBSD Web站点上用一个ISO映射文件制作光盘。

FreeBSD另外一个强大之处在于它有广泛的应用软件支持——超过5800种免费程序都可以供你立即下载并添加在FreeBSD的系统上。事实上,所有你需要用来建立一个工作站或者一个商业服务器的软件都已经随FreeBSD安装或者可以随后自行添加进系统里。

此外,像OpenBSD和NetBSD一样,FreeBSD事实上能够运行所有针对Linux、SCO Unix或者Intel版本的Solaris 的程序。同Linux一样,FreeBSD使用X Window系统以及所有针对那个协议开发的的桌面和图形用户界面,包括KDE、GNOME和为这两者所写的程序。

最后,FreeBSD对新用户来说具有最多的参考资料。FreeBSD Handbook 为新的顾客提供了极好的使用说明。许多出版公司都推出了针对初级和高级用户所写的指导书。

简而言之,FreeBSD对Linux来说是一个强大的挑战者,它也许能提供出众的稳定性,安装的简易性和方便。


OpenBSD

OpenBSD是另外一个免费BSD的派生物,被称为世界上最安全的操作系统。OpenBSD的主页(www. openbsd.org)报告说OpenBSD“在默认安装情况下四年内没有一个小的安全漏洞”,它的意思是说(其实任何人都知道)在过去的四年内发布的OpenBSD版本没有一个被来自Internet的袭击攻破。(当然,你也可以使得任何操作系统——包括OpenBSD——变得易受攻击,如果你没有正确配置服务器或者运行那些导致入侵者进入的不安全软件。) OpenBSD也完全集成了密码安全软件以保证数据安全。

OpenBSD并不是集成Unix组件功能最多的代表,它也不是运行最快的。但是在这些领域里,它也不是太差的。这个操作系统很小,但效率很高,它能在老的只有16MB内存的486机器上运行得很好——要知道这样一个硬件配置是不能运行Windows 2000的。其它的操作系统都没有任何一个享有OpenBSD在安全问题上创造的高可靠性纪录。一些远程根目录问题一般每个月都会发生在Microsoft的操作系统上,比如说Windows 2000。而最近发行的许多Linux已经成为Ramen蠕虫一类病毒的攻击对象。

像FreeBSD和NetBSD一样,OpenBSD也有很多应用软件支持,它包含了许多免费软件包的定制版本。它的软件库没有FreeBSD中的那么大,但是包含了大多数你想给Unix服务器或者工作站安装的工具。OpenBSD的x86版本也能够运行针对FreeBSD、Linux和Solaris创建的程序。OpenBSD支持10种计算机体系结构——比FreeBSD还多,但是没有NetBSD多。从OpenBSD自身或者Cheap Bytes那儿就可以得到OpenBSD光盘。然而,你却得不到ISO映射文件,因为开发组更愿意通过出售CD的方式作为对他们努力的支持。你可以通过网络来安装操作系统,只不过安装者的用户界面没有FreeBSD那么美观而已。 在这三种免费BSD中,OpenBSD的开发成员最少并且对Unix新手
来说是最难学的。但是如果你确实需要一个牢靠的网络防火墙或者服务器的话,OpenBSD正是合适的选择。

扩展:
深度探索OpenBSD:https://www.ibm.com/developerworks/cn/aix/library/au-openbsd.html
我的OpenBSD Tips收集整理:https://blog.csdn.net/taolinke/article/details/6019737


NetBSD

NetBSD也是免费BSD的一种,它是基于BSD的最轻便的操作系统。目前能够在46种之多的不同硬件构架上运行(他们正在努力使之能够适应更多的构架),从原始的基于68K的Macintosh或者Amiga一直到AMD还没有发表的x86-64 Hammer结构,NetBSD都能够很好地运行。

这种便携性使得NetBSD成为嵌入式系统(在其它设备中运行的,看不见的计算机)的最佳选择。因为编写从一个平台到另一个平台的代码最容易暴露缺陷(否则的话是不会引人注意的),而来自NetBSD的代码却是少有的健壮;OpenBSD(最初是针对NetBSD对象设计的)和FreeBSD在过去都曾借鉴过它。NetBSD也是许多独立类型硬件的操作系统的选择,包括老的Sun工作站。

像FreeBSD和OpenBSD一样,NetBSD有一个巨大的应用软件库(比FreeBSD少而比OpenBSD多),并且能够运行针对Linux和其它版本Unix编译的商业程序。从Wasabi Systems,Cheap Bytes和其它一些NetBSD Web站点列出来的资源那儿我们可以得到NetBSD光盘。你可以下载ISO光盘映射文件,也可以通过FTP进行安装。

参考:http://www.361way.com/unix-bsd/1513.html


Mac OSX

关于苹果的系统,有两个路线,Mac OS和Mac OSX。
https://en.wikipedia.org/wiki/Macintosh_operating_systems
https://zh.wikipedia.org/wiki/MacOS



目录结构(大概情况)

Linux目录结构

Debain(Ubuntu)目录结构

mark

目录介绍
/” 根路径这是Linux系统的“根”目录,也是所有目录结构的最底层。在UNIX以及和它兼容的系统中,”/“是一个单独的目录。
/boot这个目录下包含系统启动文件(boot loader),例如Grub,Lilo或者Kernel,以及initrd,system.map等配置文件。
Initrdramdisk或者”initrd”是指一个临时文件系统,它在启动阶段被Linux内核调用。initrd主要用于当“根”文件系统被挂载之前,进行准备工作。
/sys这个目录下包含内核、固件以及系统相关文件。
/sbin包含系统操作和运作所必需的二进制文件以及管理工具,主要就是可执行文件。类似WINDOWS下的EXE文件。
/bin包含单用户模式下的二进制文件以及工具程序,比如cat,ls,cp这些命令。
/lib包含/sbin和/bin目录下二进制文件运行所需要的库文件。
/dev内含必需的系统文件和驱动器。
/etc内含系统配置文件,其下的目录,比如 /etc/hosts, /etc/resolv.conf, nsswitch.conf, 以及系统缺省设置,网络配置文件等等。以及一些系统和应用程序的配置文件。
/home每一个用户的在这个目录下,都会单独有一个以其用户名命令的目录,在这里保存着用户的个人设置文件,尤其是以 profile结尾的文件。但是也有例外,root用户的数据就不在这个目录中,而是单独在根路径下,保存在单独的/root文件夹下。
/media一个给所有可移动设备比如光驱、USB外接盘、软盘提供的常规挂载点。
/mnt临时文件系统挂载点。比如,你并不想长期挂载某个驱动器,而是只是临时挂载一会U盘烤个MP3之类的,那么应该挂载在这个位置下。
/opt在Linux系统中,这个目录用到的并不多,opt是 可选系统程序包(Optional Software Packages)的简称。这个目录在UNIX系统,如Sun Solaris用途要广泛的多。
/usr用户数据目录,包含了属于用户的实用程序和应用程序。这里有很多重要的,但并非关键的文件系统挂载这个路径下面。在这里,你会重新找到一个 bin、sbin 和 lib目录,其中包含非关键用户和系统二进制文件以及相关的库和共享目录,以及一些库文件。
/usr/sbin包含系统中非必备和并不是特别重要的系统二进制文件以及网络应用工具。
/usr/bin包含用户的非必备和并不是特别重要的二进制文件。
/usr/lib保存着/usr/sbin以及/usr/bin中二进制文件所需要的库文件。
/usr/share“平台无关”的共享数据目录。
/usr/local是/usr下的二级目录,这里主要保存着包含系统二进制文件以及运行库在内的本地系统数据。
/var这个路径下通常保存着包括系统日志、打印机后台文件(spool files)、定时任务(crontab)、邮件、运行进程、进程锁文件等。这个目录尤其需要注意进行日常的检查和维护,因为这个目录下文件的大小可能会增长很快,以致于很快占满硬盘,然后导致系统便会出现各种奇奇怪怪的问题。
/tmp顾名思义,这是一个临时文件夹,专门用来保存临时文件,每次系统重启之后,这个目录下的”临时”文件便会被清空。同样,/var/tmp 也同样保存着临时文件。两者唯一的不同是,后者 /var/tmp目录保存的文件会受到系统保护,系统重启之后这个目录下的文件也不会被清空。
/proc这个目录是驻留在系统内存中的虚拟(psuedo,伪)文件系统,其中保存的都是文本格式的系统内核和进程信息。

参考:
目录说明:http://shumeipai.nxez.com/2018/01/05/directory-introduction-in-raspbian.html


Unix目录结构

FreeBSD目录结构

目录介绍
/文件系统的根目录。
/bin/在单个用户和多用户环境下的基本工具目录。
/boot/在操作系统在启动加载期间所用的程序和配置。
/boot/defaults/默认每步引导启动的配置内容,请查阅loader.conf(5)。
/dev/设备节点,请查阅 intro(4)。
/etc/系统启动的配置和脚本。
/etc/defaults/系统默认的启动配置和脚本,请参考 rc(8) 。
/etc/mail/关系到邮件系统运作的配置, 请参考 sendmail(8)。
/etc/namedb/named 配置文件,请参考 named(8)。
/etc/periodic/每天、每星期和每月周期性地运行的脚本, 请通过 cron(8)查阅 periodic(8)。
/etc/ppp/ppp配置文件,请查阅ppp(8)。
/mnt/由管理员习惯使用挂接点的临时空目录。
/proc/运行中的文件系统,请参阅 procfs(5) 和 mount_procfs(8)。
/rescue/用于紧急恢复的一组静态联编的程序; 参见 rescue(8)。
/root/root用户的Home(主)目录。
/sbin/在单个用户和多用户环境下的存放系统程序和管理所需的基本实用目录。
/tmp/临时文件。 /tmp 目录中的内容, 一般不会在系统重新启动之后保留。 通常会将基于内存的文件系统挂在 /tmp 上。 这一工作可以用一系列 tmpmfs 相关的 rc.conf(5) 变量来自动完成。 (或者, 也可以在 /etc/fstab 增加对应项; 参见 mdmfs(8))。
/usr/存放大多数用户的应用软件。
/usr/bin/存放实用命令,程序设计工具,和应用软件。
/usr/include/存放标准 C include 文件.
/usr/lib/存放库文件。
/usr/libdata/存放各种实用工具的数据文件。
/usr/libexec/存放系统实用或后台程序 (从另外的程序启动执行)。
/usr/local/存放本地执行文件, 库文件等等, 同时也是 FreeBSD ports 安装的默认安装目录。 /usr/local 在 /usr 中的目录布局大体相同, 请查阅 hier(7)。 但 man 目录例外, 它们是直接放在 /usr/local 而不是 /usr/local/share 下的, 而 ports 说明文档在 share/doc/port。
/usr/obj/通过联编 /usr/src 得到的目标文件。
/usr/ports/存放 FreeBSD 的 Ports Collection (可选)。
/usr/sbin/存放系统后台程序 和 系统工具 (由用户执行)。
/usr/share/存放架构独立的文件。
/usr/src/存放 BSD 或者本地源码文件。
/usr/X11R6/存放 X11R6 可执行文件、 库文件、 配置文件等的目录(可选)。
/var/多用途日志、 临时或短期存放的, 以及打印假脱机系统文件。 有时会将基于内存的文件系统挂在 /var 上。 这一工作可以通过在 rc.conf(5) 中设置一系列 varmfs 变量 (或在 /etc/fstab 中加入一行配置; 参见 mdmfs(8)) 来完成。
/var/log/存放各种的系统记录文件。
/var/mail/存放用户mailbox(一种邮件存放格式)文件。
/var/spool/各种打印机和邮件系统spooling(回环)的目录。
/var/tmp/临时文件。 这些文件在系统重新启动时通常会保留, 除非 /var 是一个内存中的文件系统。
/var/yp/NIS 映射。

参考:https://www.freebsd.org/doc/zh_CN/books/handbook/dirstructure.html



系统启动过程

http://conanwhf.github.io/2017/05/30/bootup-1-main/
http://conanwhf.github.io/2017/06/08/bootup-2-spl/



Linux、Unix定制(2):https://www.leolan.top/index.php/posts/261.html

(●゚ω゚●)