Linux下新的网络管理工具ip替代ifconfig零压力

wKiom1XVQvajRv9nAAGSTCXZEBI308

如果你使用 Linux 足够久,那么你自然知道一些工具的来与去。2009年 Debian 开发者邮件列表宣布放弃使用缺乏维护的 net-tools 工具包正是如此。到今天 net-tools 仍然被部分人们所使用。事实上,在 Ubuntu 14.10 中你依旧可以使用 ifconfig 命令来管理你的网络配置。

然而在某些情况下(例如, Ubuntu Docker 容器), net-tools 工具包将不会被默认安装,这就意味着不能使用 ifconfig 。尽管如此,还是可以用软件仓库来安装 net-tools 。

由于 net-tools 不再维护,我们强烈建议以 ip 命令代替 ifconfig。更重要的是 ip 在代替 ifconfig 的基础上表现得更好。

有趣的是 ip 不只是 ifconfig 的一个替代品,这两个命令在结构上有很多不同。即便如此,它们却都用于同一个目的。实际上 ip 命令可以完成下面所有事务。

  • 列出系统上配置了哪些网络接口
  • 查看网络接口的状态
  • 配置网络接口(包括本地环路和以太网)
  • 启用或禁用网络接口
  • 管理默认静态路由
  • IP 隧道配置
  • 配置 ARP 或 NDISC 缓存条目

接下来就让我们按上面说的试着用 ip 代替 ifconfig 。 我将例举一些简单的例子说明怎么使用 ip 命令。要正确使用并理解这些命令需要 root 权限,你可以用 su 切换到 root 用户或着使用 sudo 。因为这些命令将会改变你机器的网络信息。小心谨慎使用

注意:演示中用的地址仅作演示,具体到你的计算机时,会由你的网络以及硬件而不一样。

接下来,开始吧!

收集信息

多数人学习使用 ifconfig 做的第一件事就是查看网络接口上分配的 IP 地址。直接终端输入 ifconfig 不带任何参数回车即可看到。那么使用 ip 来做到这点我们只需要这样。

这条命令将会列出所有网络接口的相关信息。

你说你只想看 IPv4 相关信息,那么可以这样。

你又说你想看特定的网络接口的相关信息,那么用如下命令查看无线网卡连接信息。

你甚至可以定位更具体的信息,欲查看 wlan0 上的 IPv4 信息,那么可以这样。

还可以这样列出正在运行的网络接口。

修改配置网络接口

接下来让我们来学习 ip 命令的核心功能——修改配置网络接口。假如你想为第一个以太网的网卡( eth0 )安排一个特定的地址。用 ifconfig 的话,看起来是这样的。

那么用 ip 命令却是这样的。

简短一点可以这样。

显然这样的话,你需要知道你要安排的地址的子网掩码。

同样的方式,你可以这样删除一个网卡的地址。

如果你想简单的清除所有接口上的所有地址,只需要这样即可。

ip 命令另一方面还能激活/禁用网络接口。

禁用 eth0 

激活 eth0

使用 ip 命令,我们还可以添加/删除默认的网关,就像这样。

如果你想获得网络接口的更多细节,你可以编辑传输队列,给速度慢的接口设置一个低值,给速度快的设置一个较高值。那么你需要像这样做。

该命令设置了一个很长的传输队列。你应该设置一个最适合你硬件的值。

还可以用 ip 命令为网络接口设置最大传输单元。

一旦你做了改变,便可以使用 ip a list eth0 来检验是否生效。

管理路由表

其实还可以使用 ip 命令来管理系统路由表。这是 ip 命令非常有用的一个功能。并且你应该小心使用

查看所有路由表。

输出结果将像下图所示。

wKiom1XVQySyp5CgAACNl1KcyA0951

现在你想要路由的所有流量从 eth0 网卡的192.168.1.254网关通过,那么请这样做。

删除这个路由。

这篇文章仅仅对 ip 命令进行了一些介绍。不是要求你马上使用 ip 命令。你可以继续使用 ifconfig 。因为 ifconfig 的弃 用相当的慢,很多发行版里依旧默认安装了该命令。但是相信最终会逐步被 ip 命令完全取代。看过这篇介绍,到时候你便能很快的转换过去。如果你还想了解 更多 ip 命令的用法,请看 ip 命令的 man 手册。

参考链接


Linux下新的网络管理工具ip替代ifconfig零压力

常用数学符号希腊字母表

 

希腊字母表
序号
大写
小写
英文注音
国际音标注音
中文读音
意义
1
Α
α
alpha
a:lf
阿尔法
角度;系数
2
Β
β
beta
bet
贝塔
磁通系数;角度;系数
3
Γ
γ
gamma
ga:m
伽马
电导系数(小写)
4
Δ
δ
delta
delt
德尔塔
变动;密度;屈光度
5
Ε
ε
epsilon
epsilon
艾普西龙
对数之基数
6
Ζ
ζ
zeta
zat
截塔
系数;方位角;阻抗;相对粘度;原子序数
7
Η
η
eta
eit
艾塔
磁滞系数;效率(小写)
8
Θ
θ
thet
θit
西塔
温度;相位角
9
Ι
ι
iot
aiot
约塔
微小,一点儿
10
Κ
κ
kappa
kap
卡帕
介质常数
11
Λ
λ
lambda
lambd
兰布达
波长(小写);体积
12
Μ
μ
mu
mju
磁导系数微(千分之一)放大因数(小写)
13
Ν
ν
nu
nju
磁阻系数
14
Ξ
ξ
xi
ksi
克西
数学上的随机变量
15
Ο
ο
omicron
omikron
奥密克戎
16
Π
π
pi
pai
圆周率=圆周÷直径=3.14159 26535 89793
17
Ρ
ρ
rho
rou
电阻系数(小写)
18
Σ
σ
sigma
sigma
西格马
总和(大写),表面密度;跨导(小写)
19
Τ
τ
tau
tau
时间常数
20
Υ
υ
upsilon
jupsilon
伊普西龙
位移
21
Φ
φ
phi
fai
佛爱
磁通;角
22
Χ
χ
chi
phai
西
23
Ψ
ψ
psi
psai
普西
角速;介质电通量(静电力线);角
24
Ω
ω
omega
o`miga
欧米伽
欧姆(大写);角速(小写);角

Openmdiavault修复工具“omv-firstaid”使用简介

“omv-firstaid”是系统内置的修复工具,虽然修复功能有限但是向导式修复过程还是很简单,紧急情况下在终端输入“omv-firstaid”通常可以修复以下几项故障:

  1. IP配置重设,有时网络配置设置失误不能联机后可以用此工具修复;
  2. WEBGUI端口重设;
  3. WEBGUI管理员密码重置;
  4. OMV配置恢复,可以恢复最近一次配置文件备份;

image_thumb34

warning C4743: “const std::ios_base::failure::`vftable'”有不同的大小: 16 和 12 字节

最近在使用VS2013进行静态库链接的时候,发现在最后链接的时候,编译器报告如下警告

尽管这个是个警告,但是由于涉及到vftable 的问题,这个问题会导致对象指针之间相互赋值的时候导致内存布局混乱,非常可能导致严重的问题。因此这个警告的危险级别甚至比错误的还要严重,绝不能简单的忽略这个问题。

研究了很久,发现,在Debug版本上面是没有问题的,但是Release版本上面必然出现该问题。并且当设置VC++ 的 “工程属性->配置属性->C/C++->优化->全程序优化”为 “否”的时候,也是可以无警告链接通过的。但是却会导致我们的工程损失更多的优化,降低运行效率。

这个问题产生的原因是一个宏引起的,这个宏就是 “_HAS_EXCEPTIONS=0” 。这个宏控制了STL对于异常的处理流程,影响着typeinfo,system_error 等几个文件中对于VC 运行时库的链接选择,要么链接libcmt.lib,要么链接msvcrt.lib。比较不凑巧的是,微软在实现这两个库的时候,其中一个比另外一个多了一个虚函数。(这种情况不应该发生,但是确实发生了!)

因此,如果我们的LIB工程定义了“_HAS_EXCEPTIONS=0” ,那么所有使用我们这个LIB的项目,都要定义这个宏。

对于简单的项目,只要都定义“_HAS_EXCEPTIONS=0” 就可以解决问题。但是对于复杂的工程,尤其是依赖了大量的第三方的已经编译过的,没有源代码的LIB项目来说,只能是采用妥协的办法,所有的工程都取消这个宏的定义,使得两者的内存布局相同。毕竟,稳定性是第一需求。

WordPress 自动升级报告 500 错误

最近使用 WordPress 自动升级的时候,只要更新包稍微大一点就会报告500错误。观察Apache2的日志,提示如下信息:

网站配置的PHP是通过FastCGI模块来加载,也就是mod_fcgid。

这个说明fcgid模块在读取数据的时候超时了。经过多次测试,证明500错误的时候会产生这条记录,看来罪魁祸首就是这个模块了。立马输入命令:

上网仔细一查,这个模块下可用的参数还真不少。 另外一个叫做“IPCCommTimeout”的参数吸引了我的注意力,这是FastCGI模块在与程序通讯的时候的超时时间。不管三七二十一,死马当活 马医,将这个参数添加后,也设置为300,这样一来文件的内容就如下了:

再次重启apache,运行出错的php脚本测试,成功得到结果,没有再出现500错误,问题解决。

参考了网站  http://www.ctohome.com/FuWuQi/d4/461.html

Ubuntu下转换Putty的.ppk为OpenSSH支持的KEY文件

在Windows 中使用Git的时候,习惯使用TortoiseGit来进行Git的管理。

TortoiseGit在提交代码的时候,使用Putty来实现SSH通信,Putty的Key文件为.ppk格式的文件,现在切换到Ubuntu之后,使用SmartGit来进行管理,而SmartGit 只支持OpenSSH 格式的Key文件,因此需要把Windows下面的.ppk文件转换为OpenSSH格式的文件。

具体操作如下所示:

然后指定生成的文件为Key文件,就可以正常使用了。

注意,命令中的转换参数全部为字母“O”,不是数字零“0”,只是前面是大写字符后面是小写字符。

Ubuntu 及衍生版本用户如何安装 SmartGit/HG

SmartGit/HG 是一款开放源代码的、跨平台的、支持 Git 和 Mercurial 的 SVN 图形客户端,可运行在Windows、Linux 和 MAC OS X 系统上。可用的最新版本 SmartGit/HG 6.0.0,最近已发布。140603102567792

Ubuntu及衍生系统用户安装,打开终端,使用以下命令:

Debian 用户安装命令:

卸载命令:

Ubuntu 12.04通过SFTP更新WordPress

WordPress支持通过SFTP来更新自身的组件,但是在服务器上设置支持SFTP之后,一直更新失败,如图所示SFTP_Login_Failed

网上查询了一下,是缺少了PHPSSH支持库导致的,解决方法如下(安装libssh2-php)

刷新页面后,得到的结果如下图所示,则表示已经成功。

SFTP_Login_Image

对于使用常规的,使用密码登录的情况,可以无视“验证密钥对”部分的设置即可。