全国企业信用信息系统为什么用64的Linux系统

&nbsp>&nbsp
&nbsp>&nbsp
&nbsp>&nbsp
Linux移植到64位系统
摘要:将Linux应用程序移植到64位系统上平滑迁移的技巧和技术&Linux是可以使用64位处理器的跨平台操作系统之一,现在64位的系统在服务器和桌面端都已经非常常见了。很多开发人员现在都面临着需要将自己的应用程序从32位环境移植到64位环境中。随着Intel&Itanium&和其他64位处理器的引入,使软件针对64位环境做好准备变得日益重要了。与UNIX&和其他类UNIX操作系统一样,Linux使用了LP64标准,其中指针和长整数都是64位的,而
将 Linux 应用程序移植到 64 位系统上平滑迁移的技巧和技术&Linux 是可以使用 64 位处理器的跨平台操作系统之一,现在 64 位的系统在服务器和桌面端都已经非常常见了。很多开发人员现在都面临着需要将自己的应用程序从 32 位环境移植到 64 位环境中。随着 Intel& Itanium& 和其他 64 位处理器的引入,使软件针对 64 位环境做好准备变得日益重要了。与 UNIX& 和其他类 UNIX 操作系统一样,Linux 使用了 LP64 标准,其中指针和长整数都是 64 位的,而普通的整数则依然是 32 位的。尽管有些高级语言并不会受到这种类型大小不同的影响,但是另外一些语言(例如 C 语言)却的确会受到这种影响。将应用程序从 32 位系统移植到 64 位系统上的工作可能会非常简单,也可能会非常困难,这取决于这些应用程序是如何编写和维护的。很多琐碎的问题都可能导致产生问题,即使在一个编写得非常好的高度可移植的应用程序中也是如此,因此本文将对这些问题进行归纳总结,并给出解决这些问题的一些方法建议。64 位的优点32 位平台有很多限制,这些限制正在阻碍大型应用程序(例如数据库)开发人员的工作进展,尤其对那些希望充分利用计算机硬件优点的开发人员来说更是如此。科学计算通常要依赖于浮点计算,而有些应用程序(例如金融计算)则需要一个比较狭窄的数字范围,但是却要求更高的精度,其精度高于浮点数所提供的精度。64 位数学运算提供了这种更高精度的定点数学计算,同时还提供了足够的数字范围。现在在计算机业界中有很多关于 32 位地址空间所表示的地址空间的讨论。32 位指针只能寻址 4GB 的虚拟地址空间。我们可以克服这种限制,但是应用程序开发就变得非常复杂了,其性能也会显著降低。在语言实现方面,目前的 C 语言标准要求 “long long” 数据类型至少是 64 位的。然而,其实现可能会将其定义为更大。另外一个需要改进的地方是日期。在 Linux 中,日期是使用 32 位整数来表示的,该值所表示的是从 1970 年 1 月 1 日至今所经过的秒数。这在 2038 年就会失效。但是在 64 位的系统中,日期是使用有符号的 64 位整数表示的,这可以极大地扩充其可用范围。总之,64 位具有以下优点:64 位的应用程序可以直接访问 4EB 的虚拟内存,Intel Itanium 处理器提供了连续的线性地址空间。64 位的 Linux 允许文件大小最大达到 4 EB(2 的 63 次幂),其重要的优点之一就是可以处理对大型数据库的访问。&回页首Linux 64 位体系结构不幸的是,C 编程语言并没有提供一种机制来添加新的基本数据类型。因此,提供 64 位的寻址和整数运算能力必须要修改现有数据类型的绑定或映射,或者向 C 语言中添加新的数据类型。
表 1. 32 位和 64 位数据模型&&ILP32&LP64&LLP64&ILP64char&8&8&8&8short&16&16&16&16int&32&32&32&64long&32&64&32&64long long&64&64&64&64指针&32&64&64&64这 3 个 64 位模型(LP64、LLP64 和 ILP64)之间的区别在于非浮点数据类型。当一个或多个 C 数据类型的宽度从一种模型变换成另外一种模型时,应用程序可能会受到很多方面的影响。这些影响主要可以分为两类:数据对象的大小。编译器按照自然边界对数据类型进行对齐;换而言之,32 位的数据类型在 64 位系统上要按照 32 位边界进行对齐,而 64 位的数据类型在 64 位系统上则要按照 64 位边界进行对齐。这意味着诸如结构或联合之类的数据对象的大小在 32 位和 64 位系统上是不同的。
&基本数据类型的大小。通常关于基本数据类型之间关系的假设在 64 位数据模型上都已经无效了。依赖于这些关系的应用程序在 64 位平台上编译也会失败。例如,sizeof (int) = sizeof (long) = sizeof (pointer) 的假设对于 ILP32 数据模型有效,但是对于其他数据模型就无效了。总之,编译器要按照自然边界对数据类型进行对齐,这意味着编译器会进行 “填充”,从而强制进行这种方式的对齐,就像是在 C 结构和联合中所做的一样。结构或联合的成员是根据最宽的成员进行对齐的。清单 1 对这个结构进行了解释。
清单 1. C 结构 struct test {&int i1;&&int i2;&}
表 2 给出了这个结构中每个成员的大小,以及这个结构在 32 位系统和 64 位系统上的大小。
表 2. 结构和结构成员的大小结构成员&在 32 位系统上的大小&在 64 位系统上的大小struct test {& & int i1;&32 位&32 位&& &32 位填充&64 位&64 位int i2;&32 位&32 位&& &32 位填充&32 位&64 位};&结构大小为 20 字节&结构大小为 32 字节注意,在一个 32 位的系统上,编译器可能并没有对变量 d 进行对齐,尽管它是一个 64 位的对象,这是因为硬件会将其当作两个 32 位的对象进行处理。然而,64 位的系统会对 d 和 l 都进行对齐,这样会添加两个 4 字节的填充。&回页首从 32 位系统移植到 64 位系统本节介绍如何解决一些常见的问题:声明表达式赋值数字常数Endianism类型定义位移字符串格式化函数参数声明要想让您的代码在 32 位和 64 位系统上都可以工作,请注意以下有关声明的用法:根据需要适当地使用 “L” 或 “U” 来声明整型常量。确保使用无符号整数来防止符号扩展的问题。如果有些变量在这两个平台上都需要是 32 位的,请将其类型定义为 int。如果有些变量在 32 位系统上是 32 位的,在 64 位系统上是 64 位的,请将其类型定义为 long。为了对齐和性能的需要,请将数字变量声明为 int 或 long 类型。不要试图使用 char 或 short 类型来保存字节。将字符指针和字符字节声明为无符号类型的,这样可以防止 8 位字符的符号扩展问题。表达式在 C/C++ 中,表达式是基于结合律、操作符的优先级和一组数学计算规则的。要想让表达式在 32 位和 64 位系统上都可以正确工作,请注意以下规则:两个有符号整数相加的结果是一个有符号整数。int 和 long 类型的两个数相加,结果是一个 long 类型的数。如果一个操作数是无符号整数,另外一个操作数是有符号整数,那么表达式的结果就是无符号整数。int 和 doubule 类型的两个数相加,结果是一个 double 类型的数。此处 int 类型的数在执行加法运算之前转换成 double 类型。赋值由于指针、int 和 long 在 64 位系统上大小不再相同了,因此根据这些变量是如何赋值和在应用程序中使用的,可能会出现问题。下面是有关赋值的一些技巧:不要交换使用 int 和 long 类型,因为这可能会导致高位数字被截断。例如,不要做下面的事情:i =
&不要使用 int 类型来存储指针。下面这个例子在 32 位系统上可以很好地工作,但是在 64 位系统上会失败,这是因为 32 位整数无法存放 64 位的指针。例如,不要做下面的事情:unsigned int i, *i = (unsigned)
&不要使用指针来存放 int 类型的值。例如,不要做下面的事情;int *ptr = (int *)
&如果在表达式中混合使用无符号和有符号的 32 位整数,并将其赋值给一个有符号的 long 类型,那么将其中一个操作数转换成 64 位的类型。这会导致其他操作数也被转换成 64 位的类型,这样在对表达式进行赋值时就不需要再进行转换了。另外一种解决方案是对整个表达式进行转换,这样就可以在赋值时进行符号扩展。例如,考虑下面这种用法可能会出现的问题:int i = -2;unsigned k = 1;n = i +
从数学计算上来说,上面这个黑体显示的表达式的结果应该是 -1 。但是由于表达式是无符号的,因此不会进行符号扩展。解决方案是将一个操作数转换成 64 位类型(下面的第一行就是这样),或者对整个表达式进行转换(下面第二行):&n = (long) i +n = (int) (i + k);
&数字常量16 进制的常量通常都用作掩码或特殊位的值。如果一个没有后缀的 16 进制的常量是 32 位的,并且其高位被置位了,那么它就可以作为无符号整型进行定义。例如,常数 OxFFFFFFFFL 是一个有符号的 long 类型。在 32 位系统上,这会将所有位都置位(每位全为 1),但是在 64 位系统上,只有低 32 位被置位了,结果是这个值是 0xFFFFFFFF。如果我们希望所有位全部置位,那么一种可移植的方法是定义一个有符号的常数,其值为 -1。这会将所有位全部置位,因为它采用了二进制补码算法。long x = -1L;
可能产生的另外一个问题是最高位的设置。在 32 位系统上,我们使用的是常量 0x。但是可移植性更好的方法是使用一个位移表达式:1L && ((sizeof(long) * 8) - 1);
EndianismEndianism 是指用来存储数据的方法,它定义了整数和浮点数据类型中是如何对字节进行寻址的。Little-endian 是将低位字节存储在内存的低地址中,将高位字节存储在内存的高地址中。Big-endian 是将高位字节存储在内存的低地址中,将低位字节存储在内存的高地址中。表 3 给出了一个 64 位长整数的布局示例。
表 3. 64 位 long int 类型的布局&&低地址& & & & & & &高地址Little endian&Byte 0&Byte 1&Byte 2&Byte 3&Byte 4&Byte 5&Byte 6&Byte 7Big endian&Byte 7&Byte 6&Byte 5&Byte 4&Byte 3&Byte 2&Byte 1&Byte 0例如,32 位的字 0x 在 big endian 机器上的布局如下:
表 4. 0x 在 big-endian 系统上的布局内存偏移量&0&1&2&3内存内容&0x12&0x34&0x56&0x78如果将 0x 当作两个半字来看待,分别是 0x1234 和 0x5678,那么就会看到在 big endian 机器上是下面的情况:
表 5. 0x 在 big-endian 系统上当作两个半字来看待的情况内存偏移量&0&2内存内容&0x8然而,在 little endian 机器上,字 0x 的布局如下所示:
表 6. 0x 在 little-endian 系统上的布局内存偏移量&0&1&2&3内存内容&0x78&0x56&0x34&0x12类似地,两个半字 0x1234 和 0x5678 如下所示:
表 7. 0x 在 little-endian 系统上作为两个半字看到的情况内存偏移量&0&2内存内容&0x6下面这个例子解释了 big endian 和 little endian 机器上字节顺序之间的区别。下面的 C 程序在一台 big endian 机器上进行编译和运行时会打印 “Big endian”,在一台 little endian 机器上进行编译和运行时会打印 “Little endian”。
清单 2. big endian 与 little endian#include &stdio.h&main () {int i = 0x;if (*(char *)&;i == 0x12)printf (&Big endian&);else if (*(char *)&;i == 0x78)&&& &&printf (&Little endian&);}
Endianism 在以下情况中非常重要:使用位掩码时对象的间接指针地址部分在 C 和 C++ 中有位域来帮助处理 endian 的问题。我建议使用位域,而不要使用掩码域或 16 进制的常量。有几个函数可以用来将 16 位和 32 位数据从 “主机字节顺序” 转换成 “网络字节顺序”。例如,htonl (3)、ntohl (3) 用来转换 32 位整数。类似地,htons (3)、ntohs (3) 用来转换 16 位整数。然而,对于 64 位整数来说,并没有标准的函数集。但是在 big endian 和 little endian 系统上,Linux 都提供了下面的几个宏:bswap_16bswap_32bswap_64类型定义建议您不要使用 C/C++ 中那些在 64 位系统上会改变大小的数据类型来编写应用程序,而是使用一些类型定义或宏来显式地说明变量中所包含的数据的大小和类型。有些定义可以使代码的可移植性更好。ptrdiff_t: 这是一个有符号整型,是两个指针相减后的结果。
&size_t: 这是一个无符号整型,是执行 sizeof 操作的结果。这在向一些函数(例如 malloc (3))传递参数时使用,也可以从一些函数(比如 fred (2))中返回。
&int32_t、uint32_t 等: 定义具有预定义宽度的整型。
&intptr_t 和 uintptr_t: 定义整型类型,任何有效指针都可以转换成这个类型。例 1:在下面这条语句中,在对 bufferSize 进行赋值时,从 sizeof 返回的 64 位值被截断成了 32 位。int bufferSize = (int) sizeof (something);解决方案是使用 size_t 对返回值进行类型转换,并将其赋给声明为 size_t 类型的 bufferSize,如下所示:size_t bufferSize = (size_t) sizeof (something);例 2:在 32 位系统上,int 和 long 大小相同。由于这一点,有些开发人员会交换使用这两种类型。这可能会导致指针被赋值给 int 类型,或者反之。但是在 64 位的系统上,将指针赋值给 int 类型会导致截断高 32 位的值。解决方案是将指针作为指针类型或为此而定义的特殊类型进行存储,例如 intptr_t 和 uintptr_t。位移无类型的整数常量就是 (unsigned) int 类型的。这可能会导致在位移时出现被截断的问题。例如,在下面的代码中,a 的最大值可以是 31。这是因为 1 && a 是 int 类型的。long t = 1 &&要在 64 位系统上进行位移,应该使用 1L,如下所示:long t = 1L &&字符串格式化函数 printf (3) 及其相关函数都可能成为问题的根源。例如,在 32 位系统上,使用 %d 来打印 int 或 long 类型的值都可以,但是在 64 位平台上,这会导致将 long 类型的值截断成低 32 位的值。对于 long 类型的变量来说,正确的用法是 %ld。类似地,当一个小整数(char、short、int)被传递给 printf (3) 时,它会扩展成 64 位的,符号会适当地进行扩展。在下面的例子中,printf (3) 假设指针是 32 位的。char *ptr = &;printf (%x&, ptr);上面的代码在 64 位系统上会失败,它只会显示低 4 字节的内容。这个问题的解决方案是使用 %p,如下所示;这在 32 位和 64 位系统上都可以很好地工作:char *ptr = &;printf (%p&, ptr);函数参数在向函数传递参数时需要记住几件事情:在参数的数据类型是由函数原型定义的情况中,参数应该根据标准规则转换成这种类型。在参数类型没有指定的情况中,参数会被转换成更大的类型。在 64 位系统上,整型被转换成 64 位的整型值,单精度的浮点类型被转换成双精度的浮点类型。如果返回值没有指定,那么函数的缺省返回值是 int 类型的。在将有符号整型和无符号整型的和作为 long 类型传递时就会出现问题。考虑下面的情况:
清单 3. 将有符号整型和无符号整型的和作为 long 类型传递long function (long l);int main () {&int i = -2;&unsigned k = 1U;&long n = function (i + k);}
上面这段代码在 64 位系统上会失败,因为表达式 (i + k) 是一个无符号的 32 位表达式,在将其转换成 long 类型时,符号并没有得到扩展。解决方案是将一个操作数强制转换成 64 位的类型。在基于寄存器的系统上还有一个问题:系统采用寄存器而不是堆栈来向函数传递参数。考虑下面的例子:float f = 1.25;printf (&The hex value of %f is %x&, f, f);在基于堆栈的系统中,这会打印对应的 16 进制值。但是在基于寄存器的系统中,这个 16 进制的值会从一个整数寄存器中读取,而不是从浮点寄存器中读取。解决方案是将浮点变量的地址强制转换成一个指向整型类型的指针,如下所示:printf (&The hex value of %f is %x&, f, *(int *)&;f);&回页首结束语主流的硬件供应商最近都在扩充自己的 64 位产品,这是因为 64 位平台可以提供更好的性能、价值和可伸缩性。32 位系统的限制,特别是 4GB 的虚拟内存上限,已经极大地刺激很多公司开始考虑迁移到 64 位平台上。了解如何将应用程序移植到 64 位体系结构上可以帮助我们编写可移植性更好且效率更高的代码。
参考资料学习您可以参阅本文在 developerWorks 全球站点上的 英文原文。
&64-Bit Programming Models: Why LP64? 介绍了有关各种 64 位编程模型的更多细节知识和有关 LP64 的争论。
&请在 Wikipedia 上了解 32 位系统所具有的 2038 年问题。
&请阅读 “将企业应用程序从 UNIX 移植到 Linux”(developerWorks,2005 年 2 月),了解有关将大型多线程应用程序移植到 Linux 上的技巧和内幕。
&“Porting Intel applications to 64 bit Linux PowerPC” 讨论了在将 Linux 从 IA32 移植到 PowerPC 上时所要考虑的一些问题。
&Linux Online(linux.org) Linux distributions site 提供了有关发行版的丰富信息,包括 64 位系统上的发行版。
&developerWorks Linux on Power Architecture developers corner 是为在基于 POWER 硬件的 Linux 上运行的应用程序的程序员和开发人员准备的参考资料。
&penguinppc.org 是专为 PowerPC 系统上的 Linux 用户准备的一个社区站点。
&在 developerWorks Linux 专区 中可以找到为 Linux 开发人员准备的更多参考资料。
&随时关注 developerWorks 技术事件和网络广播。
以上是的内容,更多
的内容,请您使用右上方搜索功能获取相关信息。
若你要投稿、删除文章请联系邮箱:zixun-group@service.aliyun.com,工作人员会在五个工作日内给你回复。
云服务器 ECS
可弹性伸缩、安全稳定、简单易用
&40.8元/月起
预测未发生的攻击
&24元/月起
为您提供0门槛上云实践机会
你可能还喜欢
你可能感兴趣
阿里云教程中心为您免费提供
Linux移植到64位系统相关信息,包括
的信息,所有Linux移植到64位系统相关内容均不代表阿里云的意见!投稿删除文章请联系邮箱:zixun-group@service.aliyun.com,工作人员会在五个工作日内答复
售前咨询热线
支持与服务
资源和社区
关注阿里云
International比特客户端
您的位置:
详解大数据
详解大数据
详解大数据
详解大数据
十款最常见的Linux发行版及目标用户
关键字:Linux技巧
  你可曾知道的魅力或威力来自哪里?那就是,由于众多发行版百花齐放,Linux的阵营日益壮大,每一款发行版都拥有一大批用户,开发者自愿为相关项目投入。Linux发行版可谓是形形色色,它们旨在满足每一种能想得到的需求。本文就是为了简述某一款发行版为何存在、该发行版的目标用户是哪些,以及它与其他发行版相比有什么样的特殊功能。
  1. Debian
  Debian运行起来极其稳定,这使得它非常适合用于。Debian平时维护三套正式的软件库和一套非免费软件库,这给另外几款发行版(比如和Kali等)带来了灵感。Debian这款派生出了多个Linux发行版。它有37500多个软件包,这方面唯一胜过Debian的其他发行版只有Gentoo。Debian使用apt或aptitude来安装和更新软件。
  Debian这款操作系统无疑并不适合新手用户,而是适合系统管理员和高级用户。Debian支持如今的大多数架构()。
  下载Debian映像文件:http://www.debian.org/distrib/
  附有屏幕截图的Debian安装:《Debian 7.0"Wheezy"安装指南》
  Debian Linux
  2. Gentoo
  与Debian一样,Gentoo这款操作系统也包含数量众多的软件包。Gentoo并非以预编译的形式出现,而是每次需要针对每个系统进行编译。连Gentoo社区都觉得Gentoo安装和使用起来很困难;不过它被认为是最佳学习对象,可以进而了解Linux操作系统的内部运作原理。提到Gentoo总有人这么说:"如果你要学用Linux发行版,那就学用该发行版吧;如果你学会了Gentoo,也就学会了Linux。"Gentoo使用portage来安装和更新软件。
  Gentoo这款操作系统适合对Linux已经完全驾轻就熟的那些用户。
  下载和安装Gentoo:http://www.gentoo.org/main/en/where.xml
  Gentoo Linux
  3. Ubuntu
  Ubuntu是Debian的一款衍生版,也是当今最受欢迎的免费操作系统。Ubuntu侧重于它在这个市场的应用,在服务器、、甚至一些运行Ubuntu Linux的移动设备上很常见。作为Debian Gnu Linux的一款衍生版,Ubuntu的进程、外观和感觉大多数仍然与Debian一样。它使用apt软件管理工具来安装和更新软件。它也是如今市面上用起来最容易的发行版之一。Ubuntu使用基于apt的程序包管理器。
  Ubuntu是新手用户肯定爱不释手的一款操作系统。
  下载Ubuntu ISO映像文件:http://www.ubuntu.com/download
  附有屏幕截图的Ubuntu安装:《Ubuntu 13.04"Raring Ringtail"安装指南》
  Ubuntu Linux
  4. Damn Vulnerable Linux
  当然,大多数人可能对这款发行版前所未闻,不过该发行版在本文中还是占有一席之地。那么,它过人之处呢? Damn Vulnerable Linux恰如其名:其字面意思就是"该死的易受攻击的Linux"。Vulnerable Linux(DVL)根本不是一般意义上的优秀的Linux发行版。它有意捆绑了坏的、配置不当的、过时的、很容易被不法分子攻击的软件。
  它的目的在于借机训练Linux管理员。还有什么比给Linux管理员一款坏的发行版去排解问题来得更管用的吗?面对Apache、、PHP、和等比较旧或破的版本,接受训练的管理员够有得忙了。
  Damn Vulnerable Linux堪称旨在训练管理员的实验室。
  下载Damn Vulnerable Linux(DVL)ISO映像文件:DVL_1.5_Infectious_Disease.iso
  Damn Vulnerable Linux
  5. 红帽级Linux
  这是第一款面向商业市场的Linux发行版。它有服务器版本,支持众多处理器架构,包括和x86_64。红帽公司通过课程红帽认证系统管理员/红帽认证工程师(RHCSA/RHCE),对系统管理员进行培训和认证。就全球市场而言,总利润中80%来自支持,另外20%来自培训和认证,不过在印度不是这样。
  在印度,红帽的利润中80%来自认证和培训,只有20%来自支持。而是个平台,而不是开发新产品或新应用程序的测试环境;一旦成为稳定版,就与红帽企业级Linux捆绑在一起,包括支持。红帽提供了非常多的稳定版应用程序,但是众所周知的缺点是,把太多旧程序包打包起来,支持成本确实相当高。不过,如果安全是关注的首要问题,那么红帽企业级Linux的确是款完发行版,它使用YUM程序包管理器。
  红帽企业级Linux是系统管理员的第一选择,它有众多的程序包,还有非常到位的支持。
  由于该发行版是商业化产品,所以不是免费的。不过,你可以下载用于教学用途的测试版。
  下载红帽企业级Linux测试版DVD ISO映像文件:RedHat Enterprise Linux(测试版)
  附有屏幕截图的RHEL 6安装:《RHEL 6安装指南》
  补充说明:通常认为,开发了该发行版的 Ewin将该产品命名为红帽,因为他丢失了似乎很心爱的那顶红色帽子,帽子是他爷爷在他过生日时送的礼物。
  红帽企业级Linux
  6. CentOS
  CentOS是一款企业级Linux发行版,它使用红帽企业级Linux中的免费源代码重新构建而成。这款重构版完全去掉了注册商标以及Binary程序包方面一个非常细微的变化。有些人不想支付一大笔钱,又能领略红帽企业级L对他们来说,CentOS值得一试。此外,CentOS的外观和行为似乎与母发行版红帽企业级Linux如出一辙。 CentOS使用YUM来管理软件包。
  非常稳定的程序包;谁要是想在桌面端测试一下服务器的运作原理,都应该试试这款操作系统。
  下载CentOS 6.4 DVD ISO映像文件:http://wiki.centos.org/Download
  附有屏幕截图的CentOS 6.4安装:《CentOS 6.4安装指南》
  CentOS Linux
  7. Fedora
  小巧的Fedora适合那些人:想尝试最先进的技术,等不及程序的稳定版出来。其实,Fedora就是红帽公司的一个测试平台;产品在成为企业级发行版之前,在该平台上进行开发和测试。Fedora是一款非常好的发行版,有庞大的用户论坛,软件库中还有为数不少的软件包。Fedora同样使用YUM来管理软件包。
  下载Fedora 18(Spherical Cow)DVD ISO映像文件:http://fedoraproject.org/en/get-fedora
  附有屏幕截图的Fedora 18(Spherical Cow)安装:《Fedora 18(Spherical Cow)安装指南》
  Fedora Linux
  8. Kali Linux
  Kali Linux是Debian的一款衍生版。Kali旨在用于渗透测试。它大概在三个月前才发行。Kali的前身是Backtrack。用于Debian的所有Binary软件包安装到Kali Linux上,而Kali的魅力或威力就来自于此。此外,支持Debian的用户论坛为Kali加分不少。Kali随带许多的渗透测试工具,无论是、还是其他任何工具,都设计成立马可以使用。Kali使用APT来管理软件包。
  毫无疑问,Kali Linux是一款渗透测试工具,或者是文明(我不想谈论恶意黑客)青睐的操作系统。
  下载Kali Linux DVD ISO映像文件:Kali Linux 6
  Kali Linux
  9. Arch Linux
  Arch是一款采用滚动发行方式的操作系统:只要安装一次就够了;每当发行了某个新版本,就可以升级发行版,不需要重新安装。Pacman是Arch Linux的软件包管理器。Arch Linux既支持X86处理器架构,又支持X86_64架构,安装程序可以从光盘或U盘来运行。Arch旨在从开发者的角度而不是从用户的角度做到力求简单。Arch配置和安装起来超容易。它真是一款面向高手的发行版,让你可以了解Linux系统的每一个细枝末节。
  下载Arch Linux ISO映像文件:https://www.archlinux.org/download/
  Arch Linux
  10. OpenSuse
  OpenSuse这款Linux发行版是免费的,并不供商业用途使用,仍然供个人使用。OpenSuse的真正竞争对手是红帽企业级Linux。它使用Yast来管理软件包。有了Yast,使用和管理服务器应用程序就非常容易。此外,Yast安装向导程序可以配置电子邮件服务器、LDAP服务器、文件服务器或,没有任何不必要的麻烦。它随带snapper管理工具,因而可以恢复或使用旧版的文件、更新和配置。由于让滚动发行版本成为可能的Tumbleweed,可将已安装的操作系统更新到最新版本,不需要任何的新发行版。
  SUSE在管理员当中的名气更大,因为它有Yast以及让系统管理员能够自动管理任务的其他此类应用程序,同样水准的其他发行版没有这项功能。
  下载OpenSuse 12.3 DVD ISO映像文件:http://software.opensuse.org/123/en
  附有屏幕截图的OpenSuse 12.3安装:《OpenSuse 12.3安装指南》
  OpenSuse Linux
  本文不是什么大盘点。市面上有好几百款发行版,每款发行版在某个方面都与众不同。不可能在此全部罗列,本文只罗列了十款最常见的Linux发行版(世界上只有两种人,一种是懂二进制的,另一种是不懂二进制的)。请宣传Linux的魅力或威力。
[ 责任编辑:jj ]
去年,手机江湖里的竞争格局还是…
甲骨文的云战略已经完成第一阶段…
软件信息化周刊
比特软件信息化周刊提供以数据库、操作系统和管理软件为重点的全面软件信息化产业热点、应用方案推荐、实用技巧分享等。以最新的软件资讯,最新的软件技巧,最新的软件与服务业内动态来为IT用户找到软捷径。
商务办公周刊
比特商务周刊是一个及行业资讯、深度分析、企业导购等为一体的综合性周刊。其中,与中国计量科学研究院合力打造的比特实验室可以为商业用户提供最权威的采购指南。是企业用户不可缺少的智选周刊!
比特网络周刊向企业网管员以及网络技术和产品使用者提供关于网络产业动态、技术热点、组网、建网、网络管理、网络运维等最新技术和实用技巧,帮助网管答疑解惑,成为网管好帮手。
服务器周刊
比特服务器周刊作为比特网的重点频道之一,主要关注x86服务器,RISC架构服务器以及高性能计算机行业的产品及发展动态。通过最独到的编辑观点和业界动态分析,让您第一时间了解服务器行业的趋势。
比特存储周刊长期以来,为读者提供企业存储领域高质量的原创内容,及时、全面的资讯、技术、方案以及案例文章,力求成为业界领先的存储媒体。比特存储周刊始终致力于用户的企业信息化建设、存储业务、数据保护与容灾构建以及数据管理部署等方面服务。
比特安全周刊通过专业的信息安全内容建设,为企业级用户打造最具商业价值的信息沟通平台,并为安全厂商提供多层面、多维度的媒体宣传手段。与其他同类网站信息安全内容相比,比特安全周刊运作模式更加独立,对信息安全界的动态新闻更新更快。
新闻中心热点推荐
新闻中心以独特视角精选一周内最具影响力的行业重大事件或圈内精彩故事,为企业级用户打造重点突出,可读性强,商业价值高的信息共享平台;同时为互联网、IT业界及通信厂商提供一条精准快捷,渗透力强,覆盖面广的媒体传播途径。
云计算周刊
比特云计算周刊关注云计算产业热点技术应用与趋势发展,全方位报道云计算领域最新动态。为用户与企业架设起沟通交流平台。包括IaaS、PaaS、SaaS各种不同的服务类型以及相关的安全与管理内容介绍。
CIO俱乐部周刊
比特CIO俱乐部周刊以大量高端CIO沙龙或专题研讨会以及对明星CIO的深入采访为依托,汇聚中国500强CIO的集体智慧。旨为中国杰出的CIO提供一个良好的互融互通 、促进交流的平台,并持续提供丰富的资讯和服务,探讨信息化建设,推动中国信息化发展引领CIO未来职业发展。
IT专家新闻邮件长期以来,以定向、分众、整合的商业模式,为企业IT专业人士以及IT系统采购决策者提供高质量的原创内容,包括IT新闻、评论、专家答疑、技巧和白皮书。此外,IT专家网还为读者提供包括咨询、社区、论坛、线下会议、读者沙龙等多种服务。
X周刊是一份IT人的技术娱乐周刊,给用户实时传递I最新T资讯、IT段子、技术技巧、畅销书籍,同时用户还能参与我们推荐的互动游戏,给广大的IT技术人士忙碌工作之余带来轻松休闲一刻。
微信扫一扫
关注Chinabyte

我要回帖

更多关于 企业信用信息公示系统 的文章

 

随机推荐