Linux 系统操作上,至少需要了解账号管理、档案属性与权限、程序与资源管理、硬件如硬盘之挂载与软件套件之安装如RPM套件管理员等等,而
vi 与 Shell 亦是不可忽略之基本技能,更重要者,日志的管理以及系统服务的原理(如
stand alone 与 super deamon 服务启动的方式差异等)亦需同时厘清,以方便未来架设网站时除错的技巧;
在网络的基础知识上,TCP/IP 的观念以及路由的概念相当的重要,此外,DNS
的概念也很重要。
在心态的调整上面,系统管理员需要的道德感以及使命感需要较高的标准。
如果我有一颗硬盘在 A 主机上面安装了 Linux 之后,拿到另一台配备相同的 B
主机上面去进行开机,结果竟然无法顺利开机,您认为可能的原因是什么?
由于配备相同,所以排除硬件的问题,不过,考虑到
IDE 排线与 partition 的代号,以及 /etc/fstab 的对应,所以应该是由于 IDE
插槽放置错误所致(Linux 系统下,每个 IDE 插槽对应的 partition 名称皆不相同喔!)。此外,上次不正常关机也可能造成硬盘损害而无法开机成功!
一般来说,在 Linux 系统上,使用者预设的家目录在那个目录下?另外,新增一个使用者时,该使用者预设的家目录内容来自那个目录下?
使用 tar 解开 httpd-2.0.52.tar.gz 之后,务必进入该目录内读取
REAME 或/与 INSTALL 档案,以了解是否还需要其它的相关套件的搭配安装;
以 ./configure --help 查阅一下是否有相关可以加入或者取消的编译内容;
使用 make 读取 Makefile 来编译程序;
使用 make install 来安装程序!
我以原始码的方式进行一个套件的安装,但是在分析系统的时候,分析程序一直告诉我找不到
cc 这个指令,请问这是什么问题?为何需要 cc ?又,我该如何解决这个问题,好让套件可以顺利的被安装在我的
Linux 上面?
如前面几个题目所说的,因为是原始码,所以还需要编译程序来将该原始码编译成为可以在您的
Linux 系统上面跑的 binary 档案,在 Linux 上头预设的编译程序就是 gcc 这个编译器(compiler)。如果您在安装
Linux 的时候,使用 Linux Installer 预设的套件选择,那通常会没有安装 gcc
以及 make 等套件,此时,请拿出您的原版光盘,以 mount 指令挂载后,使用 RPM
将一个一个相关的套件安装即可(过程会蛮复杂的!)^_^
我发现我的 Linux 系统怪怪的,似乎有什么不知名的程序在内存当中跑,我该如何将这个不知名的程序捉出来,并且将他移除?
如果要捉出程序(process)的话,可以使用 ps -aux
或者是直接输入 top 来查询 process 的 ID (PID),找到 PID 号码后,再以 kill
-9 PID 来删除该程序即可。
在网络媒体上面,数据要传输时,必须知道下一个节点的地址才能顺利传送,这个节点的地址如网络卡的硬件地址就是
MAC 了。硬件地址是在网络卡出厂时就已经焊死在上面了(某些笔记型计算机的 MAC
则可以经由特殊软件修改),而软件地址,则是我们常说的 IP ,这两个并不相同喔!其中,MAC
与 IP 互相的对应则是以 ARP Table 来进行转译的!
ARP Tables 主要在对应 IP 与 MAC ,当主机要将数据封包送出到下个节点时,必须要知道下个节点的
MAC 才能传送,而如果不知道 MAC 时,就得需要使用逻辑广播来查询 IP 与 MAC
的对应才行。不过,当您的主机内部的 ARP table 已经记录了 IP 对应的 MAC 之后,那么该资料封包则可以立即传送到下个节点去,而不需要再次的进行逻辑广播了。要知道目前的
arp table 内有多少纪录,可以使用 『 arp -a 』来查询。
三向交握为较为可靠的封包传输的一种确认方式,因此只有
TCP 封包才能具有三向交握。他利用(1) client 对 Server 主动联机时带有的 SYN
标志,(2)Server 响应时的 SYN/ACK 及(3)最终 Client 确认的 ACK 标志来确认封包的可靠性。更详细说明请参考第二章
TCP 与三向交握。
请问 stand alone 与 super daemon 各是什么?
Linux 系统的服务有独立启动(stand alone)及超级服务员(super
daemon)两种启动的方式。挂在 super daemon 底下的服务可以经由 super daemon
的控管,以加强一些安全功能,不过由于还要经过 super daemon 的管理,所以服务的连接速度上会比
stand alone 慢一点。详细的说明请参考『鸟哥的
Linux 私房菜 -- 基础学习篇』第二十一章『认识系统服务』内的相关说明吧!
可能由于主机重新开机过, public key 改变了,请修改您的
~/ssh/known_hosts 里面的主机 IP ;
可能由于 /etc/ssh/sshd_config 里面的设定问题,导致您这个使用者无法使用;
在 /etc/passwd 里面,您的 user 不具有可以登入的 shell
;
其它因素(如账号密码过期等等)
既然 ssh 是比较安全的资料封包传送方式,那么我就可以在 Internet 上面开放我的
Linux 主机的 SSH 服务了吗?!请说明您选择的答案的原因!
最好不要对 Internet 开放您的 SSH 服务,因为 SSH
的加密函式库使用的是 openssl ,一般 Linux distribution 使用的 SSH 则是
openssh ,这两个套件事实上仍有不少的漏洞被发布过,因此,最好不要对 Internet
开放,毕竟 SSH 对于主机的使用权限是很高的!
若我的 sendmail 主机有很多名称,我想让这些名称都可以进行
mail 的接收,应该修改什么档案?
可以修改 /etc/mail/local-host-names 来达成!
什么是 Open Relay?
所谓的 Open Relay 就是,不论发信端来自何处,您的
Open Relay 的主机均可以帮发信端将信件发送出去,这个称为 Open Relay 。如果您的
mail server 具有 open relay 的情况,那么很容易遭受到垃圾邮件的填充,不但造成网络频宽的耗损,也容易让您的主机被列入黑名单当中!
我的 Linux 主机本来放置在日本东京,现在想将他拿到台湾来运作,不过因为日本与台湾有一个小时的时差,所以我的时间应该需要经过调整才行。不过,因为我的
BIOS Time 主要是依据 UTC 时间来设定的,所以似乎只要更动时区参数即可。请问我该如何设定时区,好让我的
Linux 主机能够显示正确的时间?