益友网(http://www.1uu2.com) 做linux用户的良师益友、linux操作系统命令教程

在Linux操作系统下进行网通拨号问题解决

发表于 2008-07-03 22:41 浏览次数:672 次

安装wine这个软件。新建一个ADSL连接,进入防火墙,在可信任接口上PPP+上打勾。
进入超级终端,cd ~/.wine
ls

cd wine

ls

cd drive_c

cd Program Files

cd PPOE CLient

ls

wine ishare .exe
进入网络,激活对应网络连接即可。
问题:yum 命令用后,提示 Another app is currently holding the yum lock; waiting for it to exit…
解决:可能是系统自动升级正在运行,所以yum被锁定了。
可以通过执行rm -rf /var/run/yum.pid 来强行解除锁定,然后yum就可以运行了。

作者:korn

关键字: , | 分类: Linux技巧 | 评论数: 0 | 阅读全文

解决Linux操作系统不能启动问题

发表于 2008-06-28 20:49 浏览次数:596 次

如果在一台计算机上同时装有Windows操作系统和Linux操作系统的多重引导的机器上,当Windows操作系统由于错误或者其他原因而崩溃,而没有对Windows操作系统进行备份的情况下,就要重装Windows操作系统,重装后的结果是Linux操作系统不能启动,只有Windows操作系统能正常启动,这时该怎么办呢?不要着急,下面我将自己摸索的一点经验向大家介绍。
从理论上来说,解释这种情况十分简单。在一般情况下,是由GRUB引导加载程序来对机器进行引导的,然后由用户来选择启动哪个操作系统。当重装Windows操作系统时,Windows显的有些不尽情面,把非Windows操作系统的引导加裁程序覆盖掉,让其他的操作系统无法启动,只能启动Windows操作系统。而GRUB则不同,他能保留操作系统的引导加裁程序。所以只要重新安装GRUB引导加裁程序,就能实现多重引导。
第一步 找到Linux操作系统的安装光盘,如果是CD-ROM光盘,用第一张光盘,如果是DVD光盘,则用此张光盘,把光盘插入光驱。
第二步 重新启动机器,按“del”键进入CMOS进行修改,让机器首先从CDROM进行引导。
第三步 当看到最下面一行出现“boot:”时,键入“linux rescue”并铵回车键。
第四步 出现一个对话框,要求你选择语言时,你可以选择中文也可以english,我是选择的english,选择一种语言后,按回车键。
第五步 马上出现一个对话框,要求选择键盘类型,一般默认的是“us”,直接按回车。
第六步 接下来会出现一个对话框,要求你选择是否在你的系统上打开网络接口,一般选择“NO”,按回车。
第七步 接下来出现的一个对话框有“Continue“、”Read-only“、”Skip”三个选择,这个对话框默认的是“Contiune”选项,这是一般是不需要用户选择的,直接按回车。
第八步 最后出现一个对话框时,直接按回车。但是你要仔细看上面的文字,那是教你如果进行下一步的提示。
第九步 当你看到“SH-3.00#“命令提示符时,键入“chroot /mnt/sysimage”,回车。
第十步 这时你键入“grub-install /dev/had”,回车,这时,GRUB引导加载程序已经完成安装。
第十一步 键入“reboot”,重新启动机器,当机器进行自检时,取出光盘。至此,你机器上的多重引导已经恢复。
上面的步骤是在我机器上实现的,我的机器上装的是Windows XP sp2版的操作系统和RHEL AS4操作系统,在不同的机器上可能有不同的系统,我的机器上以前也装过不同的系统,但一般都大同小异,只要具体问题具体分析,只要掌握了最基本的原理,再加上仔细观察、仔细分析,就会十分游刃有余的解决一些问题。 

作者:korn

关键字: , | 分类: Linux技巧 | 评论数: 0 | 阅读全文

如何在Linux操作系统下观看电视节目

发表于 2008-06-28 09:44 浏览次数:756 次

下面是一段shell脚本拷贝到path 路径下运行即可,原版本来自何勃亮,我增加了提示功能方便输入.

#! /bin/sh
case $1 in

cctv0 ) mplayer mms://live.cctv.com/livenews > /dev/null & ;;

cctv1 ) mplayer mms://live.cctv.com/live11 > /dev/null & ;;

cctv2 ) mplayer mms://live.cctv.com/live12 > /dev/null & ;;

cctv3 ) mplayer mms://live.cctv.com/live13 > /dev/null & ;;

cctv4 ) mplayer mms://live.cctv.com/live14 > /dev/null & ;;

cctv10 ) mplayer mms://live.cctv.com/live20 > /dev/null & ;;

phtv0 ) mplayer mms://222.47.29.116/litv01 > /dev/null & ;;

phtv1 ) mplayer mms://222.47.29.116/litv03 > /dev/null & ;;

*) echo “please enter ‘tv cctv0′[cctv1 cctv2 cctv3 cctv4 cctv10 phtv0 phtv1] to select differrnt tv channel”

esac 

 来源:51cto    作者:zzy

关键字: , | 分类: Linux常识 | 评论数: 0 | 阅读全文

Linux操作系统下Openoffice安装方法介绍

发表于 2008-06-27 15:42 浏览次数:762 次

来源:赛迪网    作者:sixth

1、展开安装包。OOo_2.2.1_LinuxIntel_install_wJRE_zh-cn.tar.gz
# tar zxvf OOo_2.2.1_LinuxIntel_install_wJRE_zh-cn.tar.gz
资料来源:请从互联网上搜索下载最新版本,或从本光盘上直接下载 OOo_2.2.1_LinuxIntel_install_wJRE_zh-cn.tar.gz
2、安装 Java-runtime 支持包。 jre-6-linux-i586.rpm
# cd OOFOOF680_m18_native_packed-1_zh-CN.9161/RPMS
# rpm -ivh jre-6-linux-i586.rpm
注意事项:这个过程可以之前就已经安装好的jre-runtime的不需要再安装。
3、安装所有 OpenOffice 组件
# rpm -ivh openoffice*.rpm
注意事项:应切记千万不可单个软件包安装,否则就一定会陷入死循环的怪圈
4、安装 OpenOffice 桌面控制台 desktop-integration
# cd desktop-integration
# rpm -ivh openoffice.org-redhat-menus-2.2-9153.noarch.rpm
注意事项:安装这个桌面配置环境的时候,应注意根据自己的系统选择合理的配置文件包。
如:我的系统是 RHEL/5 ,所以我选择的软件包是 openoffice.org-redhat-menus-2.2-9153.noarch.rpm。

三十种Linux操作系统发行版名称含义详解

发表于 2008-06-26 21:33 浏览次数:685 次

        独特的开发模式造就了今天百家争鸣的Linux,各个发行版的名字都代表哪些含义呢?下面是一些常用的版本,感兴趣的朋友一起来看:

  1-Ubuntu
  这或许是今天最常见的一个Linux发行版了,Ubuntu是一个南非的民族观念,着眼于人们之间的忠诚和联系。该词来自于祖鲁语和科萨语。大意是“人道待人”(对他人仁慈)。另一种翻译是:“天下共享的信念,连接起每个人”。

  2-PCLinuxOS
  很明显它的名称是PC+Linux+Operating System组合在一起,拥有类似Windows的图形用户界面,方便用户从Windows转向Linux。

  3-openSUSE 
  openSUSE由AMD和Novell共同发起,SUSE是德语“Software-und System-Entwicklung”的缩写(software and system development)。另有一说是为了纪念德国计算机工先驱Konrad Zuse。

  4-Fedora
  Fedora由Red Hat发起,正是Red Hat标志中人物所戴的那顶帽子。

  5-Mandriva 
  在以前称为Mandrake,并由MandrakeSoft公司进行维护。当MandrakeSoft输掉了与Hearst Corporation争夺Mandrake名称的官司,并收购了Connectiva后,名称变为了Mandriva。

  6-Sabayon
  一种意大利甜点,也叫Zabaglion,用蛋黄、糖等原料烹饪而成。  

  7-Debian
  这个名字是Ian Murdock在1998年取的,由当初是女朋友现在是妻子的Debra和他的名字混合而来。

  8-Damn Small Linux
  像它的名字所说那样,这个Linux发行版体积只有50MB。

  9-MEPIS
  根据创始人Warren Woodford所说,这个名字最初没有任何含义,只是由于朋友在Skype上误听得来的名字。

  10-CentOS
  CentOS基于Red Had Enterprise Linux(RHEL),代表Community Enterprise Operationg System。

  11-Dreamlinux
  这是一个巴西的Linux发行版,基于Debian,外观类似苹果的Mac OS X,名字就像介绍中说的那样。

  12-Puppy Linux
  一种小型的Live CD系统,目标是简单易用,吉祥物是墨西哥小狗吉娃娃。

  13-Kubuntu
  KDE + Ubuntu的产物

  14-Zenwalk
  有禅意的名字,不过根据创始人JP Guillemin所说,这个名字是从发音和含义两个方面模仿Neststep操作系统所起。

  15-Slackware
  创始人是Patrick Volkerding,最初是个人项目,这个名字借用自Church of the SubGenius中的术语 “Slack”。

  16-Knoppix
  著名的Live CD发行版,基于Dedian,创始人是Klaus Knopper并以此命名。

  17-Gentoo
  Gentoo是一种体形小巧的企鹅,据说是企鹅中游泳速度最快的一种。

  18-Slax
  一种基于Slackware的live CD发行版,它的名称并没有特别含义。

  19-Sidux
  基于Debian尚不稳定,代号“Sid”的一支,名称来自玩具总动员中的角色Sid Phillips。

  20-Ubuntu Studio
  Ubuntu的派生,以多媒体应用为主。

  21-Xubuntu
  XFCE + Ubuntu的产物

  22-Foresight
  Foresight使用Conary作为包管理器,据称,不像大多数发行版一年两次升级那样,它采用滚动升级的方式。

  23-Red Hat
  创始人之一的Bob Young为您解释其中含义。

  24-OpenGEU
  OpenGEU最初称为Geubuntu,使用Gnome和Enlightenment作为桌面管理器。

  25-Elive
  从图标中也可以看出这同样是一款采用Enlightenment作为窗口管理器的发行版,它是基于Debian的Live Cd。

  26-Freespire
  微软2千万美元买下了“Lindows”这个名字后,Lindows更名为Linspire,Freespire是基于Linspire的源码的Live CD版本。

  27-Fluxbuntu
  又是Ubuntu的派生版,采用Fluxbox作为窗口管理器。

  28-Xandors
  X代表X Windows系统,Andros是希腊的岛名。

  29-TinyME
  是PCLinuxOS的一个轻量级版本,所以称为Tiny。

  30-gOS
  同样也是一个基于Ubuntu的版本,以集成了众多Google程序而闻名。不过这里的“g”并不是代表Goolge,也不是Green,而是代表它背后的Good OS LLC公司。

Linux操作系统中LumaQQ软件的安装及配置

发表于 2008-06-19 15:47 浏览次数:1,622 次

  先去下载咯,一定要下载最新带JRE版本,我现在用2005都不太好用,所以一直在等2006的正式版,如果使用2005,请千万下载PATH,因为没这个下载好友列表的时候就过不去了!

  下载一 2006版

  第二步就开始安装了:直接在桌面上点击,选择解压到某个目录,然后把把PATCH 解压出来的所有jar文件拷贝到LumaQQ的lib目录下覆盖原文件,最后是在桌面上建立个启动项,这个嘛就是桌面点右键选择新建启动项(不同版本不同桌面会叫不同的名字)然后选择个图标,连接上解压目录里的LUMAQQ启动程序就可以了!简单吧。

  注意:
  1、如果你的系统是Mac OS X,那么这个lib目录是在”LumaQQ安装目录/LumaQQ.app/Contents/Resources/lib”

  2、如果出现权限问题或者NoClassDefFoundException,使用chmod -R 777 [安装目录]更改权限

  很多朋友的机器上都安装了Linux,并且想在Linux环境中使用QQ。下面就将本人在Red Hat 9.0上配置QQ的成功经验共享出来。

  选择QQ软件
腾迅公司并没有推出专门应用于Linux下的QQ软件,但是已经有很多自由软件或插件支持在Linux下使用QQ。这些软件都可以在Internet上获得,常用的有Gaim+OpenQ、Gaim+libqq和LumaQQ等。以下链接可以分别获得这些软件:

  Gaim网址为http://gaim.sourceforge.net/downloads.php

  Libqq网址为http://zd.linux.com.cn

  OpenQ网址为http://openq.linuxsir.org/cgi-bin/wiki/moin.cgi/_cf_c2_d4_d8

  LumaQQ网址为http://linad.8866.org/share/Linux_Software/¿Í»§¶Ë/lumaqq-0.1b.tar.bz

  Gaim+libqq和Gaim+OpenQ都是在Gaim中添加QQ插件,所以必须注意Gaim与QQ插件的版本对应关系。

  Gaim与libqq的版本对应关系举例如下:
  libqq-0.0.1-0.48.so适用于Gaim 0.48、0.49;
  libqq-0.0.1-0.50.so适用于Gaim 0.50;
  libqq-0.0.1-0.51.so适用于Gaim 0.51、0.52;
  libqq-Gaim-0.48-qq.patch适用于Gaim 0.48、0.49 0.50;
  libqq-Gaim-0.51-qq.patch适用于Gaim 0.51、0.52。

  Gaim与OpenQ的对应关系请参看http://openq.linuxsir.org/cgi-bin/wiki/moin.cgi/_cf_c2_d4_d8

  安装QQ
  在Linux上安装软件有Tarball和RPM两种方式,Tarball是类Unix操作系统中常见的安装方式;RPM(Red Hat Package Manage)是Red Hat公司推出的包管理方式,这是一种非常不错的管理方式,但是有时候会遇到一些依赖关系的问题。

  用Tarball方式安装
以一个包含了libqq插件的Gaim包gaim-cvs-0218-qq-0.2.5.tar.gz为例,使用下列命令安装(不推荐使用root权限安装):

  $ tar zxvf gaim-cvs-0218-qq-0.2.5.tar.gz

  $ cd gaim-cvs-0218-qq-0.2.5 $

  ./configure –prefix=/home/foo/bin/local/gaim && make &&make install

  $ cd ~/bin

  $ ln -s /home/foo/bin/local/gaim/bin/gaim gaim

  “./configure–prefix=/home/foo/bin/local/gaim”指定了软件安装的目录是/home/foo/bin/local/gaim。

  “&&”的作用是前一个命令成功执行后才执行后面的命令。这与使用“;”是有区别的,“;”的作用是分别执行两边的命令,不论前一个命令是否执行成功。

  注意,如果系统中已经安装了Gaim,就需要编辑.bash_profile文件,修改“PATH”为“PATH=$HOME/bin:$PATH”,然后执行source .bash_profile命令。

作者:sixth

Linux操作系统下目录创建与删除常用方法

发表于 2008-06-13 00:03 浏览次数:1,051 次

Linux 系统用户账号管理的基本操作命令   应该不陌生了吧,现在来学学Linux操作系统下目录创建与删除常用方法  

mkdir命令

功能:创建一个目录(类似DOS下的md命令)。
语法:mkdir [选项] dirname
说明:该命令创建由dirname命名的目录。要求创建目录的用户在当前目录中(dirname的父目录中)具有写权限,并且dirname不能是当前目录中已有的目录或文件名称。
命令中各选项的含义为:

- m 对新建目录设置存取权限。也可以用chmod命令设置。
- p 可以是一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不存在的目录,即一次可以建立多个目录。
例如:在当前目录中建立inin 和inin下的/mail目录,也就是连续建两个目录。
$ mkdir – p – m 700 ./inin/mail/
该命令的执行结果是在当前目录中创建嵌套的目录层次inin /mail,权限设置为只 有文件主有读、写和执行权限。
rmdir 命令

功能:删除空目录。
语法:rmdir [选项] dirname
说明:dirname表示目录名。该命令从一个目录中删除一个或多个子目录项。需要特别注意的是,一个目录被删除之前必须是空的。(注意,rm – r dir命令可代替 rmdir,但是有很大危险性。)删除某目录时也必须具有对父目录的写权限。
命令中各选项的含义为:
- p 递归删除目录dirname,当子目录删除后其父目录为空时,也一同被删除。如果整个路径被删除或者由于某种原因保留部分路径,则系统在标准输出上显示相应的信息。
例如:

$ rmdir – p /usr/xu/txt 将/usr/xu/txt目录删除。
改变工作目录、显示目录内容命令
cd 命令

功能:改变工作目录。
语法:cd [directory]
说明:该命令将当前目录改变至directory所指定的目录。若没有指定directory,则回到用户的主目录。为了改变到指定目录,用户必须拥有对指定目录的执行和读权限。
该命令可以使用通配符(通配符含义请参见第十章)。
例如:假设用户当前目录是:/home/xu,现需要更换到/home/xu/pro目录中,
$ cd pro 此时,用户可以执行pwd命令来显示工作目录。
$ pwd /home/xu/pro
pwd 命令

在Linux层次目录结构中,用户可以在被授权的任意目录下利用mkdir命令创建新目录,也可以利用cd命令从一个目录转换到另一个目录。然而,没有提示符来告知用户目前处于哪一个目录中。要想知道当前所处的目录,可以使用pwd命令,该命令显示整个路径名。
语法:pwd
说明:此命令显示出当前工作目录的绝对路径。
例:$ pwd /home/xu 显示的路径名为/home/xu,每个目录名都用“/”隔开,根目录以开头的“/”表示。
来源:赛迪网    作者:korn

Linux操作系统源码包安装过程

发表于 2008-06-09 11:15 浏览次数:1,121 次

 上回书说道:Ubuntu 7.10系统下编译安装Pidgin-2.2.2

今天我们来学习:Linux操作系统源码包安装过程  

1. 解压缩包
  可以通过下载或其他方式获得了一个软件包,通常它是一个压缩文件,大部分可能是存档的和压缩的,这些文件一般以 .tar .gz为扩展名。

  首先拷贝它到一个目录,然后 untar 和 gunzip 解压它。 通常这个命令是

  tar xzvf filename [filename 是软件文件名称]

  解压后的文件一般会在当前目录下的创建子目录,并以这个包名来命名。 你也可以用用这个命令预先查看结果 tar tzvf filename,显示包里有那些解压文件。

  源文件如果是新的 bzip2 (.bz2) 格式,可用 bzip2 -cd filename | tar xvf -,或更简单的 tar xyvf filename ,这很不错的tar命令被不断的完善。

  说明:

  A:有时候一些文件必须安装在用户的 home 目录下,或更多的是在一个固定的目录,比如 /, /usr/src, 或 /opt 。所以必须仔细阅读安装包的配置信息。当一个软件包里如果有config 和 Makefiles 文件则最好去编辑它,这里包括了安装指令和说明。提示:你改变 makefile 会导致不同的结果。大部分软件包允许用 make install 自动处理安置二进制文件在适当的系统位置。

  B:你可能碰到过一些共享文件、shell 存档文件、尤其是 Internet 上的源码新闻组。它们保留的原因是具有人性化的可读性,并且允许新闻组缓冲并通过它们筛选和剔除出不合格的。它们可能用 unshar filename.shar 命令来解压。

  C: 一些源码存档文件是用非标准的 DOS,Mac 或其他压缩的比如:zip, arc, lha, arj, zoo, rar, and shk.

  D: 有时候,你可能需要使用一个 patch 或显示改变了的 diff 文件来升级或修复存档的源码文件。这 doc 文件或者 README 文件将告诉你怎么去使用。一个很好的命令用标准语法来调用的命令是 patch < patchfile.

  2.关于 rpm 安装包

  一些 Linux 用户惧怕通过使用源码来手动安装软件包,不过现在有方便的 rpm 和 deb 或 新格式的 slp 包。例如:rpm 安装运行平稳又快,作为一个软件安装在某几个有名的操作系统。

  作为方便的RPM包也存在很多不好的缺点,例如:
  A: 要了解软件中更多更详细的内容你必须去在二进制中去了解,而不是rpm包。

  B: 还有安装一个 rpm 包如果需要依赖关系那么安装就可能会导致失败。

  C: 当 rpm 请求你系统中不同版本的库,那么安装将不能继续,除非你为错误的库位置创建连接符号到正确的位置。

  说明:必须使用root 安装 rpm 和 deb 。因为它需要必须的写入权限。

  最简单的,用命令 rpm -i packagename.rpm 和 dpkg –install packagename.deb 会自动解包和安装。

  3.关于安装 Linux 包出现的一些问题及解决方案

  假设 make 失败有个链接错误: -lX11: No such file or directory,正好在 xmkmf 之后已被调用,这可能意味着 Imake 不能被完全建立。检查第一部分 Makefile 文件的的行是这样:

  LIB= -L/usr/X11/lib
  INCLUDE= -I/usr/X11/include/X11
  LIBS= -lX11 -lc -lm

  这个 -L 和 -I 开关告诉编译器和链接分别在哪里找到 library 和 include 文件。在这个例子里, X11 库应该在 /usr/X11/lib 目录,且 X11 包含文件应该在 /usr/X11/include/X11 目录里。假如对于你的机器上的这个错误,请处理修改 Makefile 并重新再 make。

  没有声明涉及的数学库函数,像下列各项:
  /tmp/cca011551.o(.text+0×11): undefined reference to `cos’

  要修复它,需要明确链接到匹配的库,在 Makefile (看先前的例子) 里增加一个 -lm 到 LIB 或 LIBS 标记 。

  用其他方法尝试
  仍然失败 如果失败,参考下列脚本:
  make -DUseInstalled -I/usr/X386/lib/X11/config

  这个直接方式的类别相当于。

  在少数例子里,用 root 运行 ldconfig 可能会解决:
  # ldconfig 更新共享库链接符号。

  一些 Makefiles 使用你系统里未被承认的库别名。一个例子,构建可能需要 libX11.so.6 ,但是在 /usr/X11R6/lib 不存在文件或链接。然而,在那里是 libX11.so.6.1。解决方法是用 root 运行ln -s /usr/X11R6/lib/libX11.so.6.1 /usr/X11R6/lib/libX11.so.6 ,接着需要运行 ldconfig 。

  有一些包需要你安装一个或更多库的升级版本。需要拷贝一个或更多的库到适当的目录里,删除旧的库,重新设置动态链接库。

  4.一些其他的问题处理

  安装一个shell 脚本如果出现:No such file or directory 的错误消息。这是可以检查文件权限确定文件事可执行的,并检查文件头确定是否 shell 或程序是脚本在指定的位置被调用。一个例子,这个脚本可能是这样开始的:

  #!/usr/local/bin/EDEN

  如EDEN的实际安装位置是在你的 /usr/bin 目录,用一个 /usr/local/bin 替代

  这个脚本不能运行有两个方法来纠正!

  A: 文件头改成 #!/usr/bin/EDEN

  B: 或增加一个链接符, ln -s /usr/bin/EDEN

  5.一个典型的例子 Xloadimage

  首先说明下面的例子来源于国外网站的一个技术实例,这里我做了翻译和整理。

  这个例子展现一个简单的问题。xloadimage 程序对我的图形工具的调整设置是有用的附加。从源码目录拷贝文件,用 tar xzvf 解压文件,可是在运行 make 的时候出现令人讨厌的错误并停止了。

  gcc -c -O -fstrength-reduce -finline-functions -fforce-mem
  -fforce-addr -DSYSV -I/usr/X11R6/include
  -DSYSPATHFILE=\”/usr/lib/X11/Xloadimage\” mcidas.c
  In file included from /usr/include/stdlib.h:32,

from image.h:23,

from xloadimage.h:15,

from mcidas.c:7:

  /usr/lib/gcc-lib/i486-linux/2.6.3/include/stddef.h:215:

  conflicting types for `wchar_t’

  /usr/X11R6/include/X11/Xlib.h:74: previous declaration of

  `wchar_t’

  make[1]: *** [mcidas.o] Error 1

  make[1]: Leaving directory

  `/home/thegrendel/tst/xloadimage.4.1′

  make: *** [default] Error 2

  这个错误消息包含了实质的线索:

  查看 image.h 文件的 23 行:
  #include

  在源码的某处对于 xloadimage, wchar_t 已经在指定标准 include 文件重新定义。 告诉我们首先在 image.h 的 23 行尝试注释它,或许 stdlib.h include 是不存在的,毕竟不是所有都是必需的。

  在这点,构建中的收益来源于所有任何一个致命错误。xloadimage 现在功能正常。

  6.安装 Linux 包的一些总结

  坚持自己动手处理所有的安装出现的问题,不断总结努力学习,从错误里去仔细研究,努力动手排错,从每个不足甚至失败的地方得到扩充和提升,可以增强安装构建软件的技巧。

 来源:赛迪网    作者:sixth

关键字: , | 分类: Linux常识 | 评论数: 0 | 阅读全文

返回首页 | 关于我们 | 联系我们 | 广告合作 | 网站地图 | 友情链接 | 版权声明 |