懒惰 Linux 管理员的 10 个关键技巧Word文件下载.docx

上传人:b****3 文档编号:6521886 上传时间:2023-05-06 格式:DOCX 页数:18 大小:348.04KB
下载 相关 举报
懒惰 Linux 管理员的 10 个关键技巧Word文件下载.docx_第1页
第1页 / 共18页
懒惰 Linux 管理员的 10 个关键技巧Word文件下载.docx_第2页
第2页 / 共18页
懒惰 Linux 管理员的 10 个关键技巧Word文件下载.docx_第3页
第3页 / 共18页
懒惰 Linux 管理员的 10 个关键技巧Word文件下载.docx_第4页
第4页 / 共18页
懒惰 Linux 管理员的 10 个关键技巧Word文件下载.docx_第5页
第5页 / 共18页
懒惰 Linux 管理员的 10 个关键技巧Word文件下载.docx_第6页
第6页 / 共18页
懒惰 Linux 管理员的 10 个关键技巧Word文件下载.docx_第7页
第7页 / 共18页
懒惰 Linux 管理员的 10 个关键技巧Word文件下载.docx_第8页
第8页 / 共18页
懒惰 Linux 管理员的 10 个关键技巧Word文件下载.docx_第9页
第9页 / 共18页
懒惰 Linux 管理员的 10 个关键技巧Word文件下载.docx_第10页
第10页 / 共18页
懒惰 Linux 管理员的 10 个关键技巧Word文件下载.docx_第11页
第11页 / 共18页
懒惰 Linux 管理员的 10 个关键技巧Word文件下载.docx_第12页
第12页 / 共18页
懒惰 Linux 管理员的 10 个关键技巧Word文件下载.docx_第13页
第13页 / 共18页
懒惰 Linux 管理员的 10 个关键技巧Word文件下载.docx_第14页
第14页 / 共18页
懒惰 Linux 管理员的 10 个关键技巧Word文件下载.docx_第15页
第15页 / 共18页
懒惰 Linux 管理员的 10 个关键技巧Word文件下载.docx_第16页
第16页 / 共18页
懒惰 Linux 管理员的 10 个关键技巧Word文件下载.docx_第17页
第17页 / 共18页
懒惰 Linux 管理员的 10 个关键技巧Word文件下载.docx_第18页
第18页 / 共18页
亲,该文档总共18页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

懒惰 Linux 管理员的 10 个关键技巧Word文件下载.docx

《懒惰 Linux 管理员的 10 个关键技巧Word文件下载.docx》由会员分享,可在线阅读,更多相关《懒惰 Linux 管理员的 10 个关键技巧Word文件下载.docx(18页珍藏版)》请在冰点文库上搜索。

懒惰 Linux 管理员的 10 个关键技巧Word文件下载.docx

在释放该设备之前,让我们找出谁在使用它。

#fuser/media/cdrom

进程正在运行,无法弹出磁盘其实是我们的错误。

现在,如果您是根用户,可以随意终止进程:

#fuser-k/media/cdrom

现在终于可以卸载驱动器了:

fuser很正常。

技巧2:

恢复出现问题的屏幕

尝试以下操作:

#cat/bin/cat

注意!

终端就想垃圾一样。

输入的所有内容非常零乱。

那么该怎么做呢?

输入reset。

但是,输入reset与输入reboot或shutdown太接近了。

吓得手心冒汗了吧—特别是在生产机器上执行这个操作时。

放心吧,在进行此操作时,机器不会重启。

继续操作:

#reset

现在屏幕恢复正常了。

这比关闭窗口后再次登陆好多了,特别是必须经过5台机器和SSH才能到达这台机器时。

技巧3:

屏幕协作

来自产品工程的高级维护用户David打电话说:

“为什么我不能在您部署的这些新机器上编译supercode.c”。

您会问他:

“您运行的是什么机器?

David答道:

“Posh”。

(这个虚够的公司将它的5台生产服务器以纪念SpiceGirls的方式命名)。

这下您可以大显身手了,另一台机器由David操作:

#su-david

转到posh:

#sshposh

到达之后,运行以下代码:

#screen-Sfoo

然后呼叫David:

“David,在终端运行命令#screen-xfoo”。

这使您和David的会话在Linuxshell中联接在一起。

您可以输入,他也可以输入,但彼此可以看到对方所做的事情。

这避免了进入其他层次,而且双方都有相同的控制权。

这样做的好处是David可以观察到您的故障诊断技巧,并能准确了解如何解决问题。

最后大家都能看到问题所在:

David的编译脚本对一个不在此新服务器上的旧目录进行了硬编码。

将它装载后再次编译即可解决问题,然后David继续工作。

您则可以继续之前的娱乐活动。

关于此技巧需要注意的一点是,双方需要以同一用户登录。

screen命令还可以:

实现多个窗口和拆分屏幕。

请阅读手册页获取更多相关信息。

对于screen会话,我还有最后一个技巧。

要从中分离并让它打开,请输入Ctrl-AD(即按住Ctrl键并点击A键。

然后按D键)。

然后通过再次运行screen-xfoo命令可以重新拼接起来。

技巧4:

找回根密码

如果忘记根密码,就必须重新安装整台机器。

更惨的是,许多人都会这样做。

但是启动机器并更改密码却十分简单。

这并非在所有情况下都适用(比如设置了一个GRUB密码,但也忘记了),但这里介绍一个CentOSLinux示例,说明一般情况下的操作。

首先重启系统。

重启时会跳出如图1所示的GRUB屏幕。

移动箭头键,这样可以保留在此屏幕上,而不是进入正常启动。

图1.重启后的GRUB屏幕

然后,使用箭头键选择要启动的内核,并输入E编辑内核行。

然后便可看到如图2所示的屏幕:

图2:

准备编辑内核行

再次使用箭头键突出显示以kernel开始的行,按E编辑内核参数。

到达如图3所示的屏幕时,在图3中所示的参数后追加数字1即可:

图3.在参数后追加数字1

然后按Enter和B,内核会启动到单用户模式。

然后运行passwd命令,更改用户根密码:

sh-3.00#passwd

NewUNIXpassword:

RetypenewUNIXpassword:

passwd:

allauthenticationtokensupdatedsuccessfully

现在可以重启了,机器将使用新密码启动。

技巧5:

SSH后门

有很多次,我所在的站点需要某人的远程支持,而他却被公司防火强阻挡在外。

很少有人意识到,如果能通过防火墙到达外部,那么也能轻松实现让外部的信息进来。

从本意讲,这称为“在防火墙上砸一个洞”。

我称之为SSH后门。

为了使用它,必须有一台作为中介的连接到Internet的机器。

在本例中,将这样台机器称为。

公司防火墙后面的机器称为ginger。

此技术支持的机器称为tech。

图4解释了设置过程。

图4.在防火墙上砸一个洞

以下是操作步骤:

1检查什么是允许做的,但要确保您问对了人。

大多数人都担心您打开了防火墙,但他们不明白这是完全加密的。

而且,必须破解外部机器才能进入公司内部。

不过,您可能属于“敢作敢为”型的人物。

自己进行判断应该选择的方式,但不如意时不抱怨别人。

2使用-R标记通过SSH从ginger连接到。

假设您是ginger上的根用户,tech需要根用户ID来帮助使用系统。

使用-R标记将blackbox上端口2222的说明转发到ginger的端口22上。

这就设置了SSH通道。

注意,只有SSH通信可以进入ginger:

您不会将ginger放在无保护的Internet上。

可以使用以下语法实现此操作:

~#ssh-R2222:

localhost:

22thedude@

进入blackbox后,只需一直保持登录状态。

我总是输入以下命令:

thedude@blackbox:

~$while[1];

dodate;

sleep300;

使机器保持忙碌状态。

然后最小化窗口。

3现在指示tech上的朋友使用SSH连接到blackbox,而不需要使用任何特殊的SSH标记。

但必须把密码给他们:

root@tech:

~#sshthedude@.

4tech位于blackbox上后,可以使用以下命令从SSH连接到ginger:

~$:

ssh-p2222root@localhost

5Tech将提示输入密码。

应该输入ginger的根密码。

6现在您和来自tech的支持可以一起工作并解决问题。

甚至需要一起使用屏幕!

(参见技巧4)。

技巧6:

通过SSH通道进行远程VNC会话

VNC或虚拟网络计算已经存在很长时间了。

通常,当远程服务器上的某类图形程序只能在此服务器上使用时,我才需要VNC。

例如,假设在技巧5中,ginger是一台存储服务器。

许多设备都使用GUI程序来管理存储控制器。

这些GUI管理工具通常需要通过一个网络直接连接到存储服务器,而这个网络有时保存在专用的子网络中。

因此,只能通过ginger访问这个GUI。

可以尝试使用-X选项通过SSH连接到ginger并启动它,但这对带宽要求很高,您需要忍受等待的痛苦。

VNC是一个网络友好的工具,几乎适用于所有操作系统。

假设设置与技巧5中的一样,但希望tech能访问VNC而不是SSH。

对于这种情况,需要进行一些类似的操作,不过转发的是VNC端口。

执行以下操作步骤:

7在ginger上启动一个VNC服务器会话。

运行以下命令:

root@ginger:

~#vncserver-geometry1024x768-depth24:

99

这些选项指示启动服务器,分辨率为1024x768,像素深度为每像素24位。

如果使用较慢的连接设置,8也许是更好的选项。

使用:

99指定可访问VNC服务器的端口。

VNC协议在5900处启动,因此:

99表示服务器可从端口5999访问。

启动该会话时,要求您指定密码。

用户ID与启动VNC服务器时的用户相同(本例中就是根用户)。

8从ginger连接到的SSH将blackbox上的端口5999转发到ginger。

这通过运行以下命令在ginger中完成:

~#ssh-R5999:

5999thedude@

运行此命令后,需要将此SSH会话保持为打开状态,以便保留转发到ginger的端口。

此时,如果在blackbox上,那么运行以下命令即可访问ginger上的VNC会话:

~$vncviewerlocalhost:

这将通过SSH将端口转发给ginger,但我们希望通过tech让VNC访问ginger。

为此,需要另一个通道。

9在tech中,打开一个通道,通过SHH将端口5999转发到blackbox上的端口5999。

这通过运行以下命令完成:

~#ssh-L5999:

这次使用的SSH标记为-L,它不是将5999放到blackbox,而是从中获取。

到达blackbox后,需要保持此会话为打开状态。

现在即可在tech中使用VNC了!

10在tech中,运行以下命令使VNC连接到ginger:

~#vncviewerlocalhost:

99.

Tech现在将拥有一个直接到ginger的VNC会话。

设置虽然有点麻烦,但比为修复存储阵列而四处奔波强多了。

不过多实践几次这就变得容易了。

对此技巧我还要补充一点:

如果tech运行的是Windows®

操作系统,并且没有命令行SSH客户端,那么tech可以运行Putty。

Putty可以设置为通过查找侧栏中的选项来转发SSH端口。

如果端口是5902而不是本例中的5999,则可以输入图5中的内容。

图5.Putty可以转发用作通道的SSH

如果进行了此设置,那么tech就可以使用VNC连接到localhost:

2,如同tech正在Linux操作系统上运行一样。

技巧7:

检查带宽

设想:

公司A有一个名为ginger的存储服务器,并通过名为beckham的客户端节点装载NFS。

公司A确定他们需要从ginger得到更多的带宽,因为有大量的节点需要NFS装载ginger的共享文件系统。

实现此操作的最常用和最便宜的方式是将两个吉比特以太网NIC组合在一起。

这是最便宜的,因为您通常会有一个额外的可用NIC和一个额外的端口。

所以采取此这个方法。

不过现在的问题是:

到底需要多少带宽?

吉比特以太网理论上的限制是128MBit/s。

这个数字从何而来?

看看这些计算:

1Gb=1024Mb;

1024Mb/8=128MB;

b"

="

bits,"

、"

B"

bytes"

但实际看到的是什么呢,有什么好的测量方法呢?

我推荐一个工具iperf。

可以按照以下方法获得iperf:

#wget[url]

需要在ginger和beckham均可见的共享文件系统上安装此工具,或者在两个节点上编译并安装。

我将在两个节点均可见的bob用户的主目录中编译它:

tarzxvfiperf*gz

cdiperf-2.0.2

./configure-prefix=/home/bob/perf

make

makeinstall

在ginger上,运行:

#/home/bob/perf/bin/iperf-s-fM

这台机器将用作服务器并以MBit/s为单位输出执行速度。

在beckham节点上,运行:

#/home/bob/perf/bin/iperf-cginger-P4-fM-w256k-t60

两个屏幕上的结果都指示了速度是多少。

在使用吉比特适配器的普通服务器上,可能会看到速度约为112MBit/s。

这是TCP堆栈和物理电缆中的常用带宽。

通过以端到端的方式连接两台服务器,每台服务器使用两个联结的以太网卡,我获得了约220MBit/s的带宽。

事实上,在联结的网络上看到的NFS约为150-160MBit/s。

这仍然表示带宽可以达到预期效果。

如果看到更小的值,则应该检查是否有问题。

我最近碰到一种情况,即通过连接驱动程序连接两个使用了不同驱动程序的NIC。

这导致性能非常低,带宽约为20MBit/s,比不连接以太网卡时的带宽还小!

技巧8:

命令行脚本和实用程序

Linux系统管理员通过使用权威的命令行脚本会变得更高效。

这包括巧妙使用循环和知道如何使用awk、grep和sed等的实用程序解析数据。

通常这可以减少击键次数,降低用户出错率。

例如,假设需要为即将安装的Linux集群生成一个新的/etc/hosts文件。

一般的做法是在vi或文本编辑器中添加IP地址。

不过,可以通过使用现有/etc/hosts文件并将以下内容追加到此文件来实现。

在命令行上运行:

#P=1;

foriin$(seq-w200);

192.168.99.$Pn$i"

P=$(expr$P+1);

done>

>

/etc/hosts

200个主机名(n001到n200)将由IP地址(192.168.99.1到192.168.99.200)来创建。

手动填充这样的文件有可能会创建重复的IP地址或主机名,因此这是使用内置命令行消除用户错误的好例子。

请注意,这是在bashshell(大多数Linux发行版的默认值)内完成的。

再举一个例子,假设要检查Linux集群中的各个计算节点中的内存大小是否一样。

通常,拥有一个发行版或类似的shell是最好的。

但是为了演示,以下使用SSH。

假设SSH设置为不使用密码验证。

然后运行:

#fornumin$(seq-w200);

dosshn$numfree-tm|grepMem|awk'

{print$2}'

done|sort|uniq

这样的命令行相当简洁。

(如果在其中放入正则表达式情况会更糟)。

让我们对它进行细分,详细讨论各部分。

首先从001循环到200。

使用seq命令的-w选项在前面填充0。

然后替换num变量,创建通过SSH连接的主机。

有了目标主机后,向它发出命令。

本例中是:

free-m|grepMem|awk'

这个命令的意思是:

∙使用free命令获取以兆字节为单位的内存大小。

∙获取这个命令的结果,并使用grep获取包含字符串Mem的行。

∙获取那一行并使用awk输出第二个字段,它是节点中的总内存。

在每个节点上执行这个操作。

在每个节点上执行命令后,200个节点的整个输出就传送(|d)到sort命令,以对所有内存值进行排序。

最后,使用uniq命令消除重复项。

这个命令会导致以下情况中的一种:

∙如果所有节点(n001到n200)拥有相同的内存大小,则只显示一个数字。

这个数字就是每个操作系统看到的内存大小。

∙如果节点内存大小不同,将会看到几个内存大小的值。

∙最后,如果某个节点上的SSH出现故障,则会看到一些错误消息。

这个命令并不是完美无缺的。

如果发现与预期不同的内存值,您就不知道是哪一个节点出了问题,或者有多少个节点。

为此需要发出另一个命令。

这个技巧提供了一种查看某些内容的快速方式,而且如果发生错误,您可以立刻知道。

其价值在于快速检查。

技巧9:

控制台侦察

有些软件会向控制台输出错误消息,而控制台不一定会显示在SHH会话中。

使用vcs设备可以进行检查。

在SSH会话中,在远程服务器#cat/dev/vcs1上运行以下命令。

这将显示第一个控制台中的内容。

也可以使用2、3等查看其他虚拟终端。

如果某个用户在远程系统上输入,您将看到他输入的内容。

在大多数数据场中,使用远程终端服务器、KVM甚至SerialOverLAN是查看这类信息的最好方式;

它也提供了带外查看功能的一些好处。

使用vcs设备能够提供一种快速带内方法,这能节省去机房查看控制台的时间。

技巧10:

随机系统信息收集

在技巧8中,介绍了一个使用命令行获取有关系统中总内存信息的例子。

在这个技巧中,我将介绍几个其他方法,用于从需要进行验证、故障诊断或给予远程支持的系统收集重要信息。

首先,收集关于处理器的信息。

通过以下命令很容易实现:

#cat/proc/cpuinfo。

这个命令给出关于处理器的速度、数量和型号的信息。

在许多情况下使用grep可以得到需要的值。

我经常做的检查是确定系统中处理器的数量。

因此,如果我买了一台带双核处理器的四核服务器,我可以运行以下命令:

#cat/proc/cpuinfo|grepprocessor|wc-l。

然后我看到值应该是8。

如果不是,我会打电话给供应商,让他们给我派送另一台处理器。

我需要的另一条信息是磁盘信息。

可以使用df命令获得。

我总是添加-h标记,以便看到以十亿字节或兆字节为单位的输出。

#df-h还会显示磁盘的分区情况。

列表最后是查看系统固件的方式——一个获取BIOS级别和NIC上的固件信息的方法。

要检查BIOS版本,可以运行dmidecode命令。

遗憾的是,不能轻易使用grep获取信息,所以这不是一个很有效的方法。

对于我的LenovoT61laptop,输出如下:

#dmidecode|less

...

BIOSInformation

Vendor:

LENOVO

Version:

7LET52WW(1.22)

ReleaseDate:

08/27/2007

这比重启机器并查看POST输出有效得多。

要检查以太网适配器的驱动程序和固件版本,请运行ethtool:

#ethtool-ieth0

driver:

e1000

version:

7.3.20-k2-NAPI

firmware-version:

0.3-0

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 党团工作 > 入党转正申请

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2