标签: linux

  • linux-linux top 命令各参数详解

    简介
    top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器。

    top显示系统当前的进程和其他状况,是一个动态显示过程,即可以通过用户按键来不断刷新当前状态.如果在前台执行该命令,它将独占前台,直到用户终止该程序为止. 比较准确的说,top命令提供了实时的对系统处理器的状态监视.它将显示系统中CPU最“敏感”的任务列表.该命令可以按CPU使用.内存使用和执行时间对任务进行排序;而且该命令的很多特性都可以通过交互式命令或者在个人定制文件中进行设定.

    下面详细介绍它的使用方法。

    (更多…)
  • 如何设置Linux时区为东八区

    当我们购买美国VPS或服务器的时候,默认情况下是美国时间。对于我们定时执行某些任务会带来麻烦,所以需要设置时区为东八区。

    登录SSH后,执行tzselect命令。

    我们这里选择亚洲5.

    这里选择china 9。

    一般选东八区(北京,广东,上海),你也可以根据自己的具体情况选择。

    这里要确定一下以上的信息是否为想要设置的信息,选1回车即可。

     

  • 更改 linux 命令行提示符

    编辑/etc/bashrc 此文件
    修改下面这一行中 PS1=”[\u@\h \W]\\$ ” 这一段

     [ “$PS1” = “\\s-\\v\\\$ ” ] && PS1=”[\u@\h \W]\\$ ”

    具体解释如下:

    \u – 当前用户名( =$LOGNAME)
    \h – 运行shell的计算机名(hostname)
    \H – 完整的计算机名
    \W – 当前的工作目录名
    \w – 当前工作目录全路径名
    \$ – 对于普通用户显示$,对于超级用户显示#
    \! – 当前命令的历史编号
    \# – 当前命令编号(在当前的shell下运行的命令)
    \d – 当前日期
    \t – 当前时间(24小时制)
    \T – 当前时间(12小时制 ,bash 2.0有效
    \@ – 当前时间(AM/PM格式),bash 2.0 有效
    \s – shell的类型
    \a – 告警的声音
    \j – 用户的任务数
    \n – 新行
    \\ – 反斜杠
    \[ – 不可打印字符开始标志
    \] – 不可打印字符结束标志
    \nnn – ASCII字符对应八进制数值
    $(date) – date命令(输出当前日期)或者其它的命令输出

  • linux sed命令详解

    1. Sed简介
    sed 是一种在线编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有 改变,除非你使用重定向存储输出。Sed主要用来自动编辑一个或多个文件;简化对文件的反复操作;编写转换程序等。以下介绍的是Gnu版本的Sed 3.02。
    2. 定址
    可以通过定址来定位你所希望编辑的行,该地址用数字构成,用逗号分隔的两个行数表示以这两行为起止的行的范围(包括行数表示的那两行)。如1,3表示1,2,3行,美元符号($)表示最后一行。范围可以通过数据,正则表达式或者二者结合的方式确定 。

    3. Sed命令
    调用sed命令有两种形式:
    *
    sed [options] ‘command’ file(s)
    *
    sed [options] -f scriptfile file(s)
    a\
    在当前行后面加入一行文本。
    b lable
    分支到脚本中带有标记的地方,如果分支不存在则分支到脚本的末尾。
    c\
    用新的文本改变本行的文本。
    d
    从模板块(Pattern space)位置删除行。
    D
    删除模板块的第一行。
    i\
    在当前行上面插入文本。
    h
    拷贝模板块的内容到内存中的缓冲区。
    H
    追加模板块的内容到内存中的缓冲区
    g
    获得内存缓冲区的内容,并替代当前模板块中的文本。
    G
    获得内存缓冲区的内容,并追加到当前模板块文本的后面。
    l
    列表不能打印字符的清单。
    n
    读取下一个输入行,用下一个命令处理新的行而不是用第一个命令。
    N
    追加下一个输入行到模板块后面并在二者间嵌入一个新行,改变当前行号码。
    p
    打印模板块的行。
    P(大写)
    打印模板块的第一行。
    q
    退出Sed。
    r file
    从file中读行。
    t label
    if分支,从最后一行开始,条件一旦满足或者T,t命令,将导致分支到带有标号的命令处,或者到脚本的末尾。
    T label
    错误分支,从最后一行开始,一旦发生错误或者T,t命令,将导致分支到带有标号的命令处,或者到脚本的末尾。
    w file
    写并追加模板块到file末尾。
    W file
    写并追加模板块的第一行到file末尾。
    !
    表示后面的命令对所有没有被选定的行发生作用。
    s/re/string
    用string替换正则表达式re。
    =
    打印当前行号码。
    #
    把注释扩展到下一个换行符以前。
    以下的是替换标记
    *
    g表示行内全面替换。
    *
    p表示打印行。
    *
    w表示把行写入一个文件。
    *
    x表示互换模板块中的文本和缓冲区中的文本。
    *
    y表示把一个字符翻译为另外的字符(但是不用于正则表达式)

    4. 选项
    -e command, –expression=command
    允许多台编辑。
    -h, –help
    打印帮助,并显示bug列表的地址。
    -n, –quiet, –silent

    取消默认输出。
    -f, –filer=script-file
    引导sed脚本文件名。
    -V, –version
    打印版本和版权信息。 (更多…)

  • Linux VPS一键安装包集合

    LNMP一键安装包
    LNMP一键安装包是一个用Linux Shell编写的可以为CentOS/RadHat、Debian/Ubuntu VPS(VDS)或独立主机安装LNMP(Nginx、MySQL、PHP、phpMyAdmin)生产环境的Shell程序。
    支持系统:CentOS/Debian/Ubuntu
    安装方法:猛击这里

    LNAMP一键安装包
    LNAMP 是指由 Linux(CentOS),Nginx,Apache,Mysql,Php 为主,其他诸如Pure-ftpd,Jailkit为辅的一套生产环境安装包.所有操作均集成在一个Linux Shell脚本文件中,管理员可方便的进行安装,卸载,增设用户虚拟主机(子域),删除用户虚拟主机(子域)等操作.最大限度方便系统管理员,同时不会影 响后续其他软件的安装兼容(有限)。
    支持系统:Linux CentOS 5 (32bit/64bit)
    安装方法:猛击这里

    PPTP VPN一键安装包

    PPTP是最常用的VPN软件
    支持系统:CentOS 5 32bit/64bit
    OpenVZ VPS要启用TUN/TAP
    安装方法:猛击这里

    CentOS OpenVPN一键安装包
    OpenVPN是更安全的开源VPN软件
    支持系统:CentOS
    安装方法:猛击这里

    LLsMP一键安装包
    LLsMP 是 Linux + Litespeed + MySQL + PHP 的一鍵安裝包
    支持系统:CentOS/Debian
    安装方法:猛击这里

    Kloxo一键安装包
    Kloxo是一个优秀的Web控制面板,有商业版本和免费版本。免费版本的Kloxo允许绑定40个域名,对普通客户来讲40个域名也足够用了。
    支持系统:CentOS 5
    安装方法:猛击这里

  • linux iptables 如何封单个IP 以及 IP段

    【封禁】

    封单个IP的命令是:
    iptables -I INPUT -s 211.1.0.0 -j DROP
    封IP段的命令是:
    iptables -I INPUT -s 211.1.0.0/16 -j DROP
    iptables -I INPUT -s 211.2.0.0/16 -j DROP
    iptables -I INPUT -s 211.3.0.0/16 -j DROP
    封整个段的命令是:
    iptables -I INPUT -s 211.0.0.0/8 -j DROP
    封几个段的命令是:
    iptables -I INPUT -s 61.37.80.0/24 -j DROP
    iptables -I INPUT -s 61.37.81.0/24 -j DROP
    【解封】
    iptables -D INPUT -s IP地址 -j REJECT

  • linux下MySQL配置文件讲解

    配置MySQL服务器是一个丰富而复杂的工作。在本文中,我只能肤浅的说一下各种选项。可以使用的MySQL配置文件共有5个。

    ·/etc/my.cnf是默认的MySQL配置文件。应该对这个文件配置修改。它是为学习目的而设计的。

    ·my-small.cnf是为了小型数据库而设计的。不应该把这个模型用于含有一些常用项目的数据库。

    ·my-medium.cnf是为中等规模的数据库而设计的。如果你正在企业中使用RHEL,可能会比这个操作系统的最小RAM需求(256MB)明显多得多的物理内存。由此可见,如果有那么多RAM内存可以使用,自然可以在同一台机器上运行其它服务。

    ·my-large.cnf是为专用于一个SQL数据库的计算机而设计的。由于它可以为该数据库使用多达512MB的内存,所以在这种类型的系统上将需要至少1GB的RAM,以便它能够同时处理操作系统与数据库应用程序。

    ·my-huge.cnf是为企业中的数据库而设计的。这样的数据库要求专用服务器和1GB或1GB以上的RAM。

    这些选择高度依赖于内存的数量、计算机的运算速度、数据库的细节大小、访问数据库的用户数量以及在数据库中装入并访问数据的用户数量。随着数据库和用户的不断增加,数据库的性能可能会发生变化。

    我将逐个的说明这些配置文件。如果用户决定使用my-*.cnf文件之一,将首先需要把这个文件复制到/etc/my.cnf文件上。

    由于这些原因,用户应该仔细观察数据库系统的性能。如果发现问题,可能需要增加更多的RAM,或者把数据库迁移到一个含有附加资源(比如多个CPU)的系统上。

    提示:数据库变得非常大。把一个SQL数据库目录配置在一个专用分区上可能更有道理。虽然一个不断增长的数据库可能会占满整个分区,但它至少不会吞掉RHEL运行所必需的磁盘空间。

    /etc/my.cnf文件

    默认是/etc/my.cnf文件。它包含6条命令,并且这6条命令被组织在3个配置段中。这些配置段与Samba配置文件中的配置段相似,并且含有功能组名称和相关的命令。本文将逐行的说明这个文件的默认版本。如果用户进行了任何修改,将需要确保MySQL启动脚本(即/etc/rc.d /init.d/mysqld)中的命令一致。

    [mysqld]

    在这个配置段之内,将会看到与MySQL守护进程相关的命令。

    datadir=/var/lib/mysql

    MySQL服务器把数据库存储在由datadir变量所定义的目录中。

    Socket=/var/lib/mysql/mysql.sock

    MySQL套接字把数据库程序局部的或通过网络连接到MySQL客户。

    提示:MySQL被配置成使用InnoDB存储器引擎。如果用户在自己的系统上还没有一个InnoDB数据库,将需要给[mysqld]配置段添加skip-innodb语句。

    [mysql.server]

    在这个配置段之内,将会看到MySQL服务器守护进程有关的命令。这个配置段的较早期版本被命名为[mysql_server]。如果使用 MySQL4.X或MySQL4.X以上版本,将必须把这个配置段标题改成[mysql_server]。当启动MySQL服务时,它使用这个配置段中的选项。

    user=mysql

    与MySQL服务相关联的标准用户名是mysql。它应该是/etc/passwd文件的一部分;如果在这个文件中没有发现它,用户可能还没有安装Red Hat Enterprise Linux mysql-server RPM程序包。

    basedir=/var/lib

    这表示MySQL数据库的顶级目录。它充当MySQL系统上的一个根目录;这个数据库中的其它目录都是相对于这个目录。

    [safe_mysqld]

    这个配置段包含MySQL启动脚本所引用的命令。如果使用MySQL4.X或4.X以上版本,必须把这个配置段改成[mysqld_safe]。

    err-log=/var/log/mysqld.log

    这是MySQL所关联的错误被发送到的这个文件。如果使用MySQL4.X或4.X以上版本,必须使用log-error指令替换这条命令。

    pid-file=/var/run/mysqld/mysqld.pid

    最后,pid-file指令定义MySQL服务器在运作期间的进程标识符(PID)。如果MySQL服务器当前没有运行,这个文件应该不存在。

    提示:用户可以配置与用户特定相关的MySQL配置文件;为此,只需给指定用户主目录中的.my.cnf隐含文件添加所选的配置命令即可。

    my-samll-cnf

    在本文中,将说明my-small-cnf配置文本中的所有命令。当回顾其它MySQL样本配置文件时,将参考本文所解释的各条命令和指令的含义。先从下面这个配置段开始分析该文件中的有效命令和指令:

    [client]

    这个配置把指令传递给与MySQL服务器相关的客户。

    port=3306

    MySQL所相关的标准TCP/IP端口是3306。如果需要修改这个端口号(可以增强安全),必须确保用于MySQL客户与服务器的所有相应配置文件中均修改这个号。

    socket=/var/lib/mysql/mysql.sock

    正像默认的/etc/my.cnf文件中所定义的那样,这是控制MySQL客户与服务器间通信的标准套接字文件。

    [mysqld]

    当启动MySQL服务器时,它由[mysqld]配置段中所定义的命令来控制。

    port=3306

    socket=/var/lib/mysql/mysql.sock

    当然,与同一个MySQL数据库相关的客户与服务器需要使用相同的TCP/IP端口和套接字。

    skip-locking

    多个客户可能会访问同一个数据库,因此这防止外部客户锁定MySQL服务器。这个skip-locking命令是MySQL4.X或4.X以上版本中的skip-external-locking命令。

    一般来说,如果正在使用MySQL4.X或4.X上以版本,这个set-variable指令没有必要带有这个列表中的这些命令。

    set-variable=key_buffer=16k

    这个缓冲区确实很小;如果一个数据库在一个文本文件中包含不止几百行数据,它将会超载这个缓冲区的容量。这个数据库可能不会超载一个文本文件地址簿的容量。如果这不只是一个供个人使用的数据库,这个限额很快就会被达到。假使那样的话,可能需要考虑与其它配置文件之一相关的那些限额。

    set-variable=max_allowed_packet=1M

    当然,与一个数据库相关的信息会增加到超出实际数据。在默认的情况下,如果该信息在一个服务器上超过1MB以上,MySQL将会产生一条错误信息。

    set-variable=thread_stack=64k

    这条指令限定用于每个数据库线程的栈大小。默认设置足以满足大多数应用。

    set-variable=table_cache=4

    用户可以限定一个数据库中打开表的数量;越小的限额(默认值是64)适合越小规模的数据库。

    set-variable=sort_buffer=64k

    在处理一个数据库时,用户可能需要内存中附加的缓冲区空间。

    set-variable=net_buffer_length=2k

    正如net_buffer_length指令所定义的,MySQL服务器还给传入的请求保留了空间。

    server-id=1

    一般来说,如果有一个MySQL主服务器,应该把它的server-id设置成1;应该把MySQL从属服务器的server-id设置成2;

    [mysqldump]

    用户可以在不同类型的SQL数据库之间传输数据,这由[mysqldump]配置段中的命令来控制。

    quick

    quick选项支持较大数据库的转储。

    set-variable=max_allowed_packet=16M

    当然,用来传输数据库表到其它数据库的max_allowed_packet大于客户与服务器之间的简单通信所使用的信息包。

    [mysql]

    no-auto-rehash

    这个配置段设置启动MySQL服务的条件;在这种情况下,no-auto-rehash确保这个服务启动得比较快。

    [isamchk]

    [myisamchk]

    像SQL这样的关系数据库用所谓的Indexed Sequential Access Method(索引顺序存取方法,简称ISAM)来处理。这两个配置段中的命令是相同的;这些命令与检查并修复数据库表的同名命令有关。

    set-variable=key_buffer=8M

    set-variable=sort_buffer=8M

    在前面谈及MySQL服务器时,用户己经见过这些变量。它们在这里都比较大,以便支持数据库的较快速检查与修复。

    [mysqlhotcopy]

    interactive-timeout

    正如[mysqlhotcopy]配置段所指定的,在一个数据库复制操作期间,连接会挂起。在默认情况下,interactive-timeout变量把一个数据传输的最大时间量设置为28800秒(8个小时)。

    my-medium.cnf文件

    与中等数据库相关的MySQL配置文件含有和my-small-cnf配置文件中一样的有效配置段。在[mysqld]配置段中,下面这些命令支持较大规模的服务器数据库:

    set-variable=key_buffer=16M

    set-variable=table_cache=64

    set-variable=sort_buffer=512K

    set-variable=net_buffer_length=8K

    log-bin

    一般来说,这个配置段中的命令支持服务器上的较大高速缓存与缓冲区长度。应该看到两条新命令。

    set-variable=myisam_sort_buffer_size=8M

    log-bin

    myisam_sort_buffer_size命令允许MySQL索引数据库,第二条命令支持二进制日志记录方法。

    [isamchk]

    [myisamchk]

    当然,这两个配置段中的缓冲区比用于数据库传输的缓冲区大,这个文件包含下面这些命令;它们发送消息到服务器和接收来自服务器的消息。

    set-variable=read_buffer=2M

    set-variable=write_buffer=2M

    my-large.cnf文件

    与较大型数据库相关的MySQL配置文件含有和my-samll-cnf配置文件中一样的有效配置段。在本文中,将比较my-large-cnf与my-medium-cnf样本文件中的各条命令。在[mysqld]配置段中,下面这些命令支持较大型的服务器数据库:

    set-variable=key_buffer=256M

    set-variable=table_cache=256

    set-variable=sort_buffer=1M

    set-variable=myisam_sort_buffer_size=64M

    set-variable=net_buffer_length=8K

    这个配置段中有3条附加的命令。record_buffer命令保存对一个数据库中不同表的扫描结果。thread_cache命令对多请求有用;空闲线程被高速缓存起来,进而允许新的搜索操作采用己有的线程。只要这防止搜索操作启动新的服务器进程,这就能减轻系统上的负荷。

    set-variable=record_buffer=1M

    set-variable=thread_cache=8

    set-variable=thread_concurrency=8

    thread_concurrency变量限定同时运行的线程数量。my-large.cnf样本文件建议用户应该把这个数量限定于本计算机上CPU数量的两倍;这个特定设置相当于4个CPU。

    my-huge.cnf文件

    my-huge.cnf文件含有和my-large.cnf配置文件中一样的命令。当然,分配给大多数指令的值比较大并适合较大型的数据库。

  • tar命令范例

      Linux压缩打包方法有很多种,以下讲了tar命令的概念,同时文列举了多种范例供大家查看,希望对大家有所帮助….

      tar命令

      [root@linux ~]# tar [-cxtzjvfpPN] 文件与目录 ….

      参数:

      -c :建立一个压缩文件的参数指令(create 的意思);

      -x :解开一个压缩文件的参数指令!

      -t :查看 tarfile 里面的文件!

      特别注意,在参数的下达中, c/x/t 仅能存在一个!不可同时存在!因为不可能同时压缩与解压缩。

      -z :是否同时具有 gzip 的属性?亦即是否需要用 gzip 压缩?

      -j :是否同时具有 bzip2 的属性?亦即是否需要用 bzip2 压缩?

      -v :压缩的过程中显示文件!这个常用,但不建议用在背景执行过程!

      -f :使用档名,请留意,在 f 之后要立即接档名喔!不要再加参数!

      例如使用『 tar -zcvfP tfile sfile』就是错误的写法,要写成『 tar -zcvPf tfile sfile』才对喔!

      -p :使用原文件的原来属性(属性不会依据使用者而变)

      -P :可以使用绝对路径来压缩!

      -N :比后面接的日期(yyyy/mm/dd)还要新的才会被打包进新建的文件中!

      –exclude FILE:在压缩的过程中,不要将 FILE 打包!

      范例一:

      将整个 /etc 目录下的文件全部打包成为 /tmp/etc.tar

      [root@linux ~]# tar -cvf /tmp/etc.tar /etc <==仅打包,不压缩!

      [root@linux ~]# tar -zcvf /tmp/etc.tar.gz /etc <==打包后,以 gzip 压缩

      [root@linux ~]# tar -jcvf /tmp/etc.tar.bz2 /etc <==打包后,以 bzip2 压缩

      ◆ 特别注意,在参数 f 之后的文件档名是自己取的,我们习惯上都用 .tar 来作为辨识。

      ◆如果加 z 参数,则以 .tar.gz 或 .tgz 来代表 gzip 压缩过的 tar file ~

      ◆如果加 j 参数,则以 .tar.bz2 来作为附档名啊~

      ◆上述指令在执行的时候,会显示一个警告讯息:

      ◆『tar: Removing leading `/’ from member names』那是关於绝对路径的特殊设定。

      范例二:

      查阅上述 /tmp/etc.tar.gz 文件内有哪些文件?

      [root@linux ~]# tar -ztvf /tmp/etc.tar.gz

      ◆ 由於我们使用 gzip 压缩,所以要查阅该 tar file 内的文件时,

      ◆就得要加上 z 这个参数了!这很重要的!

      范例三:

      将 /tmp/etc.tar.gz 文件解压缩在 /usr/local/src 底下

      [root@linux ~]# cd /usr/local/src

      [root@linux src]# tar -zxvf /tmp/etc.tar.gz

      ◆ 在预设的情况下,我们可以将压缩档在任何地方解开的!以这个范例来说,

      ◆我先将工作目录变换到 /usr/local/src 底下,并且解开 /tmp/etc.tar.gz ,

      ◆则解开的目录会在 /usr/local/src/etc 呢!另外,如果您进入 /usr/local/src/etc

      ◆则会发现,该目录下的文件属性与 /etc/ 可能会有所不同喔!

      范例四:

      在 /tmp 底下,我只想要将 /tmp/etc.tar.gz 内的 etc/passwd 解开而已

      [root@linux ~]# cd /tmp

      [root@linux tmp]# tar -zxvf /tmp/etc.tar.gz etc/passwd

      ◆我可以透过 tar -ztvf 来查阅 tarfile 内的文件名称,如果单只要一个文件,

      ◆就可以透过这个方式来下达!注意到! etc.tar.gz 内的根目录 / 是被拿掉了!

      范例五:

      将 /etc/ 内的所有文件备份下来,并且保存其权限!

      [root@linux ~]# tar -zxvpf /tmp/etc.tar.gz /etc

      ◆这个 -p 的属性是很重要的,尤其是当您要保留原本文件的属性时!

      范例六:

      在 /home 当中,比 2005/06/01 新的文件才备份

      [root@linux ~]# tar -N ‘2005/06/01’ -zcvf home.tar.gz /home

      范例七:

      我要备份 /home, /etc ,但不要 /home/dmtsai

      [root@linux ~]# tar –exclude /home/dmtsai -zcvf myfile.tar.gz /home/* /etc

      范例八:

      将 /etc/ 打包后直接解开在 /tmp 底下,而不产生文件!

      [root@linux ~]# cd /tmp

      [root@linux tmp]# tar -cvf – /etc | tar -xvf –

      ◆ 这个动作有点像是 cp -r /etc /tmp 啦~依旧是有其有用途的!

      ◆要注意的地方在於输出档变成 – 而输入档也变成 – ,又有一个 | 存在~

      ◆ 这分别代表 standard output, standard input 与管线命令啦!

      ◆这部分我们会在 Bash shell 时,再次提到这个指令跟大家再解释啰!

  • Linux系统主机名(hostname)

    1、 什么是主机名;
    无论在局域网还是INTERNET上,每台主机都有一个IP地址,是为了区分此台主机和彼台主机,也就是说IP地址就是主机的门牌号。但IP地址不方便记忆,所以又有了域名。域名只是在公网(INtERNET)中存在(以实验为目的的局域网域网实验性除外),每个域名都对应一个IP地址,但一个IP地址可有对应多个域名。域名类型 linuxsir.org 这样的;
    主机名是用于什么的呢?在一个局域网中,每台机器都有一个主机名,用于主机与主机之间的便于区分,就可以为每台机器设置主机名,以便于以容易记忆的方法来相互访问。比如我们在局域网中可以为根据每台机器的功用来为其命名。
    主机名相关的配置文件:/etc/hosts;
    2. 主机名配置文件;
    主机名的配置文件大多是/etc/hosts ;
    hosts – The static table lookup for host name(主机名查询静态表);
    由于 Linux 发行版本众多,与主机名相关的配置文件有时也有所不同。现在我们说说常见版本的主机名配置文件;
    2.1 主机名配置文件 /etc/hosts解说;
    Fedora/Redhat 或以Fedora/Redhat为基础打包的发行版,主机名配置文件是 /etc/hosts
    Debian或以Debian为基础打包的发行版,主机名配置文件是 /etc/hostname 和/etc/hosts
    Slackware的主机名配置文件是 /etc/hosts
    那我们来读读 /etc/hosts的内容,看这个文件是用来做什么的。hosts 配置文件是用来把主机名字映射到IP地址的方法,这种方法比较简单。但这种映射只是本地机的映射,也就是说每台机器都是独立的,所有的计算机都不能相互通过hostname来访问。
    注:在debian 中还有一个/etc/hostname的文件,这个文件就是直接把本地主机名写进去就行了,但要和 /etc/hosts中的本地主机名保持一致。
    /etc/hosts 的内容一般有如下类似内容:
    127.0.0.1 localhost.localdomain localhost
    192.168.1.195 debian.localdomain debian
    注:
    一般情况下hosts的内容关于主机名(hostname)的定义,每行为一个主机,每行由三部份组成,每个部份由空格隔开。其中#号开头的行做说明,不被系统解释。
    第一部份:网络IP地址;
    第二部份:主机名.域名,注意主机名和域名之间有个半角的点,比如 localhost.localdomain
    第二部份:主机名(主机名别名) ,其实就是主机名;
    当然每行也可以是两部份,就是主机IP地址和主机名;比如 192.168.1.195 debian
    127.0.0.1 是回环地址,比如我们不想让局域网的其它机器看到我们测试的网络程序,就可以用回环地址来测试。
    为什么需要定义域名呢?其实理解也简单,比如我们有三台主机,每台做不同的事,一台做MAIL服务器,一台做FTP服务器,一台做SMB服务器,所以我们就可以这样来设计hostname;
    127.0.0.1 localhost.localdomain localhost
    192.168.1.2 ftp.localdomain ftp
    192.168.1.3 mail.localdomain mail
    192.168.1.4 smb.localdomin smb
    把这上面这个配置文件的内容分别写入每台机器的/etc/hosts内容中,这样这三台局域网的机器就可以通过hostname来访问了。
    2.2 主机名(hostname)和域名(Domain)的区别;
    主机名就机器本身的名字,域名是用来解析到IP的。但值得一说的是在局域网中,主机名也是可以解析到IP上的;比如我们前面所说举的例子;
    2.3 局域网的机器,不能通过主机名互访的原因;
    有的弟兄可能会说,我的hostname彼此不能互访,其实这也问题也简单,我们前面已经提到了一个简单的解决办法。就是要让局域网中的所有主机都有一个通用的,并且包含所有主机的/etc/hosts文件;
    另一个是做解决办法是做局域网DNS服务器,如果您的主机特别少,就用前面所说的简单方法就行;如何做DNS服务器,我将在以后的文档中专题介绍;不过我值得一提的是做任何服务器都是以效率优先的原则为基础。比如我们在局域网中两台机器,我们还有必要做DNS服务器吗?无论怎么解决,最终的都是用最有效率的办法解决问题;我们不能说明DNS多高级。如果DNS是为外网服务的,那就另说了,不做也得做。对不对?
    3、主机名修改工具 hostname;
    其实主机名的修改也有专用工具,就是hostname ;我认为如果用这个工具来修改主机名,不如直接修改 /etc/hosts 来的方便;您可以查看 hosname –help或 man hostname的帮助 。在这里我们只说简单的用法;
    hostname 工具是用来显示和设置系统主机名,看下面的洋文;
    hostname – show or set the system’s host name
    举例解说:
    * 显示主机名:
    [host]# hostname
    host
    此主机的主机名是host,不加参数是用来显示当前操作的主机的主机名;
    * 临时设置主机名:
    我们可以用 hostname 后接主机名,这样就可以设置当前操作的主机的主机名,比如我们想把主机名设置为linuxsir02;
    [host]# hostname linuxsir02
    [host]# hostname 注:显示主机名
    linuxsir02
    通过hostname 工具来设置主机名只是临时的,下次重启系统时,此主机名将不会存在;所以您想修改主机名,想一直有效的,还是用前面所说修改主机名配置文件 /etc/hosts;
    * 显示主机IP:
    显示当前主机名的IP,可以用-i参数;
    [host]# hostname -i
    192.168.1.3

  • Debian GNU/Linux 5.0 Lenny 正式发布

    Debian GNU/Linux 5.0 发布
    2009年02月14日
    Debian 计划高兴地宣布在经历了 22 个月坚持不懈地开发之后,Debian GNU/Linux 5.0 版(代号Lenny)正式发布了。Debian GNU/Linux 是一个 自由的操作系统,它支持 12 种处理器架构并带有KDE、Gnome、Xfce 和 LXDE 桌 面环境。同时它和 FHS v2.3 兼容,其软件针对 LSB 3.2 版开发。

    官方地址:http://www.debian.org/

  • 假如我使用ubuntu

      windows一晃也用了10来年了,太多太多的东西已经让我非常的熟悉的。最近想换台电脑连带的就想整点有的没的,ubuntu是一个非常理想的选择,linux现在的程序也多了起来,我觉得应该可以满足需求。现在这台用着的电脑就不卖了,用着吧。这台还是用windows,呵呵 这样应该没什么问题了,只是一些游戏还是想玩的,linux或许虚拟可以但是会稳定嘛。呵呵 以后在说吧 等买了新电脑,就试试吧。