加入收藏 | 设为首页 | 会员中心 | 我要投稿 三门峡站长网 (https://www.0398zz.com.cn/)- 云连接、设备管理、智能边缘云、云防火墙、数据加密!
当前位置: 首页 > 教程 > 正文

Linux开发那些事儿(高效10个技巧)

发布时间:2021-01-25 15:09:06 所属栏目:教程 来源:互联网
导读:技巧 1:卸载无响应的 DVD 驱动器 网络新手的经历:按下服务器(运行基于 Redmond 的操作系统)DVD 驱动器上的 Eject 按钮时,它会立即弹出。他然后抱怨说,在大多数企业 Linux 服务器中,如果在那个目录中运行某个进程,弹出就不会发生。作为一名长期的 Linux

技巧 1:卸载无响应的 DVD 驱动器

网络新手的经历:按下服务器(运行基于 Redmond 的操作系统)DVD 驱动器上的 Eject 按钮时,它会立即弹出。他然后抱怨说,在大多数企业 Linux 服务器中,如果在那个目录中运行某个进程,弹出就不会发生。作为一名长期的 Linux 管理员,我会重启机器。如果我不清楚正在运行什么,以及为何不释放 DVD 驱动器,我则会弹出磁盘。但这样效率很低。

下面介绍如何找到保持 DVD 驱动器的进程,并轻松弹出 DVD 驱动器:首先进行模拟。在 DVD 驱动器中放入磁盘,打开一个终端,装载 DVD 驱动器:


  1. # mount /media/cdrom  
  2. # cd /media/cdrom  
  3. # while [ 1 ]; do echo "All your drives are belong to us!"; sleep 30; done 

现在打开第二个终端并试着弹出 DVD 驱动器:


  1. # eject 

将得到以下消息:


  1. umount: /media/cdrom: device is busy 

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


  1. # fuser /media/cdrom 

进程正在运行,无法弹出磁盘其实是我们的错误。现在,如果您是根用户,可以随意终止进程:


  1. # fuser -k /media/cdrom 

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


  1. # eject 

fuser 很正常。

技巧 2:恢复出现问题的屏幕

尝试以下操作:


  1. # cat /bin/cat 

注意!终端就想垃圾一样。输入的所有内容非常零乱。那么该怎么做呢?

输入 reset。但是,输入 reset 与 输入 reboot 或 shutdown 太接近了。吓得手心冒汗了吧 — 特别是在生产机器上执行这个操作时。

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


  1. # reset 

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

技巧 3:屏幕协作

来自产品工程的高级维护用户 David 打电话说:“为什么我不能在您部署的这些新机器上编译 supercode.c”。

您会问他:“您运行的是什么机器?”

David 答道:“ Posh”。(这个虚构的公司将它的 5 台生产服务器以纪念 Spice Girls 的方式命名)。这下您可以大显身手了,另一台机器由 David 操作:


  1. # su - david 

转到 posh:


  1. # ssh posh 

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


  1. # screen -S foo 

然后呼叫 David:“David,在终端运行命令 # screen -x foo”。

这时您和 David 的会话在 Linux shell 中联接在一起。您可以输入,他也可以输入,但彼此可以看到对方所做的事情。这避免了进入其他层次,而且双方都有相同的控制权。这样做的好处是 David 可以观察到您的故障诊断技巧,并能准确了解如何解决问题。

最后大家都能看到问题所在:David 的编译脚本对一个不在此新服务器上的旧目录进行了硬编码。将它装载后再次编译即可解决问题,然后 David 继续工作。您则可以继续之前的娱乐活动。

关于此技巧需要注意的一点是,双方需要以同一用户登录。screen 命令还可以:实现多个窗口和拆分屏幕。请阅读手册页获取更多相关信息。

对于 screen 会话,我还有最后一个技巧。要从中分离并让它打开,请输入


  1. Ctrl-A D 

(即按住 Ctrl 键并点击 A 键。然后按 D 键)。然后通过再次运行 screen -x foo 命令可以重新拼接起来。

 

以下是操作步骤:

检查什么是允许做的,但要确保您问对了人。大多数人都担心您打开了防火墙,但他们不明白这是完全加密的。而且,必须破解外部机器才能进入公司内部。不过,您可能属于 “敢作敢为” 型的人物。自己进行判断应该选择的方式,但不如意时不抱怨别人。

使用 -R 标记通过 SSH 从 ginger 连接到 blackbox.example.com。假设您是 ginger 上的根用户,tech 需要根用户 ID 来帮助使用系统。使用 -R 标记将 blackbox 上端口 2222 的说明转发到 ginger 的端口 22 上。这就设置了 SSH 通道。注意,只有 SSH 通信可以进入 ginger:您不会将 ginger 放在无保护的 Internet 上。可以使用以下语法实现此操作:


  1. ~# ssh -R 2222:localhost:22 thedude@blackbox.example.com 

进入 blackbox 后,只需一直保持登录状态。我总是输入以下命令:


  1. thedude@blackbox:~$ while [ 1 ]; do date; sleep 300; done 

使机器保持忙碌状态。然后最小化窗口。

现在指示 tech 上的朋友使用 SSH 连接到 blackbox,而不需要使用任何特殊的 SSH 标记。但必须把密码给他们:


  1. root@tech:~# ssh thedude@blackbox.example.com  
  2. tech 位于 blackbox 上后,可以使用以下命令从 SSH 连接到 ginger:  
  3. thedude@blackbox:~$: ssh -p 2222 root@localhost 

Tech 将提示输入密码。应该输入 ginger 的根密码。现在您和来自 tech 的支持可以一起工作并解决问题。甚至需要一起使用屏幕!

 

(编辑:三门峡站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读