Linux源代码下载.doc_第1页
Linux源代码下载.doc_第2页
Linux源代码下载.doc_第3页
Linux源代码下载.doc_第4页
Linux源代码下载.doc_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1. 课程设计题目:下载某个版本的linux源代码,生成一个定制的linux操作系统,完成后该系统可以用来作为启动系统使用。2.如何做的问题?内核版本 要编译一个最新的内核,您需要首先下载它的源代码在您下载内核的源代码前,您要知道到您要找什么。首先要问您自己的问题是- 您需要一份稳定的还是测试版的内核? 稳定版内核通常版本号第二位用偶数数字 - 例如, 2.0.38、2.2.15、2.2.18 和2.4.1 是被认为是“稳定”的内核(分别由于其包含 0、2、2 和4)。如果您想尝试测试版内核,您通常需要找那些版本号第二位是奇数的号码又最高的内核。例如,2.3.99 和 2.1.38都是测试版内核(分别由于其包含 3 和 1)。 内核版本历史 2.2 系列的内核被认为是较新而且稳定的内核。如果较新和稳定是您想要的,查找一个版本号的第三位是最高的2.2 内核(2.2.16 是目前最新的版本)。 当 2.2 系列的内核仍在开发中,2.3 系列已经开始了。这个系列是作为将被集成到 2.4稳定版系列的新功能和高级功能的测试版。2.3 系列已经到了 2.3.99,其开发已经停止。开发人员已经开始着手2.4.0。如果您喜欢冒险使用最最新的技术,您可能想使用可以找到的最新的 2.4 系列内核。 2.4 版内核警告信息 Once a real 2.4 series kernel comes out(like 2.4.0), dont assume that the kernel is ready for use on a mission-critical system like a server. Even though 2.4 is supposed tobe a stable series, early 2.4 kernels are likely to be not quite up tosnuff. As is often the case in the computer industry, the first version of anything can have fairly sizable bugs. While this may not be a problem if youre testing the kernel on your home workstation, it is a risk you may want to avoid when you machine provides valuable services to others. 下载内核 如果您只是想编译一个您已安装内核的新版本(例如,实现 SMP 支持),那不需要下载任何代码 - 跳过此部分继续下一屏。 您可以在/pub/linux/kernel上找到内核代码。当您进入到那后,您将发现内核的源代码按内核版本(v2.2、v2.3等),被组织到多个不同的目录中。在每个目录中,您将发现文件被冠以linux-x.y.z.tar.gz和linux-x.y.z.tar.bz2。这些就是Linux 内核的源代码。您也将看到冠以 patch-x.y.z.gz 和patch-x.y.z.bz2的文件。这些是用来更新前面完整的内核源代码的补丁包。如果您希望编译一个新的内核版本,您将需要下载这些linux文件其中之一。 内核解包 如果您已从 下载一个新的内核,现在是要将其解包时候了。 首先,cd/usr/src。如果这里有一个存在的linux目录,将其改名为linux.old (mv linux linux.old,以root 权限)。 现在,可以解开新的内核包了。仍然在 /usr/src 目录下,输入 tar xzvf/path/to/my/kernel-x.y.z.tar.gz 或者 cat /path/to/my/kernel-x.y.z.tar.bz2| bzip2 -d | tar xvf -,根据您下载的源代码是用 gzip 或 bzip2压缩的。在输入完此命令后,您下载的内核源代码会被释放到一个新的linux目录下。注意 - 全套内核源代码通常将在硬盘上占用超过 50兆空间!Index of /pub/linux/kernelName Last modified Size Parent Directory - Historic/ 20-Mar-2003 22:38 - SillySounds/ 14-Apr-2000 18:55 - crypto/ 24-Nov-2001 14:54 - people/ 03-Nov-2010 18:25 - ports/ 13-Mar-2003 01:34 - projects/ 26-Oct-2007 20:58 - testing/ 14-Feb-2002 05:32 - uemacs/ 20-Mar-2003 23:31 - v1.0/ 20-Mar-2003 22:58 - v1.1/ 20-Mar-2003 22:58 - v1.2/ 20-Mar-2003 22:58 - v1.3/ 20-Mar-2003 23:02 - v2.0/ 08-Feb-2004 09:17 - v2.1/ 20-Mar-2003 23:12 - v2.2/ 24-Mar-2004 19:22 - v2.3/ 20-Mar-2003 23:23 - v2.4/ 06-Sep-2010 05:43 - v2.5/ 14-Jul-2003 03:50 - v2.6/ 29-Oct-2010 05:13 - COPYING 13-Mar-1994 00:00 18K CREDITS 16-Sep-1996 16:36 36K README 16-Sep-1996 16:36 12K Index of /pub/linux/kernel/v2.4Name Last modified Size Parent Directory - old-test-kernels/ 20-Mar-2003 23:30 - snapshots/ 01-Jun-2005 09:47 - testing/ 02-Dec-2008 08:13 - ChangeLog-2.4.1 30-Jan-2001 07:57 2.5K ChangeLog-2.4.2 22-Feb-2001 01:02 2.4K ChangeLog-2.4.3 30-Mar-2001 05:02 2.5K ChangeLog-2.4.4 28-Apr-2001 01:43 2.6K ChangeLog-2.4.5 26-May-2001 01:25 3.1K ChangeLog-2.4.6 04-Jul-2001 00:06 4.3K ChangeLog-2.4.7 20-Jul-2001 21:24 2.6K 。 ChangeLog- 24-Feb-2008 20:51 276 ChangeLog- 19-Apr-2008 14:41 584 ChangeLog- 07-May-2008 04:19 266 ChangeLog- 31-Jan-2010 09:30 485 ChangeLog- 01-Feb-2010 21:12 200 ChangeLog-0 06-Sep-2010 05:38 867 LATEST-IS-0 06-Sep-2010 05:38 0 drm-4.0.x.tar.bz2 09-Aug-2001 23:29 102K drm-4.0.x.tar.bz2.sign 09-Aug-2001 23:29 248 drm-4.0.x.tar.gz 09-Aug-2001 23:29 156K drm-4.0.x.tar.gz.sign 09-Aug-2001 23:29 248 drm-4.0.x.tar.sign 09-Aug-2001 23:29 248 linux-2.4.0.tar.bz2 04-Jan-2001 23:45 19M linux-2.4.0.tar.bz2.sign 04-Jan-2001 23:45 248 linux-2.4.0.tar.gz 04-Jan-2001 23:45 23M linux-2.4.0.tar.gz.sign 04-Jan-2001 23:45 248 linux-2.4.2.tar.bz2 22-Feb-2001 01:00 20M linux-2.4.2.tar.bz2.sign 22-Feb-2001 01:00 248 linux-2.4.2.tar.gz 22-Feb-2001 01:00 24M linux-2.4.2.tar.gz.sign 22-Feb-2001 01:00 248 linux-2.4.2.tar.sign 22-Feb-2001 01:00 248 linux-2.4.3.tar.bz2 30-Mar-2001 05:03 20M linux-2.4.3.tar.bz2.sign 30-Mar-2001 05:03 248 linux-2.4.3.tar.gz 30-Mar-2001 05:03 25M linux-2.4.3.tar.gz.sign 30-Mar-2001 05:03 248 linux-2.4.3.tar.sign 30-Mar-2001 05:03 248 linux-2.4.4.tar.bz2 28-Apr-2001 01:43 20M linux-2.4.4.tar.bz2.sign 28-Apr-2001 01:43 248 linux-2.4.4.tar.gz 28-Apr-2001 01:43 25M linux-2.4.4.tar.gz.sign 28-Apr-2001 01:43 248 linux-2.4.4.tar.sign 28-Apr-2001 01:43 248 linux-2.4.5.tar.bz2 26-May-2001 01:26 21M linux-2.4.7.tar.gz 20-Jul-2001 21:25 26M linux-2.4.7.tar.gz.sign 20-Jul-2001 21:25 248 linux-2.4.7.tar.sign 20-Jul-2001 21:25 248 linux-2.4.9.tar.sign 16-Aug-2001 18:32 248 linux-2.4.14.tar.gz.sign 05-Nov-2001 23:30 248 linux-2.4.14.tar.sign 05-Nov-2001 23:30 248 linux-2.4.15.tar.bz2 23-Nov-2001 06:18 23M linux-2.4.15.tar.bz2.sign 23-Nov-2001 06:18 248 linux-2.4.15.tar.gz 23-Nov-2001 06:18 28M linux-2.4.17.tar.bz2 21-Dec-2001 17:52 23M linux-2.4.17.tar.bz2.sign 21-Dec-2001 17:52 248 linux-2.4.17.tar.gz 21-Dec-2001 17:52 28M linux-.tar.sign 19-Oct-2008 21:25 248 linux-.tar.bz2 09-Nov-2008 22:42 30M linux-.tar.bz2.sign 09-Nov-2008 22:42 248 linux-.tar.gz 09-Nov-2008 22:42 37M linux-.tar.gz.sign 09-Nov-2008 22:42 248 linux-.tar.bz2.sign 19-Apr-2009 18:45 248 linux-.tar.gz 19-Apr-2009 18:45 37M linux-.tar.gz.sign 19-Apr-2009 18:45 248 linux-.tar.sign 19-Apr-2009 18:45 248 linux-.tar.bz2 07-Jun-2009 19:53 30M linux-.tar.bz2.sign 07-Jun-2009 19:53 248 linux-.tar.gz 13-Sep-2009 09:41 37M linux-.tar.gz.sign 13-Sep-2009 09:41 248 linux-.tar.sign 13-Sep-2009 09:41 248 linux-2.4.37.tar.bz2 02-Dec-2008 08:13 30M linux-2.4.37.tar.bz2.sign 02-Dec-2008 08:13 248 patch-2.4.1.sign 30-Jan-2001 07:56 248 patch-2.4.2.bz2 22-Feb-2001 01:00 1.1M patch-2.4.6.bz2 04-Jul-2001 00:07 1.3M patch-2.4.6.bz2.sign 04-Jul-2001 00:07 248 patch-2.4.6.gz 04-Jul-2001 00:07 1.7M patch-2.4.6.gz.sign 04-Jul-2001 00:07 248 patch-2.4.6.sign 04-Jul-2001 00:07 248 /view/e25586270722192e4536f646.html3. 在Linux下编译内核 现在我们来学习在Linux下编译内核。 编译之前,必须知道为什么要编译内核以及内核是一个什么样的东西。 Linux操作系统包括四个部分: 实用工具集;shell;系统程序和运行期库;内核 内核所起的作用可以为其他所有的程序以及服务提供运行环境,分配各种软硬件资源 在操作系统中,内核的作用类似于人的大脑。 由于LInux操作系统,是一个开源软件,开放所有的源代码,这为我们定制内核提供了便利条件; 在Windows操作系统 中,我们常常被很多问题困扰,比如说我们的操作系统在使用一段时间之后,会发现运行速度越来越慢,操作系统所在的磁盘分区容量越来越多,但是由于windows系统不开源,我们不知道为什么会出现这种情况。不过在linux中,由于所有的内核代码都是开放的,所以只要我们有足够的能力,就可以对这个内核进行定制,以满足我们自己的需求。 这种定制包括: 我们的硬件功能很强,包括很多附加设备。但是使用的linux操作系统目前没有打开对这些功能和设备的支持,因此可以通过内核编译去获取这些功能。 反过来,如果我们的硬件功能很弱,而linux系统中自带的很多功能和硬件的支持我们都不需要,也可以通过内核定制和编译去掉这些功能以加强我们的系统性能。或者杜绝一些错误和漏洞的存在。 总之,因为linux系统中给我们提供了定制内核的条件(开源),我们就应该和有能力使用这个条件去打造适合我们自己需要的操作系统。好了,我们知道了为什么要进行内核编译,下面介绍一下内核编译的步骤: 1.在编译之前,我们要了解当前计算机的软硬件信息。 由于/proc目录下存储的是当前内存的运行值,其实这个文件夹不是硬盘中的数据,而是内存中的数据,因此我们可以通过这个目录下的文件来获得当前系统的硬件环境信息。 比如说cpu、内存、文件系统、pci设备、版本等相关信息。 可以通过less命令看到 cpuinfo meminfo pci filesystem partition version等信息 2.然后第二步,开始获取内核源代码包: 内核源代码包获取分两种情况,第一种是通过在系统安装光盘中获得当前系统的内核源码,这种内核包的格式多数是rpm的 第二种是通过在获得更高版本的内核源码,这种内核包的格式多数是tar.gz的 我们现在来讨论第一种方法,从光盘获取需要挂载第二张光盘。大家刚才看到的这个37M的软件包就是内核源码包 如果没有安装的话,我们使用rpm -ihv kernel-source-2.4.20-8.i386.rpm命令来安装,如果成功,该包会安装在/usr/src目录下,产生一个linux-2.4.20的文件夹,里面就是内核源码的内容3.但是上面这一步的执行,需要系统的一些底层环境的支持,也就是说需要事前在系统中具备和安装相应的软件包。否则无法安装内核包,或者安装内核包之后,会在下一步操作中提示出错。这些软件包括:gcc ncurses make dev86 glibc-kernheader cpp binutils 那么我们现在先来检查一下使用rpm -qa | grep packagename就行 好了,看来该装的软件都已经有了,所以执行rpm ihvkernel-source-2.4.20-8.i386.rpm就行了。 4.安装完成之后,我们的/usr/src目录里面就有了内核的源码文件: 就是刚才显示出来的两个目录,其实都是一个目录,另一个链接文件指向的是linux-2.4.20目录, 所以cd /usr/src cd linux-2.4.20 5.现在开始编译:(由于2.4和2.6内核的编译方法不是完全一样,所以我们分开两种情况讨论) 编译2.4内核:编译2.6内核 第一步:make mrproper清理内核源代码树(清理垃圾信息)make mrproper 第二步:make menuconfig 配置内核以及内核模块make menuconfig 相关的命令还有make config、make oldconfig、make xconfig)(交互问答式)(通过旧内核生成)(图形界面下编译) 我们在这里推荐使用make menuconfig这种方法操作最方便最直接 在进入内核配置菜单之后,原则上,自己有把握的可以更改,没有把握的切记不要乱改,否则会导致编译失败。 另外更改的时候,如果出现*,表示编译进入内核随系统启动而启动 M,表示编译进入模块不随系统启动而启动,在需要的时候调用(一些不重要的外部驱动程序就可以作为内核模块编译,这样内核不会过大,也不会影响启动速度)空,表示不编译进入内核也不编译进入模块放弃这个功能,如果系统不支持这类功能,可以放弃好了下面开始更改。大家看到了,我改了不少。现在我都不知道能否编译成功。 但其中有一点需要注意:NTFS一定要编译进入内核而不是模块;另外,没有把握的不要乱改;还有,内核编译我认为具有很大随机性,编译不成功很正常,比如说我现在的更改就不能保证可以成功。 完成之后,将配置起一个名字,另外最后将其保存。 最后退出的时候,提示保存,这里会将刚才的配置保存为一个名称为.config的配置文件,不管我们使用make menuconfig还是 make oldconfig、make xconfig、make config,最终都为了生成这个.config文件,以后所有的操作,就会根据这个文件中的内容进行这个文件,存储的就是我们刚才所做的改动,可以less .config查看一下 第三步:make dep生成依赖性关系 第四步:make bzImage 生成新内核make (2.6内核中将左边三个步骤简化为make) 第五步:make modules 编译内核模块 这三个步骤执行的时间比较长,所以,慢慢等吧!刚才这一步是执行时间最长的一步。 第六步:make modules_install 安装内核模块 第七步:make install安装内核 (所有的编译步骤最好在字符界面下进行,否则在图形界面下速度会比较慢) 另外上面所提到的所有步骤,任何一步完成之后都要检查有没有出错,就是有没有显示error的字样,如果显示任何一步出错都要退回到 make mrproper重来 大家看到了,我们所有的步骤我刚才都执行完了,没有报错,似乎情况还不错。 但是不要高兴太早,还要进行进一步测试: 1. vi /etc/grub.conf查看是否有新的内核启动项生成(刚才带custom这一项就是新的内核启动项,这步没问题) 2. ls /boot查看是否有新的内核文件vmlinuz生成(刚才带custom这一项就是新的内核文件,这步也没有问题)现在差不多行了,但是还要重启,看是否可以新的内核启动系统 以新的启动项进入: 看来已经可以进入系统了,但是在sendmail服务这里会比较慢应该事先将该服务关闭,不过这不会影响新的内核启动。继续等待。我现在已经成功进入系统了,那么执行uname -a 检查一下我们现在是否使用新内核: 显示使用的内核是2.4.20-8custom,证明内核编译成功! 4. linux gcc 下载地址和安装但是gcc-4.2.0.tar.bz2是必须的!把各个包解压,他们会都存入一个gcc-4.2.0的文件夹,然后执行./configure-make -make install 即可!其中make过程是相当漫长的_!gcc -version 测试! GCC mirror sites These sites mirror the FTP site (Phoenix, Arizona, USA) directly.Our releases are also available on the GNU FTP server and its mirror sites. The archives there will be signed by one of the following GnuPG keys:Austria: gd.tuwien.ac.at, thanks to Antonin dot Sprinzl at tuwien dot ac dot at Bulgaria: gcc.igor.onlinedirect.bg, thanks to igor at onlinedirect dot bg Canada: , thanks to James Miller (jmiller at parentingamerica dot com). Canada: , thanks to Sergey Ivanov (mirrors at skazkaforyou dot com) China: //, thanks to David Deng (david99deng at yahoo dot com) France (no snapshots): ftp.lip6.fr, thanks to ftpmaint at lip6 dot fr France, Brittany: ftp.irisa.fr, thanks to ftpmaint at irisa dot fr France, Versailles: ftp.uvsq.fr, thanks to ftpmaint at uvsq dot fr Germany, Berlin: ftp.fu-berlin.de, thanks to ftp at fu-berlin dot de Germany: ftp.gwdg.de, thanks to emoenke at gwdg dot de Germany: ftp.mpi-sb.mpg.de, thanks to ftpadmin at mpi-sb.mpg dot de Germany: , thanks to Sascha Schwarz (cm at cybermirror dot org) Greece: ftp.ntua.gr, thanks to ftpadm at ntua dot gr Hungary, Budapest: robotlab.itk.ppke.hu, thanks to Adam Rak (neurhlp at gmail dot com) Japan: ftp.dti.ad.jp, thanks to IWAIZAKO Takahiro (ftp-admin at dti dot ad dot jp) Japan: ring.etl.go.jp The Netherlands, Nijmegen: ftp.nluug.nl, thanks to Jan Cristiaan van Winkel (jc at ATComputing dot nl) Index of / Name Last modified Size Description infrastructure/ 27-Aug-2010 20:10 - libstdc+/ 18-Dec-2007 04:22 - old-releases/ 18-Jun-2001 04:57 - releases/ 13-Nov-2010 17:34 - snapshots/ 13-Nov-2010 17:34 - summit/ 13-Nov-2010 17:34 - README 25-Apr-2003 08:09 765 md5.sum 10-Mar-2010 22:01 41 This mirror is sponsored by the very best kids clothing and kids shoes directory on the net!Index of /releases Name Last modified Size Description Parent Directory - egcs-1.1.2/ 28-Aug-1999 08:58 - gcc-2.95.1/ 28-Aug-1999 08:57 - gcc-/ 11-Dec-2000 16:48 - gcc-2.95.2/ 28-Oct-1999 05:29 - gcc-2.95.3/ 19-Mar-2001 22:48 - gcc-2.95/ 28-Aug-1999 08:57 - gcc-3.0.1/ 20-Aug-2001 07:48 - gcc-3.0.2/ 26-Oct-2001 20:07 - gcc-3.0.3/ 20-Dec-2001 23:48 - gcc-3.0.4/ 22-Feb-2002 01:45 - gcc-3.0/ 17-Jun-2001 23:48 - gcc-3.1.1/ 26-Jul-2002 08:00 - gcc-3.1/ 15-May-2002 07:32 - gcc-3.2.1/ 09-Jan-2003 14:54 - gcc-3.2.2/ 05-Feb-2003 04:54 - gcc-3.2.3/ 22-Apr-2003 11:54 - gcc-3.2/ 15-Aug-2002 05:58 - gcc-3.3.1/ 12-Aug-2003 21:25 - gcc-3.3.2/ 17-Oct-2003 09:54 - gcc-3.3.3/ 15-Feb-2004 01:54 - gcc-3.3.4/ 01-Jun-2004 05:54 - gcc-3.3.5/ 30-Sep-2004 21:07 - gcc-3.3.6/ 03-May-2005 14:08 - gcc-3.3/ 16-May-2003 09:31 - gcc-3.4.0/ 20-Apr-2004 09:54 - gcc-3.4.1/ 06-Jul-2004 18:09 - gcc-3.4.2/ 07-Sep-2004 04:07 - gcc-3.4.3/ 05-Nov-2004 06:09 - gcc-3.4.4/ 19-May-2005 18:07 - gcc-3.4.5/ 01-Dec-2005 05:20 - gcc-3.4.6/ 06-Mar-2006 07:00 - gcc-4.0.0/ 21-Apr-2005 09:07 - gcc-4.0.1/ 08-Jul-2005 02:10 - gcc-4.0.2/ 29-Sep-2005 01:07 - gcc-4.0.3/ 10-Mar-2006 09:07 - gcc-4.0.4/ 31-Jan-2007 13:14 - gcc-4.1.0/ 28-Feb-2006 21:10 - gcc-4.1.1/ 25-May-2006 03:07 - gcc-4.1.2/ 14-Feb-2007 09:07 - gcc-4.2.0/ 14-May-2007 20:07 - gcc-4.2.1/ 20-Jul-2007 04:07 - gcc-4.2.2/ 08-Oct-2007 22:07 - gcc-4.2.3/ 01-Feb-2008 19:07 - gcc-4.2.4/ 19-May-2008 17:07 - gcc-4.3.0/ 05-Mar-2008 19:44 - gcc-4.3.1/ 06-Jun-2008 16:33 - gcc-4.3.2/ 27-Aug-2008 21:07 - gcc-4.3.3/ 26-Jan-2009 19:01 - gcc-4.3.4/ 04-Aug-2009 14:02 - gcc-4.3.5/ 22-May-2010 21:01 - gcc-4.4.0/ 21-Apr-2009 11:01 - gcc-4.4.1/ 22-Jul-2009 09:39 - gcc-4.4.2/ 15-Oct-2009 10:01 - gcc-4.4.3/ 21-Jan-2010 13:01 - gcc-4.4.4/ 29-Apr-2010 10:55 - gcc-4.4.5/ 01-Oct-2010 10:34 - gcc-4.5.0/ 14-Apr-2010 12:01 - gcc-4.5.1/ 31-Jul-2010 11:01 - This mirror is sponsored by the very best kids clothing and kids shoes directory on the net!Index of /releases/gcc-4.2.0 Name Last modified Size Description Parent Directory - diffs/ 14-May-2007 20:07 - gcc-4.2.0.tar.bz2 14-May-2007 06:23 42M gcc-ada-4.2.0.tar.bz2 14-May-2007 06:24 4.5M gcc-core-4.2.0.tar.bz2 14-May-2007 06:25 18M gcc-fortran-4.2.0.tar.bz2 14-May-2007 06:24 957K gcc-g+-4.2.0.tar.bz2 14-May-2007 06:24 4.6M gcc-java-4.2.0.tar.bz2 14-May-2007 06:24 10M gcc-objc-4.2.0.tar.bz2 14-May-2007 06:24 193K gcc-testsuite-4.2.0.tar.bz2 14-May-2007 06:24 3.7M md5.sum 14-May-2007 20:07 457 This mirror is sponsored by the very best kids clothing and kids shoes directory on the net!Linux自带GCC 和 g+的 GCC参数详解 gcc and g+分别是gnu的c & c+编译器 gcc/g+在执行编译工作的时候,总共需要

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论