/etc 下档案的详细说明

地瓜派RDK X5部署YOLOv11n避坑指南:从Softmax瓶颈到BPU加速的实战解析 本文详细解析了在地瓜派RDK X5开发板上部署YOLOv11n模型时,从性能暴跌到成功优化的全过程。核心在于通过配置`node_info`将模型中的Softmax算子强制在BPU上以int16精度运行,解决了因算子被分配到CPU导致的严重性能瓶颈。实战部署后,模型推理延迟从126ms降至10.8ms,FPS从7.9提升至92.3,实现了显著的性能优化。 阅读详情
成为Linux的主人(Linux Administrator)

序言 :

    在 Linux 系统管理中, /etc 下面的档案无疑的伴演了极端重要的角色, 在这篇文

章中, 将为各位介绍 /etc 下每个档案的用途, 及相关指令的运用, 希望能为大家在成

为 System Administrator 的路上有所助益.

    特别要说明的是, 在这篇文章中, 有些档案仍然没有提到, 这是因为, 这些档案都

不是一二十行的描述就可以讲完的! 如 /rc.d 下的档案, inittab  这两个最好就要合

起来讲, 因为这些牵扯到 bootstrapping, 绝对不是三言两语就可以讲完的. 凡是有这

种特性的档案, 有机会的话将再为各位介绍......

本文 :

/etc/DIR_COLORS : 设定在用 ls 时 , 各种不同档案型态所用的颜色 , 但是不能用

                  pipe 再导向输出, 否则就没有各种颜色了.  由档案的内容可以很

                  轻易的了解, 如 default 的 directory 是蓝色, 具有可执行档权

                  限的是绿色, 而压缩档是红色......  这些都可依个人喜好来加以

                  更改. 这个档案内容写得很清楚, 想必各位一眼也就可以看得出来

                  , 在颜色的组成方面, 我们常用  RGB 三原色的成份值来组合出各

                  种不同的颜色. 由 R,G,B 这个 bit 是 0 或是 1 三个值组合出颜

                  色这个道理虽浅显, 但假如我们更了解  R,G, B  的加权值分别是

                  1,2,4 的话, 那就再也不用翻书查颜色了......  选择自己的调色

                  盘来取代预设的调色盘, 是经常会做的事.

/etc/HOSTNAME : 记录完整的 hostname 与 domain name , 这个档案在须要 hostname

                的场合会用得到 , 如 /etc/rc.d/rc.M 等 ......

/etc/NETWORKING : YES , 没什麽用 , 改成 NO 会怎样呢 ? 会对网路的使用会造成影

                  响吗 ? 答案是否定的 .

/etc/X11 : link 到 /var/X11/lib/X11

/etc/at.deny : 在这个档案中可记载那些人不能使用at这个命令来做一些 later job

               , 假如 at.deny 是空的, 而且 at.allow 也不存在的话. 那就是每个

               人都可以用 at 这个命令.

/etc/at.allow : 相对於 at.deny , 这个档案记载那些人可以使用 at 这个指令关於

                at  这个指令, 我想它的重要性是无庸置疑的, 各位应该要会这个指

                令的用法,  会了这个指令,  可以在工作的执行上会更有弹性而关於

                at.deny 与 at.allow, at 会先去找  at.allow, 假如存在而且有记

                录一些人的话,  那就只有这些人能使用   at   这个指令,  但假如

                at.allow   并不存在的话,  那  at  就会去找  at.deny,  没有在

                at.deny  中的人都可以使用  at 这个指令了! 特别要说明的是, at

                的执行时间也许会不如你所预期的,     比如说明明一个档你叫它在

                7:02 执行, 但它却会等到 7:05 才执行, 这是因为 crond 是每五分

                钟才去看看 at 的 queue 中是否有要执行的 job.  当然, 你也可以

                改成每分钟都去 check, 但这样似乎没有很大的意义, 除非你对时间

                的准确度要求的很严格, 否则应该没有必要去动才是. 各位可去看看

                /var/spool/cron/crontabs/root  中就有详细记载, 每五分钟  run

                一次 atrun, 所以 at 命令的执行可看成以每五分钟为一单位.

                /var/spool/atjobs: 当你使用 at 来安排一件工作时, 系统会把

                                   你目前的环境变数及所要用 at 执行的工作

                                   抄一份到这个目录下的档案中 .

                /var/spool/atspool : 使用 at 命令之後所得到的一些讯息 , 会被

                                     记录在这里 . 可能是 at 所要执行的命令传

                                     回的错误讯息 , 或传回执行成功的讯息 .

/etc/csh.cshrc :

/etc/csh.login :这两个档案应该很熟悉罗!  它就是各位常见到的.cshrc  及.login,

                不过大家通常只注意到自己的  home  directory  有这两个档,  但

                /etc 下也有这两个档, 不过 /etc  下的这两个档绝大部份的情况下

                都是由 system administrator  在 maintain, 一般 user 不应该有

                权力去改. 顺便一提的是, 系统会先去找 /etc 下这两个档, 接著才

                加上自己 home directory  中那两个档的设定.  当然, 有了.login

                也有.logout,.logout 中可以写一些 message, 或执行一些命令, 当

                你下达 logout 之後,.logout 就会被执行.

/etc/disktab : ( disk parameter table ) 假如你在刚开机有 pass 磁碟机的一些参数

               给 kernel 的话 ( 通常是你的硬碟比较奇怪 , 需要 pass cylinders ,

               heads , sectors 给 kernel 才抓的到 , 或者是 SCSI 的硬碟有时

               有时也要用到一些参数 ) 那这些参数就会被记录在这里 .

/etc/exports : 这个档案记录著你要给别人 mount 的档案系统 , 这就是典型 NFS

               系统所存在的档案 , TCP/IP for OS/2 若要使用 network file system

               而要把自己的 filesystem 让别人 mount 的话 , 这个档案也是不可或缺?

 .

               比如说 , 我所在的 domain name 为 dorm10.nctu.edu.tw , 我要把

               我 /usr 下的 filesystem 开放给十舍的人 mount , 那我在 exports 中

               要这样写 :

               /usr   *.dorm10.nctu.edu.tw(ro)

               接著 , 在 /etc/rc.d/rc.inet2 中 , 找到下面的段落 , 这些段落本来

               每一列的前面都有 # , 现在 , 依照下面的内容 , 把这些 # 拿掉 .

          ......

          ......

          ......

          # Start the SUN RPC Portmapper.

               if [ -f ${NET}/rpc.portmap ]

               then

                 echo -n " portmap"

                 ${NET}/rpc.portmap

               fi

          ......

          ......

          ......

          # # Start the various SUN RPC servers.

           if [ -f ${NET}/rpc.portmap ]

           then

          #  if [ -f ${NET}/rpc.ugidd ]

          #  then

          #   echo -n " ugidd"

          #   ${NET}/rpc.ugidd -d

          #  fi

            if [ -f ${NET}/rpc.mountd ]

            then

             echo -n " mountd"

             ${NET}/rpc.mountd

            fi

            if [ -f ${NET}/rpc.nfsd ]

           then

            echo -n " nfsd"

            ${NET}/rpc.nfsd

            fi

          #  # Fire up the PC-NFS daemon(s).

            if [ -f ${NET}/rpc.pcnfsd ]

            then

             echo -n " pcnfsd"

             ${NET}/rpc.pcnfsd ${LPSPOOL}

            fi

          #  if [ -f ${NET}/rpc.bwnfsd ]

          #  then

          #   echo -n " bwnfsd"

          #   ${NET}/rpc.bwnfsd ${LPSPOOL}

          #  fi

           fi

          echo

          # Done!

          在 client 端可用如 :

          mount -vt nfs rebel.dorm10.nctu.edu.tw:/usr /tmp

          将 server 端的 /usr 挂到 client 端的 /tmp

/etc/fastboot : 这个档案是使用 shutdown -f 所产生的 , -f means "fastboot"

                在重新 reboot 之後 , 系统会去检查这个档是否存在 , 以决定

                是否要 run fsck .

/etc/fdprm :  floopy disk parameter table . 一般情况下是不须要更动的 , 除非

              你有很奇怪格式的软碟 , 或者你想做出不符合一般格式的磁碟片 .

/etc/nologin : 你也许会感到奇怪 , 我的 /etc 这个 directory 下并没有这个档啊?

               没错 , 它平常是不存在的 , 通常会看到这个档的话 , 那表示系统大

               概要 shutdown 了 , 因为系统要 shutdown 了 , 自然不希望有人又

               login 进来 , 所以在我们执行 shutdown 时 , nologin  这个档会自动

               的被 create , 里面放著 shutdown message . 实际上 , 当我们在

               login 时 , 系统会去检查有没有这个档 , 假如有的话 , 那就会印出

               这个档案中的 message , 然後不让你 login .

               nologin 也有可能是为了某种理由被制造的 , 比如说系统在 maintain

               暂时不希望有人 login . 无论如何 nologin 若存在 , 就不能 login

/etc/fstab : 记录开机要  mount 上来的 filesystem, 这个档案相当重要! 各位可以

             在 /etc/rc.d/rc.S  中找到 /sbin/mount -avt nonfs 这一列, 当执行

             到这一列时, mount 就依据 /etc/fstab  中的记载, 自动的将档案系统

             mount  上来.  下面就是一个颇为典型的□例.  假如你一开机就想自动

             mount 一些 filesystems, 而不要等到开机後再以手动 mount 的话那把

             这些 filesystems 及相关资讯写在这个档, 是不错的选择. 在档案格式

             方面,  每一列有六个栏位, 不过後面两个栏位常被省略所以我们只看到

             有四个栏位.    其它的两栏分别为   dump-freq   及   pass-number.

             dump-freq 预设值为 0;  而 pass-number 是 fsck 所会参考到的地方,

             数字可为 0,1,2...... 1 表示这个 filesystem 将首先被 fsck check,

             2 表其次, 馀类推......

             # 要挂上的档案系统   挂在那里   档案系统格式   读写状况

             /dev/hdb2            swap        swap          defaults

             /dev/hdb1            /           ext2          defaults

             /dev/sbpcd           /mnt/cdrom  iso9660       ro

             /dev/hda1            /mnt/dosc   msdos         rw

             /dev/hda5            /mnt/dosd   msdos         rw

             /dev/hda6            /mnt/dose   msdos         rw

             none                 /proc       proc          defaults

/etc/ftpusers : 这个档案记录那些人不可以 ftp 签入系统 , 预设值有 root , uucp

                news . 这些都是为了 security 方面的考量 , 你可以在这里加入

                不可 ftp 进来的 user id .

/etc/gateways : 顾名思义 , 这个档案记录一些 gateways 的 information

                这个档案的格式如下 :

   <net | host> name1 gateway name2 metric value <passive | active | external>

             当 routed 启动时, 它会去读 /etc/gateways 这个档. 若一个 gateway

             并不做 routing information 交换的话, 那它就会被标示成  passive,

             假如有做 routing information 的交换 ( 这台机器上有 run routed )

             , 那就会标示成 active net 或 host 这个关键字是指出 route 是到网

             路或是到一台特定的机器上.  name1  就是目地网路或目地机器的名字.

             这个名字可用  /etc/hosts 或是 /etc/networks  中的 symbolic host

             name. name2 就是讯息将被送往之 gateway 的 name 或 IP address.

/etc/group : 如同 /etc/passwd 列出了系统中所有的使用者名字 , /etc/group

             定义系统中所有的 group name 与相关讯息 .

             格式为:        group_name:passwd:GID:user_list

             如    :        author::200:jhhsu,emotion,passion

             上面的例子表示 jhhsu,emotion,passion 都是属於 author 这个 group

             通常 passwd 那栏是空白的 , 表示不用密码 . 或放一个 * 号

             以下也是一个典型的例子 :

                root::0:root,jhhsu

                bin::1:root,bin,daemon

                daemon::2:root,bin,daemon

                sys::3:root,bin,adm

                adm::4:root,adm,daemon

                tty::5:

                disk::6:root,adm

                lp::7:lp

                mem::8:

                kmem::9:

                wheel::10:root,jhhsu

                shadow::11:root

                mail::12:mail

                news::13:news

                uucp::14:uucp

                man::15:man

                users::100:games

                bbs:*:99:bbs,bbsuser,bbsroot

             当然啦 ! 这个档案只能为 superuser 所读写 , 一个 superuser 可使

             用 groupadd , groupdel , groupmod 来管理 /etc/group 这个档 ,

             要手动管理也是可以 . 下面是这三个指令的用法 :

             groupadd [ -g gid [ -o ] ] group_name

             groupdel group_name

             groupmod [ -g gid [ -o ] ] [ -n new_group_name  ] group_name

/etc/hosts : 这个档案记录著 IP address 至 hostname 的 mapping . 如我们想把

             ccsun21.csie.nctu.edu.tw 取个别名叫 : oldstock

             那我们就可以在这个档案里写如下的叙述 :

             140.113.17.151          oldstock

             如此一来 , 以後我们 telnet oldstock 就等於 telnet

             140.113.17.151

             在这个档案中 , 至少会有两列 , 一列为 loopback , 这是为了侦错目的

             而设的 , 另一列为 local host , 就是你自己的机器 .

/etc/hosts.equiv : 在里面可以设定一些 remote machine , 而从这些 remote

                   machine 利用 rsh 或 rlogin 连回 local machine 的话

                   便不用输入密码

                   同样的东西也可以在 .rhosts 见到 . 比如说在 ccsun22.csie

                   .nctu.edu.tw 上你的 Home Directory 建一个 .rhosts 档 ,

                   里面的内容如下:

                   rebel.dorm10.nctu.edu.tw    jhhsu

                   以後只要在 rebel.dorm10.nctu.edu.tw 上利用 rsh 或 rlogin 至

                   ccsun22.csie.nctu.edu.tw 的话 , 也不须要输入密码

                   rsh -l jhhsu ccsun22.csie.nctu.edu.tw  <-- 不须密码

                   不过这东西最好不要乱设 , 以信得过的 hosts 为主 ,

                   才不会造成 security 上的困扰 .

/etc/hosts.deny :   设定那些 remote hosts 不可以使用 inetd

/etc/hosts.allow :  设定那些 remote hosts 可以使用 inetd

                    至於 inetd 有那些 service , 各位可以去看看 /etc/inetd.conf

                    从里面就可以很清楚的可以看得出来 .

                    假如你采取比较 close 作法的话 , 可以在 hosts.deny 中写

                    ALL:ALL

                    但是如此一来 , 只要不是从 localhost 来的 , 那大概都不必

                    玩了 , 所以 , 我们也要适时的在 hosts.allow 中加入可以

                    access 的 hosts , 如 :

                    ALL:140.113.17.  <-- 只要从 140.113.17.X 都可以 access

                    ALL:140.113.4.

                    ALL:140.113.6.

/etc/hosts.lpd : 记录可 access printer 的 hosts . 假如一台 printer可被网路上

                 的许多台主机所共用, 那 printcap  这个档案必须得描述完整的网

                 路设定资讯. 在比较严密控制的情况下, 有两个条件必须符合首先,

                 local machine 必须在 remote machine 的 /etc/hosts.eqiuv 中,

                 或者, 在 remote machine 的 /etc/hosts.lpd  中被记载第二, 使

                 用者必须有 remote machine 的帐号.

/etc/inetd.pid : inetd process id

/etc/issue : 这个档案被记录著 login prompt 前所要 echo 的 message , 特别要注

             意的是 /etc/rc.d/rc.S

             下面的四行若没有 mark , 则每次开机 issue 及 motd 都会被改变

             假如你要有自己的设定 , 下面一定都要 mark 起来如下 :

        #echo > /etc/issue

        #echo Welcome to Linux /bin/uname -a | /bin/cut -d  -f3. >> /etc/issue

        #echo >> /etc/issue

        #echo "/bin/uname -a | /bin/cut -d  -f1,3. (Posix)." > /etc/motd

/etc/klogd.pid : klogd process id

/etc/ld.so.conf : 记录一些 library 所在的目录

/etc/magic : 初看这个档案时 , 也许只能隐隐约约的看到 : 这个档案似乎是描述一些

             档案的格式.  没错, 这个档案记载了许多档案格式的识别字串或方法那

             这个档在那里会用的到呢? 各位有使用过 file 这个指令吗? file 这个

             指令的命令格式为:

             file [ -c ] [ -z ] [ -L ] [ -f namefile ] [ -m magicfile ] file

             file 这个指令非常有趣, 它可以告诉你某一个档案的格式, 如它是一个

             text 档, 或是一个 shell script 或 DOS 可执行档等......  而 file

             这个指令, 就是去参考 /etc/magic 这个资料库.  假如你知道某一档案

             的识别字, 而原来 magic 这个资料库没有记录, 那你可以把识别方法加

             到资料库中, 或乾脆建立自己的资料库算了.

/etc/motd : 这个档很简单 , 就是 message of the day 的意思 , 里面可以写一些

            message , 而这些 message 会在 login shell 之前被显示出来 .

            通常都是 system administrator 要告知 user 的一些讯息. 而关於每次

            都会改变的问题, 在前面 /etc/issue时已提出过,记得 mark 起来就好.

/etc/mtab : 目前 mount 上来的 filesystems , 各位可使用 mount 这个指令来看看

            这个档的变化 . 如我在 mount 3.5 inch 软碟A 前 , 我看到的 mtab

            如下 :

                   /dev/hdb1 / ext2 rw 0 0

                   /dev/hda1 /mnt/dosc msdos rw 0 0

                   /dev/hda5 /mnt/dosd msdos rw 0 0

                   /dev/hda6 /mnt/dose msdos rw 0 0

                   none /proc proc rw 0 0

            然而 , 当我以 mount -t msdos /dev/fd0H1440 /mnt/dosa 这个指令将

            3.5 inch  软碟A 挂上来後 , mtab 变为像下面的情况 :

                   /dev/hdb1 / ext2 rw 0 0

                   /dev/hda1 /mnt/dosc msdos rw 0 0

                   /dev/hda5 /mnt/dosd msdos rw 0 0

                   /dev/hda6 /mnt/dose msdos rw 0 0

                   none /proc proc rw 0 0

                   /dev/fd0H1440 /mnt/dosa msdos rw 0 0   <-- 多了这列 !

            所以 , 各位了解啦 ! /etc/mtab 就是记录目前 mount 的 filesystem

/etc/mtools : 这里面记录的 , 是给 /usr/bin/mtools 参考用的 parameter .

              那 mtools 是什麽呢? 简而言之 , 就是一群操作 MSDOS 档案的命令

              集合 , 可用的命令可多了 , 如下 :

       mattrib - change MSDOS file attribute flags

       mcd - change MSDOS directory

       mcopy - copy MSDOS files to/from Unix

       mdel - delete an MSDOS file

       mdir - display an MSDOS directory

       mformat - add an MSDOS filesystem to a low-level formatted diskette

       mlabel - make an MSDOS volume label

       mmd - make an MSDOS subdirectory

       mrd - remove an MSDOS subdirectory

       mread - low level read (copy) an MSDOS file to Unix

       mren - rename an existing MSDOS file

       mtype - display contents of an MSDOS file

       mwrite - low level write (copy) a Unix file to MSDOS

       这些都被 link 到 mtools

/etc/named.boot : 假如你要建立 name server 的话 , 那这个档就是你要修改的地方

                  详细的情况可以去看 named 的 manual 就知道了 .

/etc/named.pid : named process id

/etc/networks : 这个档与 hosts 有点像 , 都是在 boot 的时候会用到的东西 ,

                在这里可以定义一个子网路与其 IP address 的资讯 .

/etc/nntpserver : 这个档案记录著 news server , 当我们使用 tin -r ( read news

                  remotely  ) 时, 这个档案会被参考到, 或者若这个档案不存在的

                  话, 那环境变数 NNTPSERVER 所指定的 server 就会被当成要去取

                  得 news 的 server.  譬如说, 你要将 140.111.1.11  当成 news

                  server, 那 /etc/nntpserver 中就可写:

                  140.111.1.11

/etc/nologin : 你也许会感到奇怪 , 我的 /etc 这个 directory 下并没有这个档啊?

               没错,  它平常是不存在的, 要是你看到这个档的话, 那表示系统大概

               要  shutdown  了, 因为系统要  shutdown  了,  自然不希望有人又

               login 进来, 所以在我们执行  shutdown 时, nologin 这个档会自动

               的被  create, 里面放著  shutdown  message.  实际上,  当我们在

               login  时, 系统会去检查有没有这个档, 假如有的话, 那就会印出这

               个档案中的 message, 然後不让你 login.  nologin 也有可能是为了

               某种理由被制造的, 比如说系统在 maintain 暂时不希望有人 login.

               无论如何 nologin 若存在, 就不能 login.

/etc/passwd : 呵呵 , 这个档案可重要了 . 一个 system administrator 最初要学的

              常常就是这个档案的内容! 这个档案记录著系统可以认得的  user, 当

              然啦, 也包括一些非人的 login name, 但这是有特殊用途的.  档案内

              容每列的格式如下:

         Login Name:Encrypted Password:UID:GID:GCOS:Home Directory:Login Shell

         (1)login name: 在 login name 方面 , 每个 login name 必须是唯一的 ,

                        而且不能超过 8 个字元, 一般说来, login name 虽然可以

                        大小写混合,   但平常的情况下都用小写.   顺便一提的是

                        /usr/lib/aliases  这个档案, 修改这个档案的内容可以使

                        mail   时用超过   8   个字元的档案.    如平常   mail

                        jhhsu@dorm10      .nctu.edu.tw      可变成      mail

                        Jin-Hwa-Sheu@dorm10.nctu.edu. tw.

         (2)Encrypted Password: 这栏是编码过的密码 , 在新增一个 new user 时

                                应该在这栏填上 * , 更改 password 可用 passwd

                                这个指令 . passwd 这是一个 setuid 的指令 ,

                                关於 setuid , setgid , stickybit , 各位可去

                                参考 Unix Security 方面的书籍 .

         (3)UID: user id , 每个"人"都要不一样 , 习惯上 , 100 以前被保留做为

                 特殊的 user id , 而 root 总是 0.

         (4)GID: group id , 在比较早期的系统 , 一个 user 同时只能在一个 group

                 不过现在就没有这种限制了 .

         (5)GCOS: 这栏基本上没有特殊格式限制 , 在这里可以写上你的 full name

                  家中电话, 住址等......  爱写什麽就写什麽. 虽然你可以乱写一

                  通,  但若你用到逗号,  系统会把它当成区间.  如你写: Jin-Hwa

                  Sheu, NCTU, 80317, (02)1234123  这些都会被当成  Full Name,

                  Office, Home Phone. finger 这个指令会去读这地方的资讯.  用

                  chfn 可改变这栏.

         (6)Home Directory: 这栏没什麽 , 就是记录 user 的 home directory 而已

                            利用 cd 或 cd~ 都可回到 home directory .

         (7)Login Shell: 设定使用者所使用的 shell , 预设值是 /bin/bash . 当

                         然 , 你也可以自己改成 csh 或 tcsh , zsh 也是不错 ,

                         假如有 free 版的 korn Shell 也可拿来用用 . 用 chsh

                         可改变你的 login shell .

         为了 security 方面的考量 , 各位可以安装 shadow , 将 passwd 这个档

         完全的与一般 user 隔绝开来 , 连读也没有办法读 passwd 这个档 .

/etc/profile : profile 这个档是 bash 这个 shell 所用的 , profile 之於 bash

               就好像 cshrc 之於 csh. 同样的, /etc 下的 profile 也是 SA 在维

               护的, 主要是放著全域的设定  ( Global Setting ) 而每个 user 在

               自己的 Home Directory 都可以有各人的 .profile

/etc/protocols : 假如你为了某些目地 , 而写了自己的 protocol , 那你就必须把

                 它列在这个档案中 , 这样 inetd 才会管理一些 daemons 去用它

                 这个档案每列的格式如下 , 当然 , # 之後的是注解 :

                 Protolcol Name      Portocol Number       Aliases

            ip      0       IP      # internet protocol, pseudo protocol number

            icmp    1       ICMP    # internet control message protocol

            igmp    2       IGMP    # internet group multicast protocol

            ggp     3       GGP     # gateway-gateway protocol

            tcp     6       TCP     # transmission control protocol

            pup     12      PUP     # PARC universal packet protocol

            udp     17      UDP     # user datagram protocol

            idp     22      IDP     # WhatsThis?

            raw     255     RAW     # RAW IP interface

/etc/psdatabase : 这个档案是被 psupdate 所用到 , psupdate 主要的功能就是更新

                  /etc/psdatabase 这个档 , 以符合目前的 kernel image system

                  map file . 一般的预设档是 /usr/src/linux/tools/zSystem .

/etc/resolv.conf : 这里面记载著你机器的 domain name 及 name server 的 IP

                   address , name server 可以自己加入 , 在交大可以用

                   140.113.1.1 或 140.113.17.5 , 这两台都是 name server .

                   name server 可不要随便就去掉 , 否则 , 就会发生如下的情况 :

                   <jhhsu>@Rebel[/etc]>telnet ccsun3.cc.nctu.edu.tw

                   ccsun3.cc.nctu.edu.tw: Host name lookup failure

                   因为没有了 name server , 所以 ccsun3.cc.nctu.edu.tw

                   没有办法被解译 , 故会有 Host name lookup failure

                   这段讯息 .

/etc/rpc :

/etc/securetty : 假如你要以 root login 的话 , 实际上是有限制的 , 这个档案就

                 列出了 root 可以 login 的 ttys , 假如你把每一列都 mark 起来

                 那就没有任何一个 terminal 可供 root login 了 , 所以呢 ,

                 就会出现以下的情况 :

                 Rebel login: root

                 root login refused on this terminal.

                 再一次的 , 我们看到了 unix security 方面的东西 , 仔细的在这

                 个档案列出可用的 terminal , 可使从 modem 连的使用者或经由网

                 路来的其它的使用者比较不容易取得 superuser 的权力 .

/etc/services :

/etc/shell : 这个档案再简单也不过了 , 里面就记录著可以用的 login shell . 还

             有一点 , 那就是这个档的记录会在使用 chsh 时做为参考 , 唯有被列

             在这里的 shell , 使用 chsh 时才会出现这些 shell 可选 .

/etc/sudoers : 在一个不是很复杂的系统中 , 也许一个 System Administrator 就可

               以管理所有的事情 . 但一但系统提供的服务变多 , 系统管理的工作

               也随之变得沉重 , 这时候 , sudo 就派上用场了 , sudo 可以让一个

               普通的 user 变成 superuser , 这样一来 , 一个系统的某些工作 ,

               就可以分配给这些 superusers 来做 . 以减轻负担 .

               当然 , 并不是每个 user 都可以变成 superuser . 所以

               /etc/sudoers 就是记录著那些人可以用 superuser 的身份来执行一

               些工作 , 这个档案的格式如下 :

         host alias section format:

         Host_Alias HOSTALIAS = host-list

              Host_Alias ::= a keyword.

              HOSTALIAS ::= an upper-case alias name.

              host-list ::= a comma separated list of hosts.

         command alias section format:

         Cmnd_Alias CMNDALIAS = cmnd-list

             Cmnd_Alias ::= a keyword.

             CMNDALIAS ::= an upper-case alias name.

             cmnd-list ::= a comma separated list commands.

         user specification format:

         user access_group [: access_group] ...

             access_group ::= host_type = [op]cmnd_type [,[op]cmnd_type] ...

             host_type ::= a lower-case host name OR a host alias.

             cmnd_type ::= an command OR a command alias.

                    op ::= the logical '!' NOT operator.

         如下面是一个极为简单的例子 :

         # Cmnd alias specification

           Cmnd_Alias SHUTDOWN=/sbin/halt,/sbin/shutdown

         # User specification

           root    ALL=ALL

           jhhsu   ALL=ALL

           emotion ALL=ALL,!SHUTDOWN

         在这个例子当中 , jhhsu 可以执行 root 所有的命令 , emotion 除了 halt

         及 shutdown 不能执行以外 , 其它 root 能执行的命令他都能执行 .

         这个档案有一个专属的 editor 叫 visudo 可来编辑 /etc/sudoer 这个档案

         在编辑完这个档案之後 , jhhsu 就可以用 sudo.bin 这个命令转换成

         superuser 来做原来只有 superuser 才能做的事 . 而关於使用 sudo.bin

         有一个记录档 , 在 /var/adm/sudo.log , 里面记录著谁在什麽时候利用

         sudo 下了那些指令 . 顺便一提的是 : 利用下面这个命令可抓出那些人转换

         成 superuser 但却没有成功 ......

         grep "FAILED SU" /var/adm/messages

/etc/utmp : 从 utmp 中可以知道现在有谁正在用系统 . 当使用者 logout 之後 ,

            init ( 很重要的 process , 以後有时间将为各位介绍 ) 就去把 logout

            的使用者从 /etc/utmp 中去掉 .

            实际上 , utmp 每个 record 是像这样的一个结构 :

            struct utmp {

                short ut_type;              /* type of login */

                pid_t ut_pid;               /* pid of process */

                char ut_line[12];           /* devicename of tty -"/dev/" */

                char ut_id[2];              /* init id or abbrev. ttyname */

                time_t ut_time;             /* logintime */

                char ut_user[8];            /* username, not null-term */

                char ut_host[16];           /* hostname for remote login */

                long ut_addr;               /* IP addr of remote host */

              };

            了解这个档案 , 进而去修改 , 可以做出许多有趣的事 ......:P

/etc/wtmp : 简而言之 , wtmp 是一个 login data base , 有许多的指令会用到这个

            档 , 像 last , sessreg , who 等 ......

            这个档案格式与 utmp 大致相同 , 只是多了 shutdown 及 reboot 这

            个记录 , 指出系统的 shutdown 或 reboot , 及一个空的 user name

            指出在相关 terminal 的 logout . 还有 , 不像 /etc/utmp ,

            /etc/wtmp 的记录是慢慢的附加上去的 , 也就是说 , 这个档案会越变

 

            越大 , 虽然变大的速度并不会太快 , 但一但到了某种程度大小的话

            System Administrator 应该要考虑砍掉部份 . 下面是用 last 这个

            指令所得到的部份内容 :

     bbs       tty1                          Tue Nov 29 19:09 - 19:09  (00:00)

     root      tty1                          Tue Nov 29 19:08 - 19:09  (00:00)

     root      tty1                          Tue Nov 29 19:07 - 19:07  (00:00)

     runlevel  ~                             Tue Nov 29 19:07

     reboot    ~                             Tue Nov 29 19:07

/etc/zprofile : link 到 /etc/profile

转自:CCCA 资工86 许景华

华为OD机试新系统真题-谁没交卷(Java /Py/C++/Go/C/Js) 华为OD机试 新系统真题【谁没交卷】,提供C语言、Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解,以及在线OJ模拟做题。华为OD机试真题【谁没交卷】多语言题解。 阅读详情

相关推荐

如何构建高质量的 QA 问答知识库

NLP 技术落地最普遍的场景就是智能客服,如阿里的”小蜜“,京东的“JIMI”等等。NLP 技术也广泛应用于搜索系统。无论是“智能客服”,还是“搜索系统”,构建的前提是拥有“高质量的QA知识库”。今天聊聊“如何构建高质量QA知识库。”。 历史对话数据分布分析 基于公司现有系统积累的大规模对话文本数据,需要对文本数据进行归类处理,分析每个部分数据的占比,挖掘出有价值的文本通过 NLP 相关技术进行商业价值转化。下文以医疗领域来举例说明,通过输入对象,可以将文本分为客服输入和用户输入两部分。挖掘相关问题,主要从

Jiassheng的博客 2153

gethostbyname出错 获取错误描述 Host name lookup failure

最近在做嵌入式项目的时候,突然发现gethostbyname失败了,会阻塞比较长的时间。起初一直不知道怎么查错误,查了很多资料,连怎么获取错误描述都不知道。查找了不少资料,也浪费了很多时间,发现网上都没有给出解决方法。今天终于解决了这个问题,在此简单记录,希望对大家有所帮助。           gethostbyname这个函数如果失败了,会返回一个NULL指针,并设置h_error。

胡老哈的学习记录 2万+

尝试使用CubeMX做stm32开发之九:SYS配置

参考《STM32中文参考手册_V10》,研究CubeMX中有关SYS的配置

Forster-C的博客 9420

有效解决SecureCRT错误:Hostname lookup failed: host not found

SecureCRT是一款方便用户在Windows环境下对Linux主机进行管理的软件,一般需要在windows系统上安装SecureCRT客户端,安装及破解过程可参考https://blog.youkuaiyun.com/xxujia/article/details/81348848(注意在运行注册机时应使用管理员权限)。 相应地,在Linux主机上需要安装ssh2服务,在终端中输入命令:sudo apt-g...

sunshine_hanxx的博客 3万+

从零开始:使用VMOS Pro和Xposed绕过APP环境检测的完整指南

本文详细解析了使用VMOS Pro和Xposed框架绕过APP环境检测的完整技术方案,包括模拟器检测、Root环境检测和Hook框架检测的对抗方法。通过实战案例和代码示例,展示了如何利用Xposed Hook技术拦截检测逻辑,特别针对360加固等保护技术提供了解决方案。

ee345的博客 735

【迁移学习综述】

迁移学习的目标是将某个领域或任务上学习到的知识应用到不同的但相关的领域或问题中。迁移学习的研究来源于一个观测:人类可以将以前的学到的知识应用于解决新的问题,更快的解决问题或取得更好的效果。迁移学习被赋予这样一个任务:从以前的任务当中去学习知识(knowledge)或经验,并应用于新的任务当中。换句话说,迁移学习目的是从一个或多个源任务(source tasks)中抽取知识、经验,然后应用于一个目标领域(target domain)当中去。

afadgas的博客 4319

关于调用gethostbyname失败的原因:Host name lookup failure.

调用gethostbyname失败后的变量存储在h_errno中,所以不能用perror打印,需要使用 Herror打印,打印后的错误为Host name lookup failure. 原因是由于找不到用户名对应的ip,所以进入/etc/hosts中添加上所需要的配置 192.168.1.192 onlyYou[即ip 空格 用户名], 再次调用即可成功。

qq_19670785的博客 1万+

在 SAP 中,寄售业务(Consignment)与管道业务(Pipeline)都属于“物料先到、发票后到”的特殊采购模式,但两者的库存形态、物权转移时点、结算触发条件、系统配置完全不同

SAP中寄售业务与管道业务均属"先货后票"采购模式,但存在本质差异。寄售业务(如手机芯片)采用实物库存管理(标记"K"),物权在领用时转移,通过411K/201K移动类型触发负债;管道业务(如蒸汽)无实物库存,采用261P等移动类型直接消耗并生成应付。系统配置上,寄售需K类信息记录及GR收货,管道需P类信息记录且免GR。两者均通过MRKO汇总结算,但寄售按领用量计费,管道按提取量实时计费。核心区别在于库存形态与物权转移时点。

金牌架构师 557

Linux网络配置

Linux集群网络配置: server_1(主机名) 192.168.2.128(IP地址) 192.168.2.1(网关) server_2(主机名) 192.168.2.129(IP地址) 192.168.2.1(网关) server_3(主机名) 192.168.2.130(IP地址) 192.168.2.1(网关) 虚拟网络编辑器 选择VMnet8更改设置 选择VMnet8设置子网IP DHCP设置 设置完成确定 更改WLAN 设置 修改CentOS配置 修改主机

weixin_44988811的博客 1127

如何离线环境下安装Dify插件 (可提供远程指导协助)

离线环境下安装Dify插件

litlit023的专栏 8100

使用MCAL的Fee模块集成ETAS存储协议栈

由于ETAS Fee模块导致初始化时间较长,且集成占用的内存较大,所以最终考虑使用MCAL中的Fee模块来集成ETAS的Nvm模块,本文介绍具体的集成方法注意:本文所涉及的集成前提是原有的ETAS协议栈已正常使用使用IFX Fee需要手动配置Fee,可能有出错的风险,最好是利用脚本自动生成代码来实现。另外,需要注意IFX的Fee中block数据没有CRC校验,如果使用该Fee,建议Nvm中加CRC校验(ETAS Fee中block自带CRC,可以不需要Nvm Crc),防止数据被意外篡改导致的异常。

赞的博客 404

/etc下档案的详细说明

 在 Linux 系统管理中, /etc 下面的档案无疑的伴演了极端重要的角色, 在这篇文章中, 将为各位介绍 /etc 下每个档案的用途, 及相关指令的运用, 希望能为大家在成 为 System Administrator 的路上有所助益.      特别要说明的是, 在这篇文章中, 有些档案仍然没有提到, 这是因为, 这些档案都 不是一二十行的描述就可以讲完的! 如 /rc

免费香港空间 1218

CentOS 7 Linux yum 安装 Docker,解决 Docker 镜像拉取失败问题

本文详细介绍了在 CentOS 7 系统上通过 yum 安装 Docker 的完整流程,包括卸载旧版本、配置阿里云国内镜像源、安装 Docker 及其组件、设置日志限制等关键步骤。针对国内用户常见的 Docker 镜像拉取失败问题,提供了两种实用解决方案:配置镜像加速器或通过代理访问官方源,并附带验证方法与排错指南,帮助读者高效完成 Docker 环境部署。

寒水馨 · 轻量级技术文档 · hanshuixin.org 1718

linux磁盘与档案系统管理-鸟哥的私房菜学习记录4

1、档案系统的运作: 作业系统的档案资料除了档案实际内容之外,还有很多的属性,例如档案权限rwx,与档案属性(拥有者、群组、时间参数等)。他们的存放如下: superblock:记录此filesystem 的整体资讯,包括inode/block的总量、使用量、剩余量, 以及档案系统的格式与相关资讯等; inode:记录档案的属性,一个档案占用一个inode,同时记录此档案的资料所在的bloc...

hepiaopiao_wemedia的博客 295

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

基于python+vue档案管理系统flask-django-php-nodejs

传统的档案管理,都是依靠人力来完成的,比如更改联系方式、更改个人信息、档案信息等输入和查询,这些都是由管理员手工完成的。每天要处理的档案信息数不胜数,海量的信息资料都是以传统的纸质文件形式存在的,既浪费了大量的人力、物力、空间,又给管理员和员工带来了极大的不便。海量的信息资料、分类、工作考察的详细程度,都在不断地推动着一种更加快速、高效的信息管理方法。

QQ511008285的博客 903

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

Java毕设项目房屋档案信息管理(java+VUE+Mybatis+Maven+Mysql)

Jdk1.8 + Tomcat8.5 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。JAVA + mybatis + Maven + Vue 等等组成,B/S模式 + Maven管理等等。2. 前端:vue+css+javascript+jQuery+easyUI+highcharts。Java毕设项目房屋档案信息管理(java+VUE+Mybatis+Maven+Mysql)

javabishe6666的博客 305

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

漫画脸描述生成详细步骤:从单句描述到完整角色档案(含身高体重)

本文介绍了如何在星图GPU平台上自动化部署漫画脸描述生成镜像,实现高效二次元角色设计。该工具基于Qwen3-32B大模型,可将简单描述转化为包含身高体重等细节的完整角色档案,并生成适用于NovelAI、Stable Diffusion等绘图软件的AI标签,大幅提升动漫创作效率。

weixin_35987118的博客 180

Java基于Vue+Spring Boot 的企业档案管理信息系统的设计与实现

本文的重点是对该系统的开发环境、要实现的基本功能和开发步骤进行了说明,并重点阐述了系统设计方案的关键点、设计思想该系统基于浏览器B/S的方式进行访问,采用springboot集成快速开发框架,前端使用vue方式,开发工具IntelliJ IDEA x64,因为该开发工具,内嵌了Tomcat服务运行机制,可不用单独下载Tomcat server服务器。由于考虑到数据库结构的灵活性,本系统想要使用 MySQL来设计数据库 ,而 java技术 B/S架构则确保了较高的平台适应性。

QQ860660016的博客 901

chmod命令详细用法

指令名称 : chmod 使用权限 : 所有使用者 使用方式 : chmod [-cfvR] [--help] [--version] mode file... 说明 : Linux/Unix 的档案调用权限分为三级 : 档案拥有者、群组、其他。利用 chmod 可以藉以控制档案如何被他人所调用。 参数 : mode : 权限设定字串,格式如下 : [ugoa...][[+-=][rwxX]......

weixin_33935777的博客 296

学院学生档案管理系统(JSP+java+springmvc+mysql+MyBatis)

学院学生档案管理系统是高等教育信息化的重要组成部分,它通过电子化、网络化的方式对学生的个人资料、学习成绩、行为表现等信息进行集中管理和处理。随着教育现代化的推进和大数据时代的到来,一个功能全面、操作便捷的学生档案管理系统对于提高学院管理效率、促进学生个性化发展、保障教育资源合理配置等方面具有显著意义。用户发送请求:用户通过浏览器或其他客户端向系统发送请求,请求访问特定的页面或执行特定的操作。前端展示结果:前端接收到后端返回的数据,根据需要进行展示。后端程序接收到请求后,根据请求的类型和参数进行相应的处理。

sryue02的博客 555

DeOldify企业集成方案:与OA/ERP/档案系统API对接技术白皮书

本文介绍了DeOldify图像上色服务的企业级集成方案。该方案的核心在于,企业可通过星图GPU平台自动化部署基于U-Net深度学习模型的DeOldify镜像,并利用其提供的API与企业OA、ERP等系统无缝对接,实现历史档案照片、工程图纸等黑白资料的批量、自动化上色,让珍贵的历史资料在现代数字系统中焕发新生。

weixin_42515392的博客 335

java毕业设计交通事故档案管理系统mybatis+源码+调试部署+系统+数据库+lw

java毕业设计交通事故档案管理系统mybatis+源码+调试部署+系统+数据库+lw。springboot基于B_S架构的视频监控系统的设计与实现。jspm平面设计类众包威客网网站mjmBBmysql程序。ssm基于VUE.js的保护环境的App的开发与实现。ssm基于Java的燕理快递中转站系统的设计与实现。springboot基于VUE的个人记账管理系统。ssm基于ssm+vue的高校个性化选课推荐。ssm牧场奶牛疾病信息管理系统的设计与实现。ssm基于JavaEE的疆域特色农家乐系统。

bishe801的博客 288

计算机专业java毕业设计-基于springboot的学生成长档案管理系统基于springboot的学生档案管理系统【附源码、数据库、文档】

计算机专业java毕业设计-基于springboot的学生成长档案管理系统基于springboot的学生档案管理系统【附源码、数据库、文档】

867

基于JAVA文物档案管理系统(源码+定制+开发)

【技术专家阿龙分享Java全栈开发经验】 阿龙作为拥有10万+粉丝的Java技术专家,在优快云、掘金等平台担任优质作者,专注于Java技术体系的全栈开发。本文系统介绍了: Java核心技术:跨平台特性、JVM机制及面向对象优势 MySQL关系型数据库特点及SQL基础操作 SpringBoot框架六大核心优势(自动配置、独立运行等) Vue.js前端框架的渐进式特性 B/S架构的服务器负载优势 主流推荐算法原理(内容/协同过滤/混合推荐) 提供完整的SpringBoot项目代码示例,包含Maven配置、控制

程序员阿龙的博客 1150

2026年8月过期档案销毁方式全解析:哪种更推荐?

引言:一份过期的档案,真的可以随意丢弃吗?你有无曾有过好奇, 那些被尘封于档案室角落之中、早就过了保管期限的文件, 终去往了哪里? 是轻轻松松就扔到垃圾桶

u012815774的博客 158

WARC文件处理宝典:互联网档案馆的Python开源库安装与配置完全指南

WARC文件处理宝典:互联网档案馆的Python开源库安装与配置完全指南 项目基础介绍 WARC(Web ARChive)图书馆是由互联网档案馆(Internet Archive)维护的一个强大工具,旨在简化对WARC文件的读取和写入操作。WARC格式是一种专为存档网页抓取数据设计的文件格式。这个开源项目,internetarchive/warc,采用纯Python编写,让开发者能够高效地处理网络...

gitblog_01229的博客 1116
上一篇: 从DOS系统引导LINUX系统
下一篇: linux指令大全(完整篇)
zcatlinux
博客等级 码龄22年 56粉丝 760原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值