免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1201 | 回复: 0
打印 上一主题 下一主题

Speed up ubuntu boot process (zhuan) [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-11-06 21:39 |只看该作者 |倒序浏览


方法来自这篇文章
Feisty Performance - “Fly Like A Butterfly”
(
中文翻译
),作者总结了很多关于优化和加速 Feisty 的方法。按照下面的方法来做,到底有没有实际效果,就得大家试了才知道,至少我使用后,发现启动速度有了很大的提高。
注意:以下部分步骤如果修改错误,会导致系统无法启动,所以需要认真一点。
1、禁用 IPv6
目前 IPv6 还没有到来,Ubuntu 这个超前的功能暂时可以屏蔽掉,以加快速度。
编辑 sudo gedit /etc/modprobe.d/aliases,把:
alias net-pf-10 ipv6
修改为
alias net-pf-10 off #ipv6
2、并行运行开机启动脚本
/etc/init.d/ 下面的都是启动脚本,默认这些脚本是按顺序启动的,实际上,如果你使用的是 SATA 或 SCSI 接口,可以并行启动这些脚本程序,加速启动过程。
使用 vi 编辑 sudo vi /etc/init.d/rc,把:
CONCURRENCY=none
修改为
CONCURRENCY=shell
3、将 localhost 化名为主机名
据说这个方法可以改善使用 Ubuntu 一段后,在 GNOME 中启动应用程序变慢的问题。
编辑 sudo gedit /etc/hosts,把:
127.0.0.1 localhost
127.0.1.1 Ubuntu
在第一行末尾加上主机名,也就是第二行的那个名字。
127.0.0.1 localhost Ubuntu
127.0.1.1 Ubuntu
4、禁用 Pango
Pango 是一个着重于国际化的,用于输出和文本渲染的库,但是这个库可能导致 Firefox 等一些程序占用过高的 CPU,所以我们可以禁用它。
编辑 sudo gedit /etc/environment,添加:
MOZ_DISABLE_PANGO="1"
5、禁用 gettys
打开 sudo gedit /etc/event.d/tty3,把所有以 start 开头的行,用 # 注释掉。
6、安装 preload
可以把一些常用到的 lib 库和应用程序预加载到内存,以提高程序的启动速度。
sudo apt-get install preload
7、设置 swappiness
减少系统对于 swap 频繁的写入,将加快应用程序之间的切换,有助于提升系统性能。
系统默认为 60,你可以修改为 10:
sudo sysctl vm.swappiness=10
如果要让它开机自动设定,编辑 sudo gedit /etc/sysctl.conf 文件,加入:
vm.swappiness=10
8、使用 grub 的 profile 选项
grub 有个叫做 profile 的选项,它是一种系统启动时所要读取的所有的文件的索引,这样使得随后系统查找并且读取这些文件的速度就会加快。
在开机进入 grub 画面时按 esc 键,然后找到需要启动的内核,按 e 键,编辑启动参数,在后面加入 profile 后再按 b 进行启动。设置后,第一次开机需要建立索引,所以开机速度会慢一点,以后每次更新内核都需要这么做。
9、使用 sysv-rc-conf 关闭不必要的服务.
                               
                                HowTo: Speed up ubuntu boot process - the way you can feel it. - updated
                       
                                          
                       
               
               
               
                This
HowTo is for those who complaint ubuntu boot-up speed is pretty slow
but not willing to install any alternative tools to speed up. The way I
use here is not the altimate solution by any means but it does make
differences and it does work. Everything done below is by tuning the
boot process itself and because everyone's computer might be different,
there is a little risk that something below might break your system.
Take your own judgment before you perform a change and always good to
do a backup for the /etc dir.
[color="Red"]**This HowTo is mainly for laptops and desktops, not for servers.**
Due to Ubuntu Edgy Eft (6.10) is using upstart to manage the init
process and it already has reducing boot time built in mind, many
things have been changed. This thread is mainly for any ubuntu version
older than 6.10. For how to customize upstart, please refer to upstart
threads in this forum. The following is a very interesting and useful
WiKi on how to further speed up the boot process by taking out some
useless bootup/shutdown processes...

wiki.ubuntu.com/Teardown
[color="Red"]Suggestions for this HowTo:
1. I hope you learn something from here but not just a simple copy. So
please, **DO NOT** follow exactly what I did and copy to your box. Read
the descriptions of services and use your own judgment to determine if
you need to keep them on or not. For instance, I turned GDM off on mine
to boot to console, but if you do not feel confortable to see console
at all, you should keep GDM or KDM on to boot directly to GUI.
2. If you have a question about a boot up service and not really sure
what it does, post a question here and see if anybody can help you. Ask
before you do if you don't know. The bottom line to be safe is to leave
a service on rather than turn it off if you do not understand.
3. If you see a boot up service that you have but not in here, let us
know what it does just like what I did here - give some descriptions
and suggestions on whether it should be on or off on a normal laptop or
desktop environment.

Color reference : [color="SeaGreen"]service I turned on
                  [color="Red"]service I turned off
Screen shots contrib'ed by domino for the initial
bootup settings. A great reference for those who mess up on
runlevels... Thanks!!

Page 1:

Page 2:

I. Install a tool - sysv-rc-conf. It is a perl based boot process adjustment tool.
        Code:
        sudo apt-get update
sudo apt-get install sysv-rc-conf
It gives you a way to esaily config the boot process and runlevel
configuration, but its not necessary if you want to do it manually by
linking/unlinking the files... Its up to you.
II. Ok, that's all we need. Now let's fire it up by
        Code:
        sudo sysv-rc-conf
and analyze each service one by one. **Note:** Some services I
have here you might not have, perfectly ok. If some you have but I
don't, then you will need to investigate on your own or ask here... But
this HowTo should cover most of them...
Throw a littel bit of runlevel knowledge here before we start messing
them up.... All the boot processes are executed in sequence as
following:
runlevel S: the first runlevel in boot process. /etc/init.d/rcS script
will be invoked to start and all the processes underneath /etc/rcS.d
will be executed.
runlevel 1: the single user mode. All processes underneath /etc/rc1.d will be executed.
runlevel 2,3,4,5: in debain system, the multi-user env, may not may not
include GUI. The same, processes under each of the corresponding dirs
will be run. **Note** this is different than RedHat, SuSE, and other
RPM based systems.
runlevel 0: computer shutdown.
runlevel 6: computer reboot.
ok, back to sysv-rc-conf:
1. [color="SeaGreen"]acpi-support  - You'd better leave it on the default runlevel. The default is 2,3,4,5.
2. [color="SeaGreen"]acpid
- The acpi daemon. These two are for power management, quite important
for laptop and desktop computers, so leave them on. The default is
2,3,4,5
3. [color="Red"]alsa - If you use alsa
sound subsystem, yes leave it on. But if you have the service below,
its safe to be off. The default is off when alsa-utils is on.
4. [color="SeaGreen"]alsa-utils
- On my system, this service supercedes the alsa, so I turn off the
alsa and turn this on at S level. **Note**, I mean "turn off" is to
remove all "X" at all runlevels. If you don't have it on your system,
no problem. Just keep going. The default is S runlevel.
5. [color="Red"]anacron
- A cron subsystem that executes any cron jobs not being executed when
the time is on. Most likely you've probably turned your computer off
when a certain cron job time is ready. For example, updatedb is
scheduled at 2am everyday, but at that moment, you computer is off,
then if anacron service is on, it will try to catch up that updatedb
cron... I turn it off cause it didn't turn my laptop off very offen,
but its totally up to you for this one. The default is 2,3,4,5
6. [color="Red"]apmd
- This is the one that confused me a quite bit. I have acpid on already
and what's the benefits of having apmd on too? If you computer is not
that old which can't even support acpi, then you may try to turn this
off. I did anyway. The default is 2,3,4,5
7. [color="Red"]atd - like cron, a job scheduler. I turned it off. The default is 2,3,4,5
8. [color="SeaGreen"]binfmt-support - Kernel supports other format of binary files. I left it on. The default is 2,3,4,5
9. [color="Red"]bluez-utiles - I turned it off. I don't have any bluetooth devices. The default is 2,3,4,5
10. [color="SeaGreen"]bootlogd - Leave it on. The default is S.
11. [color="SeaGreen"]cron - Leave it on. The default is 2,3,4,5
12. [color="Red"]cupsys - subsystem to manager your printer. I don't have so I turned it off, but if you do, just leave it on. The default is 2,3,4,5
13. [color="SeaGreen"]dbus - Message bus system. Very important, leave it on. The default is 2,3,4,5
14. [color="Red"]dns-clean - Mainly for cleaning up the dns info when using dial-up connection. I don't use dial up, so I turn it off. The default is S.
15. [color="Red"]evms -  Enterprise Volumn Management system. I turned it off.  The default is S.
16. [color="Red"]fetchmail - A mail receving daemon. I turned it off. The default is 2,3,4,5
17. [color="SeaGreen"]gdm
- The gnome desktop manager. I turned it off anyway since I get use to
boot to console first. This is up to you if you want to boot directly
to GUI. The default is 2,3,4,5
18. [color="Red"]gdomap
- Actually I have no idea why this one should on. I didn't see any
other systems have this daemon, so I turned it off and I don't feel I
lose anything. Any benefits to have it on a loptop or desktop? The
default is 2,3,4,5
19. [color="SeaGreen"]gpm -
Mouse support for console. If you feel you'd better have a mouse on
console, go turn it on at runlevel 1 and 2. That's all you need. The
default is 2,3,4,5
20. [color="SeaGreen"]halt - Don't change it. The default is 0.
21. [color="SeaGreen"]hdparm
- tuning harddisk script. I removed the 2,3,4,5 runlevel but add it to
S runlevel. I feel that opening DMA, 32bit I/O, etc eariler will
benefit the rest of the processes. Also I changed the original script
to a very simple one that I made myself. I feel useless to put all
those redundant checks if I know what I am doing. The configuration
file is /etc/hdparm.conf. The default is 2,3,4,5
22. [color="SeaGreen"]hibernate - If your system support hibernate, leave it on. Otherwise, its useless for you. The default is S.
23. [color="Red"]hotkey-setup
- This daemon setup some hotkey mappings for Laptop. Manufacturers
supported are: HP, Acer, ASUS, Sony, Dell, and IBM. If you have a
laptop in those brands, you can leave it on, otherwise, this might not
have any benefits for you. The default is 2,3,4,5
24. [color="Red"]hotplug and hotplug-net
#activating hotplug subsystems takes time. I'd consider to turn them
off. I did some changes in my /etc/network/interfaces file. Instead of
mapping my wireless card during hotplug process, I set it up to auto.
So I can turn them off. I've tested even I turned them off, ubuntu can
still detect my usb driver, my digital camera, etc. So I think its
pretty safe to turn them off. **Note** If
you find your sound card doesn't work after turning hotplug service
off, you can turn it back. Or edit /etc/modules file to add your sound
card's driver module.
Tested out the later one is faster. The default is S.
25. [color="Red"]hplip - HP printing and Image subsystem. I turned it off. The default is S.
26. [color="Red"]ifrename
- network interface rename script. Sounds pretty neat but I turned it
off. Mainly for managing multiple network interfaces names. Since I
have a wireless card and an ethernet card, they all assigned eth0 and
ath0 from kernel, so its not really useful for me. The default is S.
27. [color="SeaGreen"]ifupdown and ifupdown-clean
- Leave it on. They are network interfaces activation scripts for the
boot time. ifupdown default is 0,6,S and ifupdown-clean is S.
28. [color="Red"]inetd or inetd.real
- take a look your /etc/inetd.conf file and comment out any services
that you don't need. If there aren't any services there, then its very
safe to turn them off. The default is 2,3,4,5
29. [color="SeaGreen"]klogd - Leave it on. The default is 2,3,4,5
30. [color="SeaGreen"]laptop-mode - A service to tweak the battery utilization when using laptops. You can leave it on. The default is 2,3,4,5
31. [color="SeaGreen"]linux-restricted-modules-common
- You need to see if you really have any restricted modules loaded on
your system. Since I need madwifi ath_pci module, so I left it on. The
restricted modules can be found from /lib/linux-restricted-modules. If
you find that you are not using any of the restricted modules, then its
ok to turn it off. The default is 0,6, and S.
32. [color="Red"]lvm - I don't use it so I turned it off. Leave it on if you *DO* have lvm. The default is S.
33. [color="SeaGreen"]makedev - Leave it on. The default is 2,3,4,5
34. [color="Red"]mdamd - Raid management tool. I don't use it so I turned it off. The default is 2,3,4,5
35. [color="Red"]mdamd-raid - Raid tool. If you don't have Raid devices, turn it off. The default is S.
36. [color="SeaGreen"]module-init-tools
- Load extra modules from /etc/modules file. You can investigate your
/etc/modules file and see if there is any modules that you don't need.
Normally, this is turned on. The default is S.
37. [color="SeaGreen"]mountvirtfs - mount virtual filesystems. Leave it on. The default is S.
38. [color="SeaGreen"]networking
- bring up network interfaces and config dns info during boot time by
scaning /etc/network/interfaces file. Leave it on. The default is 0,6,S
39. [color="SeaGreen"]ntpdate
- Sync time with the ubuntu time server. The default is S. QUOTED: "If
you are dual-booting with Windows, it is probably a good idea to leave
ntpdate on. Windows can only deal with the hardware clock set to local
(not UTC) and Linux needs ntpdate to correct this, otherwise your clock
will increase an hour everytime you boot into Linux from Windows." [color="blue"]Thanks dejitarob for the update!! I don't have dual boot, so I turned it off, but if you have multiple systems, suggestion is to turn it on.
40. [color="Red"]nvidia-kernel
- I compiled the nvidia driver by myself, so its useless for me now. If
you use the ubuntu nvidia driver from the restrict modules, just leave
it on. The default is 1,2,3,4,5
41. [color="SeaGreen"]pcmcia
- Active pcmcia device. I changed it to start on 0,6,S runlevel instead
of on each 2,3,4,5 cause I feel its better to have hardware device
ready at first. Also, useless if you are using desktop which doesn't
have pcmcia card. So in that case, turn it off please. The default is
2,3,4,5
42. [color="Red"]portmap - daemon for
managing services like nis, nfs, etc. If your laptop or desktop is a
pure client, then turn it off. The default is 2,3,4,5,0,6,S
43. [color="SeaGreen"]powernowd
- client to manage cpufreq. Mainly for laptops that support CPU speed
stepping technology. Normally, you should leave it on if you are
configuring a laptop, but for desktop, it might be useless. The default
is 2,3,4,5
44. [color="Red"]ppp and ppp-dns - Useless to me. I don't have dial-up. The default for ppp is 2,3,4,5 and pppd-dns is S.
45. [color="Red"]readahead - [color="blue"]**Thanks mr_pouit!**
It seems readahead is a kind of "preloader". It loads at startup some
libs on memory, so that some programs will start faster. But it
increases startup time for about 3-4 seconds. So, you can keep it... or
not . **update**, I tested and I just didn't feel difference loading
programs. So I decided to turn it off. If you have a reason to keep it
on, please do so. The default is S
46. [color="SeaGreen"]reboot - Don't change it. The default is 6
47. [color="SeaGreen"]resolvconf - Automatically configuring DNS info according to your network status. I left it on. The default is S.
48. [color="Red"]rmnologin - Remove nologin if it finds it. It wouldn't happen on my laptop, so I got rid of it. The default is 2,3,4,5
49. [color="Red"]rsync - rsync daemon. I don't use it on my laptop, so turned it off. The default is 2,3,4,5
50. [color="SeaGreen"]sendsigs - send signals during reboot or shutdown. Leave it as it is. The default is 0,6
51. [color="SeaGreen"]single - Active single user mode. Leave it as it is. The default is 1
52. [color="SeaGreen"]ssh - ssh daemon. I need this so I turned it on. The default is 2,3,4,5
53. [color="SeaGreen"]stop-bootlogd - stop bootlogd from 2,3,4,5 runlevel. Leave it as it is. The default is 2,3,4,5
54. [color="Red"]sudo
- check sudo stauts. I don't see any good to run it everytime on a
laptop or desktop client, so I turned it off. The default is S
55. [color="SeaGreen"]sysklogd - Leave it as it is. The default is 2,3,4,5
56. [color="SeaGreen"]udev and udev-mab - Userspace dev filesystem. Good stuff, I left them on. The defaults are all S runlevels.
57. [color="SeaGreen"]umountfs - Leave it as it is. The default is 0,6
58. [color="SeaGreen"]urandom - Random number generator. Might not useful but I left it on. The default is 0,6,S
59. [color="Red"]usplash
- Well, if you really want to see the nice boot up screen, leave it as
it is. I just turned it off anyway. If you want to turn it off, you
also need to edit /boot/grub/menu. lst file to comment out the
splashimage line and get rid of the splash kernel boot option. The
default is 2,3,4,5
60. [color="SeaGreen"]vbesave - video card BIOS configuration tool. Its able to save your video card status. I left it on. The default is 2,3,4,5
61. [color="SeaGreen"]xorg-common
- setup X server ICE socket. I moved it from starting at runlevel S to
runlevel 2,3,4,5. Since I don't need this if I boot to single user
mode. This way it wouldn't occupy time during the initial booting. The
default is 2,3,4,5
============ My bootup services end up here============
============ Some services from others================
62. [color="Red"]adjtimex
- This is a kernel hw clock time adjusting too. Normally, you shouldn't
see this on your boot up list. In very rare case if you do see its on
your boot up process, then there might be a reason why it is on, so
better leave it that way. In my case, it is off.
63. [color="Red"]dirmngr
- A certification lists management tool. Work with gnupg. You will have
to see if you need it or not. In my case, I turned it off. Default
runlevel 2,3,4,5
64. [color="Red"]hwtools - A tool to optimize irqs. Not sure what's the benefits of turning it on. In my case, I turned it off.
65. [color="SeaGreen"]libpam-devperm - A daemon to fix device files permissions after a system crash. Sounds pretty good, so I left it on.
66. [color="Red"]lm-sensors
- If you matherboard has builtin some sensor chips, it might be helpful
to see hw status via userspace. I ran it and it said "No sensors
found", so I turned it off.
67. [color="SeaGreen"]screen-cleanup  - A script to cleanup the boot up screen. Well, turn on or off is up to you. In my case, I left it on. The default is S
68. [color="Red"]xinetd
- A inetd super daemon to manage other damons. In my system, the xinetd
is managing chargen, daytime, echo and time (find them from
/etc/xinetd.d dir), I care none of them, so I turned it off. If you do
have some important services configured under xinetd, then leave it on.
III. Alter the /etc/inittab file
        Code:
        vi /etc/inittab
then comment out tty4,tty5, and tty6. Just leave tty1, tty2, and
tty3. Three vts should be enough for a laptop or desktop user. Save the
file.
IV. Ok, now, we can reboot our box and see how it goes. From what I've
tested, before I got tons of services stopped, the whole process is
about 85 secs to 90 secs to boot to console. (At that time, I also has
samba and nfs services turned on which I shouldn't. Apparently, I
turned them off too). After this change, the whole boot up process took
about 50 secs. I have a P4M 1.8G CPU laptop. Some of the high-end
desktops or laptops should take even less time.
[color="Red"]**UPDATE**: speed up/clean system reboot or shutdown process.
1. start sysv-rc-conf by issuing:
        Code:
        sudo sysv-rc-conf
2. ok, open your eyes and look very carefully for those [color="red"]SERVICES THAT DO NOT HAVE A "X" ON ANY RUNLEVELS (Any runlevel means 1,2,3,4,5,6, and S), write them down one by one. Don't make mistakes here. Double check after you've done. [color="blue"]Thanks ice60 for wording recommendation!
3. quit sysv-rc-conf.
4.
        Code:
        cd /etc/rc0.d
- This is for the system shutdown process.
5. ok, now,
        Code:
         ls K*
will list all links starting from UPPERCASE letter "K". Compare
with your list, change each of the filename containing the service name
in your list to start from a lowercase "k". For example, in your list,
you have ppp service (which means ppp is turned off at all runlevels),
then you can do like:
        Code:
        sudo mv K00ppp k00ppp
. You just change the UPPERCASE K to lowercase k, keep the rest the same. Do this on all of the services in your list.
6.
        Code:
        cd ../rc6.d
- This is for the system reboot process.
7. ok, you should see similar things here too. So do the same thing here as you did on rc0.d.
8. Now, you reboot and shutdown process should be cleaned up and faster.
The explanation for what you did is pretty simple. The /etc/rc and
/etc/rcS scripts run start on each link on each runlevel by scaning if
it is starting with a UPPERCASE "S" and run stop on each by scaning if
it is starting with a UPPERCASE "K". So for reboot and shutdown
runlevels, the most thing we care is the "K" links cause for those
services not running on all runlevels, its just not needed to stop
them. They are not runing at all. If some day you want to turn some of
the services back on, just change the lowercase "k" to UPPERCASE "K".
That's all.
Anyway, it is not intend to work on servers, but I did try on one of my
servers has 2.7G P4 and 1.5G mem. It brought the boot process down to
31 secs. I calc'ed it with my watch. Besides, this is with my ftp
server and nfs server started on boot time.
[color="Red"]**Note**
For all of those that having HAL failure problem, try this:
1. change acpi-support from S to 2,3,4,5
2. change acpid from S to 2,3,4,5
3. change dbus from S to 2,3,4,5
4. Reboot. Go to the console and do
        Code:
        ps -aef|grep hald
. If hald service is up, then your dbus subsystem is running fine now. Try it.
[color="blue"]Great comments added by bodhi.zazen. Thanks!!
First we should make sure we are left with a bootable system and have backups.
Since we are changing our boot process:
Step 1- Make a bootable GRUB floppy.
http://www.linuxjournal.com/article/4622
Step 2- Backup
Is there any need to back up more then menu.1st, /etc/init.d, /etc/rcS.d, and /etc/rc*.c ( *= 0,1,2,3,4,5,6)?
mkdir /~/bakup.files
sudo cp -P /etc/init.d /~/backup.files
sudo cp -P /boot/grub/menu.1st /~/backup.files
sudo cp -P /etc/rc*.d /~/backup.files
Although a backup of /etc is nice, is it not overkill for this exercise?
Setp 3- Know you Ubuntu Root device (hda1, hdb1, hda2,) and kernel (the numbers in "vmlinuz").
Location of kernel is /boot
Step 4- Modify runlevels.
DO NOT MODIFY DEFAULT RUN LEVELS 0,1, OR 6
MODIFY ONLY 1 RUN LEVEL AT A TIME
RUN LEVEL "S" IS RUN AT EACH RUN LEVEL PRIOR TO OTHERS
ie as system boots (at default) the scritps in rcS.d are run first, then rc2.d
Therefore, if you disable a script in "S", enable the script in runlevel 2
This should guarantee your system will remain bootable to the default run level (2)
In Ubuntu the default run level is 2
Modify only 1 test run level at a time. Choose a custom run level (I
will use 3 for the rest of this post, you can use 3,4, or 5).
After modifying the runlevel test without re-booting
sudo init 3
This will change to run level 3
Now check your system.
Problems? Return to default run level and re-configure run level 3
sudo init 2
No problem -> Boot from floppy
No problem, boot from floppy.
When booting (from diskette) to the default run level, the "kernel" line looks like:
kernel=/boot/vmlinuz-2.6.8.1-3-386 root=/dev/hda1 ro quiet splash
In menu.1st this looks like this:
kernel /boot/vmlinuz-2.6.8.1-3-386 root=/dev/hda1 ro quiet splash
To boot to run 3 (from GRUB diskette), add a "3" at the end of the line
kernel=/boot/vmlinuz.... root=/dev/..... ro quiet splash 3
Note: the number 3 was added at the end (without quotes)
time boot process.
If OK boot again from floppy (to default run level)
kernel=/boot/vmlinuz..... root=/dev/....
Note: no number 3 at the end of this line
time boot process
This is the default boot and you can measure any time savings.
booting from a floppy to compair apples to apples
If OK you can now change the default run level (or not)
There is more then 1 way to do this
My preferance is to leave the default runlevel unmodified
This leaves the default boot process as a future referance
Change the default boot level
sudo nano /boot/grub/menu.1st
add init=3 to end of line
kernel /boot/vmlinuz-2.6.8.1-3-386 root=/dev/hda1 ro quiet splash 3
Or create 2 Ubuntu titles, one for each run level.
OR
Edit /etc/inittab
Step 4- Modify shutdown scripts if desired.
This process should guide users through a logical process of modifying
boot scripts without generating a non-bootable system. Backups were
made "just in case" but really should not be needed.
               
               
               

本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u1/38576/showart_415907.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP