寻觅生命中的那一片浅草......

文章带标签 Linux

CPU拓扑查看工具:hwloc

如果要看CPU拓扑,lscpu,numastat都可以看,今天发现hwloc,会更直观些,下面摘抄官网介绍,简单点说,hwloc可以显示CPU拓扑,比较方面地查看CPU各级缓存以及各个核、物理CPU之间,可以共享哪一级别的CPU cache

The Portable Hardware Locality (hwloc) software package provides a portable abstraction (across OS, versions, architectures, …) of the hierarchical topology of modern architectures, including NUMA memory nodes, sockets, shared caches, cores and simultaneous multithreading.

简单使用

hwloc-ls

如果是文本界面,则会输出文字,如果是桌面环境,则会弹窗一个窗口

引用一张官方的图:

 

ZZ:rlwrap解决sqlplus上下键找历史命令

在Linux下面使用sqlplus默认不可以使用上下键查找历史命令,使用起来很不方便,影响效率。不过,可以通过第三方工具rlwrap来解决这个问题。

rlwrap下载:http://utopia.knoware.nl/~hlub/uck/rlwrap/

转载自:rlwrap解决sqlplus上下键找历史命令

当然也适用于Erlang的命令,为其添加历史命令记录

Linux下根据模块名查看网卡驱动版本

例如我们要查看博通网卡的驱动版本,如果该机器上刚好是博通的网卡,最简单的方法就是
ethtool -i eth0

但如果我们所查看的机器用的不是博通的网卡,则可以通过以下方法查看
我们知道博通网卡的驱动文件名叫bnx2.ko
我们查找下bnx2.ko的位置
updatedb
locate bnx2.ko
结果如下
/lib/modules/2.6.32-71.el6.x86_64/kernel/drivers/net/bnx2.ko
查看驱动详细情况
modinfo /lib/modules/2.6.32-71.el6.x86_64/kernel/drivers/net/bnx2.ko
以下信息中,version记录就是我们的网卡驱动版本,是2.0.8-j15

filename: /lib/modules/2.6.32-71.el6.x86_64/kernel/drivers/net/bnx2.ko
firmware: bnx2/bnx2-rv2p-09ax-5.0.0.j10.fw
firmware: bnx2/bnx2-rv2p-09-5.0.0.j10.fw
firmware: bnx2/bnx2-mips-09-5.0.0.j15.fw
firmware: bnx2/bnx2-rv2p-06-5.0.0.j3.fw
firmware: bnx2/bnx2-mips-06-5.0.0.j6.fw
version: 2.0.8-j15
license: GPL
description: Broadcom NetXtreme II BCM5706/5708/5709/5716 Driver
author: Michael Chan <mchan@broadcom.com>
srcversion: 8CDA41B3E0DF70A112FBA80
alias: pci:v000014E4d0000163Csv*sd*bc*sc*i*
alias: pci:v000014E4d0000163Bsv*sd*bc*sc*i*
alias: pci:v000014E4d0000163Asv*sd*bc*sc*i*
alias: pci:v000014E4d00001639sv*sd*bc*sc*i*
alias: pci:v000014E4d000016ACsv*sd*bc*sc*i*
alias: pci:v000014E4d000016AAsv*sd*bc*sc*i*
alias: pci:v000014E4d000016AAsv0000103Csd00003102bc*sc*i*
alias: pci:v000014E4d0000164Csv*sd*bc*sc*i*
alias: pci:v000014E4d0000164Asv*sd*bc*sc*i*
alias: pci:v000014E4d0000164Asv0000103Csd00003106bc*sc*i*
alias: pci:v000014E4d0000164Asv0000103Csd00003101bc*sc*i*
depends:
vermagic: 2.6.32-71.el6.x86_64 SMP mod_unload modversions
parm: disable_msi:Disable Message Signaled Interrupt (MSI) (int)

Nginx递归限制访问同名目录

Nginx根目录是/opt/www

假如
/opt/www/a/x
/opt/www/a/d/x
/opt/www/b/x
如果配置可以禁止访问所有的x目录?

找到了
location ~ ^(.*)\/\x\/{ deny all;}

Linux下SecureCRT的替代品:PAC Manager

在windows下管理linux服务器,经常用的是securecrt,它主要特性有

1、标签式管理
2、标签可以克隆,方便在不同标签完成不同工作
3、服务器列表支持分类
4、缓存key的 passphrase,只需要输入一次,后续使用该key的服务器访问都不需要再输入
5、Forward agent.

大家通过用securecrt登录到2台服务器,2台服务器上都有自己的key,这时,2台服务器上不需要额外的设置即可以相互scp文件,这个过程用的就是 SSH的Forward agent特性,它把认证进行转发。

而我们在linux下管理linux,比较常用的是gnome terminal,这个与securecrt比起来,未免太原始了,敲命令,敲到手抽筋,最近在网上找securecrt的替代工具,竟然在WOW!Ubuntu上找到了PAC Manager 。
http://wowubuntu.com/pac-254.html

它主要特性:
1、标签式管理
2、标签可以克隆,方便在不同标签完成不同工作
3、服务器列表支持分类
4、Forward agent(这个可以通过PAC本身的配置实现,有可以通过修改/etc/ssh/ssh_config的配置来实现).

对比下可以看到,PAC Manager不支持缓存passphrase,这意味着,你每登录一台服务器 ,你都需要输入一次你key的 passphrase,但这个可以通过修改系统配置来达到.

我在ubuntu 10.10上安装了,下面先来做简单介绍

下面说下PAC Manager的图形化操作
添加组:
PAC窗口左上角“GROUP”显示的是组信息,点击添加可以新建分组

左下角是添加服务器列表,点击添加可以添加服务器信息

填好IP,用户名和密码等,如果是用key登录,密码留空即,再指定key的位置

“Edit connection” -> “Connections Properties” -> “Advanced Options”:

-o “IdentityFile=/path/to/my_private_key_file”

如果想登录2台服务器,可以相互scp文件,则需要在“CONNECTION PROPERTIES”里把“Forward Agent”选上。

这样就可以进行连接了

每台服务器都需要指定key,这个未免太麻烦了,另外有些服务器需要使用另一个key,而且每次使用key登录服务器,都需要输入key的passphrase,为解决这个问题,我们只要把要用到的private key都交给ssh-agent来进行管理,,每个key只需要输入一次passphrase,后面的登录,就不用输入密码了。

ssh-agent 是个管理 private key 的 passphrase 的工具,启动
ssh-agent
添加需要被ssh-agent管理的key,假设你的private key名是id_rsa
ssh-add id_rsa
此时需要输入一次 private key 的 passphrase ,输入正确后,passphrase 就归 ssh-agent 管理,往后的 ssh 操作,就不需要询问 passphrase 了

ssh-add -l 可以看到现有托管的key

PAC Manager的配置文件保存在/home/user/.pac/pac.yml
如果有大量服务器需要添加,可以写脚本,直接生成配置文件放到/home/user/.pac/pac.yml

2024年三月
« 5月    
 123
45678910
11121314151617
18192021222324
25262728293031