最近有些软件要求glibc 2.14+,centos 6.x自带的版本是2.12的,7.6默认是2.17,特查了下glibc 各版本发布时间以及与对应的内核,如下:
Date | Release | Announcement |
2017-08-01 | Future release. | |
2017-02-01 | In development. | |
2016-08-04 | ||
2016-02-19 | ||
2015-08-14 | ||
2015-02-06 | ||
2014-09-08 | ||
2014-02-07 | ||
2013-08-12 | ||
2012-12-25 | The GNU C Library version 2.17 is now available. It follows all relevant | |
2012-06-30 | The GNU C Library version 2.16 is now available. It follows all relevant | |
2012-03-21 | ||
2011-10-07 | GLIBC 2.14.1 | |
2011-06-01 | GLIBC 2.14 | |
2011-02-01 | ||
2010-12-13 | GLIBC 2.12.2 | |
2010-11-30 | GLIBC 2.11.3 | |
2010-08-03 | GLIBC 2.12.1 | |
2010-05-19 | GLIBC 2.11.2 | |
2010-05-03 | ||
2009-12-29 | GLIBC 2.11.1 | |
2009-11-16 | GLIBC 2.10.2 | |
2009-11-03 | ||
2009-05-18 | GLIBC 2.10.1 | |
2009-05-09 | ||
2008-11-13 | GLIBC 2.9 | |
2008-04-12 | GLIBC 2.8 | |
2007-10-19 | GLIBC 2.7 | |
2007-07-31 | GLIBC 2.6.1 | |
2007-07-31 | GLIBC 2.5.1 | |
2007-05-17 | GLIBC 2.6 | |
2006-09-29 | GLIBC 2.5 | |
2006-03-06 | GLIBC 2.4 | |
2005-11-04 | GLIBC 2.3.6 | |
2005-04-07 | GLIBC 2.3.5 | |
2004-12-29 | GLIBC 2.3.4 | |
2003-12-01 | GLIBC 2.3.3 | |
2003-02-28 | GLIBC 2.3.2 | |
2002-10-10 | GLIBC 2.3.1 | |
2002-10-02 | GLIBC 2.3 | |
2002-01-20 | GLIBC 2.2.5 | |
2001-07-27 | GLIBC 2.2.4 | |
2001-04-26 | GLIBC 2.2.3 | |
2001-02-15 | GLIBC 2.2.2 | |
2001-01-13 | GLIBC 2.2.1 | |
2000-11-09 | GLIBC 2.2 | |
2000-02-24 | GLIBC 2.1.3 | |
1999-09-06 | GLIBC 2.1.2 | |
1999-05-24 | GLIBC 2.1.1 | |
1999-02-03 | GLIBC 2.1 | |
1997-12-29 | GLIBC 2.0.6 | |
1997-08-25 | GLIBC 2.0.5 | |
1997-05-27 | GLIBC 2.0.4 | |
1997-04-22 | GLIBC 2.0.3 | |
1997-03-22 | GLIBC 2.0.2 | |
1997-02-04 | GLIBC 2.0.1 | |
1997-01-26 | GLIBC 2.0 | |
1995-01-16 | GLIBC 1.09.5 | |
1994-12-12 | GLIBC 1.09.3 | |
1994-12-05 | GLIBC 1.09.2 | |
1994-11-06 | GLIBC 1.09 | |
1994-11-04 | GLIBC 1.08.14 | |
1994-11-01 | GLIBC 1.08.13 | |
1994-10-24 | GLIBC 1.08.12 | |
1994-10-19 | GLIBC 1.08.11 | |
1994-10-11 | GLIBC 1.08.10 | |
1994-09-26 | GLIBC 1.08.9 | |
1994-09-04 | GLIBC 1.08.8 | |
1994-09-01 | GLIBC 1.08.7 | |
1994-08-08 | GLIBC 1.08.6 | |
1994-08-03 | GLIBC 1.08.5 | |
1994-07-29 | GLIBC 1.08.4 | |
1994-07-04 | GLIBC 1.08.3 | |
1994-06-05 | GLIBC 1.08.1 | |
1994-05-21 | GLIBC 1.08 | |
1994-05-18 | GLIBC 1.07.6 | |
1994-05-03 | GLIBC 1.07.5 | |
1994-02-17 | GLIBC 1.07.4 | |
1994-02-08 | GLIBC 1.07.3 | |
1994-02-05 | GLIBC 1.07.2 | |
1994-01-25 | GLIBC 1.07.1 | |
1994-01-17 | GLIBC 1.07 | |
1994-01-16 | GLIBC 1.06.13 | |
1994-01-13 | GLIBC 1.06.12 | |
1994-01-11 | GLIBC 1.06.11 | |
1994-01-08 | GLIBC 1.06.10 | |
1993-12-25 | GLIBC 1.06.9 | |
1993-12-21 | GLIBC 1.06.8 | |
1993-11-09 | GLIBC 1.06.7 | |
1993-08-16 | GLIBC 1.06.6 | |
1993-06-29 | GLIBC 1.06.4 | |
1993-06-16 | GLIBC 1.06.3 | |
1993-05-31 | GLIBC 1.06.2 | |
1993-05-27 | GLIBC 1.06.1 | |
1993-05-23 | GLIBC 1.06 | |
1992-09-24 | GLIBC 1.05 | |
1992-09-03 | GLIBC 1.04 | |
1992-04-09 | GLIBC 1.03 | |
1992-03-20 | GLIBC 1.02 | |
1992-03-11 | GLIBC 1.01 | |
1992-02-18 | GLIBC 1.00 | |
1992-02-17 | GLIBC 0.6 | |
1992-02-16 | GLIBC 0.5 | |
1992-02-14 | GLIBC 0.4.1 | |
1992-02-14 | GLIBC 0.4 | |
1991-10-08 | GLIBC 0.1 | |
1988-01-01 | GLIBC Pre-release |
https://sourceware.org/glibc/wiki/Glibc%20Timeline
内核及其对应关系如下:
http://man7.org/tlpi/api_changes/#glibc-2.14
GCC版本发布
Release | Release date |
July 28, 2021 | |
June 1, 2021 | |
May 14, 2021 | |
April 27, 2021 | |
April 8, 2021 | |
July 23, 2020 | |
May 7, 2020 | |
March 12, 2020 | |
March 4, 2020 | |
November 14, 2019 | |
August 12, 2019 | |
May 3, 2019 | |
February 22, 2019 | |
December 6, 2018 | |
October 26, 2018 | |
July 26, 2018 | |
May 2, 2018 | |
January 25, 2018 | |
October 10, 2017 | |
August 14, 2017 | |
July 4, 2017 | |
May 2, 2017 | |
December 21, 2016 | |
August 22, 2016 | |
August 3, 2016 | |
June 3, 2016 | |
April 27, 2016 | |
December 4, 2015 | |
July 16, 2015 | |
June 26, 2015 | |
June 23, 2015 |
GDB版本发布
LSB
(信创操作系统首先就是支持ARM),debian也为LSB认证。rhel 7对应的LSB 4.1,可通过lsb_release查看操作系统是否符合LSB。最新的LSB规范是2015年定义的5.0。其定义如下。
he Linux Standard Base (LSB) is an ISO standard for GNU/Linux. The purpose is to keep the distros standardized and compatible. LSB is based on several standards including POSIX. LSB sets standards for various portions of Linux systems including run levels, file system hierarchy, and many other subsystems. The latest edition of the LSB specification is 4.1 which has a few parts listed below.
Core - This is the general basis of the specification
C++ - The specifications for the libraries核心和C++部分包括如下:
LSB core specifications
• Executable And Linking Format (ELF)
• Base Libraries
• Utility Libraries
• Commands and Utilities (grep, sed, awk, tar, useradd, patch, etc.)
• Execution Environment
• File System Hierarchy (FHS)
• System Initialization (cron, init scripts, etc.)
• Users & Groups (names, id's, etc)
• Package Format and Installation
LSB C++ specifications
• Low Level System Information
• Base Libraries
•
Desktop - This category contains specifications for GTK, QT(3&4), multimedia (like ALSA), graphics, and others
Languages - Specifications for Python, Perl, and GTK+
Printing - The CUPS library is standardized
Security - Security specifications
The LSB standard supports seven architectures - IA32, IA64, PPC32, PPC64, S390, S390X, and X86_64(AMD64)
NOTE: An ISO standard is a standard set by the International Organization for Standardization (ISO). ISO sets various standards; not all pertain to computers.
Remember, I said that LSB also includes some other set standards. Other standards were used as references when creating the LSB standard. Some of these specifications include
Filesystem Hierarchy Standard (FHS) - sets the file/folder layout
ISO C - C-language specification
Itanium C++ ABI - ABI stands for Application Binary Interface. An ABI is the interface between the software and the operating system.
Large File Support - Support for large files
POSIX - Portable Operating System Interface (POSIX). POSIX is a large, stand-alone specification that will not be deeply covered in this article.
SUS - Single UNIX Specification. Systems that comply with all of the standards in SUS are considered Unix systems. Unix-like systems are operating systems that do not fully satisfy the standard. The different versions of the Unix standard are designated as UNIX93, UNIX95, UNIX98, and UNIX03. Obviously, they were made in 1993, 1995, 1998, and 2003, respectively. HP-Unix and Mac OS X are examples of two commonly used Unix systems. Linux and *BSD are considered Unix-like because they do not satisfy all of the criteria.
SVID - System V Interface Definition. This standard covers C-libraries, system calls, software, and hardware management.
System V ABI - A System V Application Binary Interface specification
X/Open Curses - A standard for the popular text-based interface ncurses.
DWARF Debugging Information Format - This is a format used by debuggers and compilers for reporting bugs.
IEC 60559/IEEE 754 Floating Point - Floating-point computation standard
ISO/IEC TR14652 - Character format specification
ITU-T V.42 - Error correction standard
Li18nux Globalization Specification - Specifications that aid in the internationalization of Linux
Linux Allocated Device Registry - Each type of /dev/ file has a special number. This registry is the officially set numbers.
Mozilla's NSS SSL Reference - This is a reference for Network Security Services and Secure Socket Layer. https://developer.mozilla.org/en-US/docs/NSS_reference
NSPR Reference - This is a reference for Netscape Portable Runtime (NSPR).
RFC 1321 - The MD5 Message-Digest Algorithm
RFC 1831/1832 - Remote Procedure Call Protocol Specification
RFC 1833 - Binding Protocols for ONC RPC
RFC 1950 - ZLIB Compressed Data Format Specification
RFC 1951 - DEFLATE Compressed Data Format Specification
RFC 1952 - GZIP File Format Specification
RFC 2440 - OpenPGP Message Format
RFC 2821 - Simple Mail Transfer Protocol (SMTP)
RFC 2822 - Internet Message Format
RFC 791 - Internet Protocols
RPM Package Format - The RPM installation package (yes, the same one used on Fedora and RedHat) has a standard that it follows.
All of these specifications that were implemented in LSB or used as a reference are very important in making Unix and Unix-like systems standard and compatible. Imagine making a cross-platform application for a range of operating systems that were very diverse. If these specifications were followed entirely among all systems, then more software would be compatible. The main purpose of the LSB is to keep all Linux distros compatible with each other. Please note that the Linux Standard Base (LSB) is a standard among Linux distros (not Unix systems), yet some of the adopted specifications (like POSIX) are used among Unix and Unix-like systems.
从上可知,符合LSB的linux可以程序确保相互兼容。
lsb的版本可通过lsb_release查看如下:
[zjh@lightdb1 ~]$ lsb_release -a
LSB Version: :core-4.1-amd64:core-4.1-noarch:cxx-4.1-amd64:cxx-4.1-noarch:desktop-4.1-amd64:desktop-4.1-noarch:languages-4.1-amd64:languages-4.1-noarch:printing-4.1-amd64:printing-4.1-noarch
Distributor ID: CentOS
Description: CentOS Linux release 7.9.2009 (Core)
Release: 7.9.2009
Codename: Core
[root@localhost ~]# cat /etc/lsb-release
DISTRIB_ID=Kylin
DISTRIB_RELEASE=V10
DISTRIB_CODENAME=juniper
DISTRIB_DESCRIPTION="Kylin V10"
DISTRIB_KYLIN_RELEASE=V10
DISTRIB_VERSION_TYPE=enterprise
DISTRIB_VERSION_MODE=normal
[root@localhost ~]#
可见kylin并不是符合LSB的linux。
LightDB Enterprise Postgres--金融级关系型数据库,更快、更稳、更懂金融!