在 Corporation 分类下的文章

Hadoop集群(CDH4)实践之 (0) 前言

目录结构
Hadoop集群(CDH4)实践之 (0) 前言
Hadoop集群(CDH4)实践之 (1) Hadoop(HDFS)搭建
Hadoop集群(CDH4)实践之 (2) HBase&Zookeeper搭建
Hadoop集群(CDH4)实践之 (3) Hive搭建
Hadoop集群(CHD4)实践之 (4) Oozie搭建
Hadoop集群(CHD4)实践之 (5) Sqoop安装

本文内容
Hadoop集群(CDH4)实践之 (0) 前言

下面进入正文
在我初学Hadoop的期间,我写过一个系列的Hadoop入门文章,第一篇就是《Hadoop集群实践 之 (0) 完整架构设计
在之前的系列文章中,我对Hadoop的一些入门概念也进行了讲解,主要是针对我曾经所遇到过的一些疑惑。
同时,在之前的系列文章中,我还列出了一些小的操作Demo来加深对各个工具的理解。

那么为什么这次又要写这个系列的文章呢,看起来内容感觉都是重复的。
其实,主要是由于以下原因:
1. 之前的文章是基于Ubuntu 10.10 系统,也同样适用于新版的Ubuntu,但是采用CentOS作为生产环境的情况更多;
同时由于Ubuntu有一些改动与开源社区的步伐不太一致,因此目前有唱衰Ubuntu的趋势。
2. CentOS随着EPEL等扩展库的规范和快速发展,目前已经具备了和Ubuntu同等规模的丰富的软件库,通过YUM安装和部署软件也非常的方便;
3. 之前的文章是基于CDH3的,而目前Hadoop的发展,CDH4已经成为了主流,同时具备CDH3所不具备的一些功能,我觉得最有用的功能有以下:
a) NameNode HA,与secondary namenode不同,CDH4提供了一种HA的方式,可以确保双节点NameNode;
b) TaskTracker 提供了容错机制,可以确保并行计算过程中,不会因为某一个节点出错而导致整个并行计算的失败;

因此,基于以上原因,本文是在CentOS 6.4 x86_64的系统上,基于CDH4的环境下完成的。
不过,目前还没有完成Namenode HA 和 TaskTracker容错的测试,相关内容暂时还无法看到。
同时,本文采用了非YARN方式,而是与CDH3相同的MRv1计算框架,为了确保公司之前线上环境所开发的代码能够准确无误的运行。

下面,就让我们开始整个实战演练过程:
Hadoop集群(CDH4)实践之 (1) Hadoop(HDFS)搭建
Hadoop集群(CDH4)实践之 (2) HBase&Zookeeper搭建
Hadoop集群(CDH4)实践之 (3) Hive搭建
Hadoop集群(CHD4)实践之 (4) Oozie搭建
Hadoop集群(CHD4)实践之 (5) Sqoop安装

,

1 Comment

XCP/XenServer命令行方式自动化安装VM

背景介绍:
前面我的一篇文章《XCP/XenServer自动化创建并初始化虚拟机》中,讲解了如何通过传递内核参数,来克隆VM并以新的主机名,IP地址等进行初始化。
但是在这之前其实应该还有另外一个问题,就是第一个VM怎样才能自动化创建呢?为了解决这个问题,我咨询了不少的人,但是他们大多数给我的回答的都是,使用XenCenter。
但这并不是我们想要的,经过不断的试错之后,终于成功的完成了第一个VM的自动化安装,其实原理也很简单,就是通过命令行将VM初始化,绑定虚拟硬盘,网络,然后通过httprepo来网络加载ISO,再配合kickstart进行自动化安装。但是在很多具体的步骤上,却又是步步陷阱,一些很小的参数方面设置不正确都会导致失败,而这些,在官方文档中基本上算是被忽略了的。
下面是相关的具体步骤:

环境介绍:
httprepo: 192.168.92.128
xenserver: 192.168.92.140
vm: 192.168.92.142

1. 创建 http repo
# yum install httpd
# wget http://linux.mirrors.es.net/centos/6/isos/x86_64/CentOS-6.4-x86_64-minimal.iso

# mkdir -p /var/www/html/repo/centos/6
# mkdir /var/www/html/repo/ks
# mount -o loop CentOS-6.4-x86_64-minimal.iso /var/www/html/repo/centos/6/

# service httpd start

2. 创建 kickstart 配置文件
# vi /var/www/html/repo/ks/centos-6.4-x86_64-minimal.ks

 
cmdline
skipx
install
cdrom
lang en_US.UTF-8
keyboard us

network --onboot yes --device eth0 --bootproto=static --ip=192.168.92.142 --netmask=255.255.255.0 --gateway=192.168.92.2 --nameserver=192.168.92.2 --noipv6

rootpw mypasswd

firewall --service=ssh
authconfig --enableshadow --passalgo=sha512
selinux --disabled
timezone --utc Etc/UTC

bootloader --location=mbr --driveorder=xvda --append="crashkernel=auto"

zerombr
clearpart --all --initlabel
autopart

reboot

%packages --nobase
@core
%end

3. 自动安装VM
获取Local storage uuid
# xe sr-list | grep -C 1 "Local"

                uuid ( RO): fbeda99f-b5a7-3100-5e3d-fbb48a46fca0
          name-label ( RW): Local storage
    name-description ( RW): 

阅读全文 »

, , ,

No Comments

OpenLDAP统一认证 之 (0)什么是OpenLDAP

目录结构
OpenLDAP统一认证 之 (0)什么是OpenLDAP
OpenLDAP统一认证 之 (1)安装配置OpenLDAP
OpenLDAP统一认证 之 (2)使用OpenLDAP管理Linux系统用户
OpenLDAP统一认证 之 (3)OpenLDAP与Kerberos的集成
OpenLDAP统一认证 之 (4)OpenLDAP的备份与还原
OpenLDAP统一认证 之 (5)OpenLDAP的主从复制方案

本文内容
OpenLDAP统一认证 之 (0)什么是OpenLDAP

参考资料
http://www.openldap.org/doc/admin24/intro.html
http://baike.baidu.com/view/159263.htm

前段时间,为了提升Hadoop集群的访问安全,集成了Kerberos认证系统,随后又接到一项任务,那就是将Kerberos认证系统再集成到OpenLDAP统一认证服务中,并学习如何通过OpenLDAP来管理Linux系统用户。
这样做的目的,其实就是为了实现用户账户与权限的统一管理,在服务器数量较多(超过100台)且不断增长的情况下,效果还是很不错的。
在整个学习过程中,我参阅了很多的资料,经历了从对各种概念的不熟悉到最后成功的应用到测试环境中,学到了不少的东西,本着开源分享的精神,我将整个学习的过程整理成一个系列的文档,分享给大家。

下面进入正文
首先应该明确的是:什么是LDAP?
LDAP,它的全称为“轻量级目录访问协议”,它起源于X.500目录,其被接受作为提供世界范围的目录服务的一种国际标准。

那么,什么是“目录”呢?
目录是一种专门的数据库,它服务于各种应用程序,包括LDAP(轻量级目录访问协议)目录和基于X.500的目录。
这些目录都是通用的标准的目录,就像大多数人熟悉的各种各样的目录,像电话簿、黄页,电视指南、购物目录和图书馆卡片目录。听起来像是数据库一样,但“目录”与数据库并不相同,目录的大部分操作为读操作。
假如你的应用程序要写大量的数据,你应该考虑选择使用数据库来实现。目录仅支持相对简单的事务处理。相反,数据库被设计成处理大量的各种各样的事务处理。假如你的应用要求这种重负荷的事务支持,你该选择数据库而不是目录。
在另一方面,假如你的应用不要求这样的大负荷事务处理,而是偶尔的写一些简单的事务信息。这时,目录是理想的选择。它会更有效,更简单。
阅读全文 »

,

10 Comments

伪分布式安装部署CDH4.2.1与Impala[原创实践]

参考资料:
http://www.cloudera.com/content/cloudera-content/cloudera-docs/CDH4/latest/CDH4-Quick-Start/cdh4qs_topic_3_3.html
http://www.cloudera.com/content/cloudera-content/cloudera-docs/Impala/latest/Installing-and-Using-Impala/Installing-and-Using-Impala.html
http://blog.cloudera.com/blog/2013/02/from-zero-to-impala-in-minutes/

什么是Impala?
Cloudera发布了实时查询开源项目Impala,根据多款产品实测表明,它比原来基于MapReduce的Hive SQL查询速度提升3~90倍。Impala是Google Dremel的模仿,但在SQL功能上青出于蓝胜于蓝。

1. 安装JDK
$ sudo yum install jdk-6u41-linux-amd64.rpm

2. 伪分布式模式安装CDH4
$ cd /etc/yum.repos.d/
$ sudo wget http://archive.cloudera.com/cdh4/redhat/6/x86_64/cdh/cloudera-cdh4.repo
$ sudo yum install hadoop-conf-pseudo

格式化NameNode.
$ sudo -u hdfs hdfs namenode -format

启动HDFS
$ for x in `cd /etc/init.d ; ls hadoop-hdfs-*` ; do sudo service $x start ; done

创建/tmp目录
$ sudo -u hdfs hadoop fs -rm -r /tmp
$ sudo -u hdfs hadoop fs -mkdir /tmp
$ sudo -u hdfs hadoop fs -chmod -R 1777 /tmp

创建YARN与日志目录
$ sudo -u hdfs hadoop fs -mkdir /tmp/hadoop-yarn/staging
$ sudo -u hdfs hadoop fs -chmod -R 1777 /tmp/hadoop-yarn/staging

$ sudo -u hdfs hadoop fs -mkdir /tmp/hadoop-yarn/staging/history/done_intermediate
$ sudo -u hdfs hadoop fs -chmod -R 1777 /tmp/hadoop-yarn/staging/history/done_intermediate

$ sudo -u hdfs hadoop fs -chown -R mapred:mapred /tmp/hadoop-yarn/staging

$ sudo -u hdfs hadoop fs -mkdir /var/log/hadoop-yarn
$ sudo -u hdfs hadoop fs -chown yarn:mapred /var/log/hadoop-yarn
阅读全文 »

, , ,

1 Comment

键盘上各种符号的英文名称与发音

~      tilde          ['tɪldə]
`      backquote      [bækkwəʊt]
!      exclam         [,eksklə'm]
@      at             [æt]
#      numbersign     ['nʌmbəsaɪn]
$      dollar         ['dɑlɚ]
%      percent        [pə'sent]
^      caret          ['kærət]
&      ampersand      ['æmpəsænd]
*      asterisk       ['æstərɪsk]
(      parenleft      ['pærenleft]
)      parenright     ['pærenraɪt]
_      underscore     [ʌndə'skɔː]
+      plus           [plʌs]
-      minus          ['maɪnəs]
-      dash           [dæʃ]
=      equal          ['ikwəl]
{      braceleft      [breɪsleft]
}      braceright     [reɪsraɪt]
|      bar            [bɑr]
[      bracketleft    ['brækɪtleft]
]      bracketright   ['brækɪtraɪt]
\      backslash      ['bækslæʃ]
:      colon          ['kəʊlən]
;      semicolon      [,semɪ'kəʊlən]
"      doublequote    ['dʌbl]kwəʊt]
'      quote          [kwəʊt]
<      less           [les]
>      greater        ['gretɚ]
?      question       ['kwɛstʃən]
,      comma          ['kɑmə]
.      period         ['pɪrɪəd]
.      dot            [dɒt]
/      slash          [slæʃ]

No Comments

快速搭建一个公司内部导航站点

今天,在微博上看到 @陈利人 推荐了一个开源小工具,可以用来做公司的内部导航。
于是,就试着搭建了一个,不到5分钟就搞定了,用起来嘛,感觉还行。

以下,是具体的安装与配置步骤:
安装系统依赖
sudo yum install git
sudo yum install rubygems ruby-devel sqlite-devel
sudo gem install bundle bundler

安装程序依赖
cd ~
sudo git clone https://github.com/maccman/go.git
cd go
sudo bundle install
sudo sed -i "1i\require 'rubygems'" app.rb

配置监听地址与端口
cd /usr/lib/ruby/gems/1.8/gems/sinatra-1.4.2/lib/sinatra
sudo vim base.rb

    set :server, %w[HTTP webrick]
    set :bind, Proc.new { development? ? '0.0.0.0' : '0.0.0.0' }
    set :port, Integer(ENV['PORT'] || 80)

启动服务
cd ~/go/
sudo ruby app.rb

== Sinatra/1.4.2 has taken the stage on 80 for development with backup from Thin
>> Thin web server (v1.3.1 codename Triple Espresso)
>> Maximum connections set to 1024
>> Listening on 0.0.0.0:80, CTRL+C to stop

部署完毕,就可以看到如下页面(如我的测试环境http://192.168.92.136):

可以试着添加一条记录(如blog: http://heylinux.com):

接下来,就可以直接 点击"blog" 或 访问"http://192.168.92.136/blog" 跳转到对应的链接了。

在公司内部使用的话,可以考虑让大家配置一下本地hosts,将"go"指向到IP,这样就可以直接通过 "go/blog" 来跳转了;
如果觉得这样不方便的话,可以考虑用dnsmasq快速搭建一个本地的DNS服务器,来配置"go"指向,然后在路由器中将LAN口的DNS服务器分配地址修改一下就OK了。

1 Comment

在 CentOS 上部署 GitLab (自托管的Git项目仓库)

参考资料
https://github.com/mattias-ohlsson/gitlab-installer/blob/master/gitlab-install-el6.sh

最近更新
GitLab已经发布了deb和rpm包,下载地址为:https://www.gitlab.com/downloads/

环境准备
OS: CentOS 6.3 x86_64

1.初识GitLab
GitLab是一个利用 Ruby on Rails 开发的开源应用程序,实现一个自托管的Git项目仓库,可通过Web界面进行访问公开的或者私人项目。
它拥有与Github类似的功能,能够浏览源代码,管理缺陷和注释。可以管理团队对仓库的访问,它非常易于浏览提交过的版本并提供一个文件历史库。团队成员可以利用内置的简单聊天程序(Wall)进行交流。它还提供一个代码片段收集功能可以轻松实现代码复用,便于日后有需要的时候进行查找。

GitLab 要求服务器端采用 Gitolite 搭建,5.0版本以后对于ssh服务,GitLab不再使用 Gitolite ,采用自己开发的 gitlab-shell 来实现。

在GitHub上托管代码,私人项目是需要付费的,并且对于企业而言,还是将Git服务器放在内部要更加安全一些。因此,如果喜欢GitHub这种简洁风格的Git服务器,在本地搭建一个GitLab是一个非常不错的选择。
另外,如果需要对代码进行Review,推荐使用Gerrit,要复杂一些,但是功能非常强大。

2.安装部署GitLab
2.1 如果有条件,提供一台全新的Server,仅仅只安装了一些系统的软件包,可以直接使用一键安装的脚本来搭建,非常容易,具体步骤如下:

2.1.1 安装EPEL扩展源
切换到root用户
$ sudo -i
# rpm -ivh http://fr2.rpmfind.net/linux/epel/6/x86_64/epel-release-6-8.noarch.rpm

2.1.2 安装git
# yum install git

2.1.3 下载gitlab-installer.sh安装脚本
# git clone https://github.com/mattias-ohlsson/gitlab-installer.git

2.1.4 执行安装脚本
# cd gitlab-installer/
# ./gitlab-install-el6.sh

等待脚本执行完毕后,会提示如下信息(比如Server主机名为:heydevops-node-2):

### Done ########################################
#
# You have your MySQL root password in this file:
# /config/database.yml
#
# Point your browser to:
# http://heydevops-node-2 (or: http://[host-ip])
# Default admin username: admin@local.host
# Default admin password: 5iveL!fe
#
#################################################

2.1.5 将脚本的Ruby版本指向到ruby-1.9.3-p392
# vim /home/git/gitlab-shell/bin/gitlab-shell

#!/usr/local/rvm/bin/ruby-1.9.3-p392

2.1.6 使用GitLab
接着,就可以通过 http://[host-ip] ([host-ip]是Server的IP)来访问GitHub了。
首先,会看到如下所示的登陆界面:

阅读全文 »

,

8 Comments

Zabbix分布式监控系统实践之 (2) 自定义配置

目录结构
Zabbix分布式监控系统实践之 (0) 什么是Zabbix
Zabbix分布式监控系统实践之 (1) 环境部署
Zabbix分布式监控系统实践之 (2) 自定义配置

本文内容
Zabbix分布式监控系统实践之 (2) 自定义配置

参考资料
https://www.zabbix.com/wiki/templates/start

环境介绍
OS: Ubuntu 10.10 Server 64-bit
Servers:
zabbix-server:10.6.1.181
zabbix-client-1:10.6.1.182

1. 环境部署
在上一个章节,我们已经搭建好了一个最小的环境,即一个server,一个agent;但这仅仅只是一个开始,想要用Zabbix实现对服务器的资源按照自己的需求进行监控,然后绘图,报警,还需要一系列的配置才行。

而在本章,我们就通过完成以下任务来完成对Zabbix自定义配置的熟悉:
1.通过Zabbix内建的方法来监控CPU,内存,交换分区,磁盘空间,网络IO等系统信息;
2.设置Trigger,指定各个监控项的阈值;
3.自定义各个监控项的绘图格式和颜色等;
4.在agent上安装Nginx;
5.配置自定义监控Nginx进程状态的模板,方法等;
6.配置HTTP Check方式的监控;
7.配置邮件报警并模拟故障;

2. 配置步骤
2.1 配置Agent并创建Host,使Server与Agent建立联系

查看Agent主机名
ubuntu@zabbix-client-1:~$ hostname

 
zabbix-client-1

配置相应的选项
ubuntu@zabbix-client-1:~$ sudo vim /usr/local/etc/zabbix_agentd.conf

 
Server=10.6.1.181
ServerActive=10.6.1.181
Hostname=zabbix-client-1

重启Agent
ubuntu@zabbix-client-1:~$ sudo /etc/init.d/zabbix-agent restart

 
Stopping Zabbix agent daemon: zabbix_agentd
Starting Zabbix agent daemon: zabbix_agentd

到WEB界面中创建Host
Configuration - Hosts - Create host

阅读全文 »

,

No Comments

使用XAMPP快速安装配置Open Atrium团队协作系统

1. 什么是Open Atrium
Open Atrium 是一套基于Drupal的内部网工具包,它预置了自定义面板、博客、手册、日历、任务分配系统、团队微博这六项功能,支持会员分组,每个分组都可以设置自己的界面和功能。

Open Atrium是基于Drupal框架构建的,除具备Drupal常用的功能外,Open Atrium还有以下独特的亮点:
博客:可以作为内部讨论工具,发表观点和评论。支持邮件通知,当有人对您的博客发表了评论的时候,系统会发送邮件到您的邮箱,您也可以通过邮件直接回复,回复内容会同步到团队内部系统上。
手册:相当于组织内部的维基百科,可以让团队成员共同编辑文档,查看修订版本,还可以生成适合打印的版本,是个知识管理的好工具。
日历:快速添加活动事件,支持发布多天事件,还可以通过订阅导入外部日历服务(如google calendar)里的事件。
任务分配系统:完善的任务分配及项目管理系统,可以让项目管理者明确分配任务,并及时跟踪项目进度。
团队微博:类似于新浪微博,可以让团队成员间快速分享信息。
自定义面板:类似于google的igoogle,您可以在自定义面板上添加各种组件,比如团队动态,事件预报,最新评论等。让您等对各项团队活动一目了然。

Open Atrium可以做什么?
根据Open Atrium的功能特性,Open Atrium比较适合做企业内联网和和团队内部协作系统也可以用来做项目管理系统、知识管理系统等。由于是开源软件,依托Drupal海量的模块库和本身良好的架构,Open Atrium具有很好的可扩展性和可定制性,能够满足您对于内部网的个性话需求。

2. 安装配置XAMPP
$ wget http://nchc.dl.sourceforge.net/project/xampp/XAMPP%20Linux/1.7.7/xampp-linux-1.7.7.tar.gz
$ sudo tar xvf xampp-linux-1.7.7.tar.gz
$ sudo mv lampp /opt/

$ sudo chown -R nobody.root /opt/lampp/
$ sudo vim /opt/lampp/etc/extra/httpd-xampp.conf

...
# since XAMPP 1.4.3
<Directory "/opt/lampp/phpmyadmin">
    AllowOverride AuthConfig Limit
    Order allow,deny
    Allow from all
    Require all granted
</Directory>
...
#
# New XAMPP security concept
#
<LocationMatch "^/(?i:(?:xampp|security|licenses|phpmyadmin|webalizer|server-status|server-info))">
    Order deny,allow
    #Deny from all
    Allow from all
    Allow from ::1 127.0.0.0/8 \
           fc00::/7 10.0.0.0/8 172.16.0.0/12 192.168.0.0/16 \
           fe80::/10 169.254.0.0/16

    ErrorDocument 403 /error/XAMPP_FORBIDDEN.html.var
</LocationMatch>

$ sudo /opt/lampp/lampp startmysql
$ sudo /opt/lampp/lampp startapache

$ sudo /opt/lampp/lampp security

XAMPP: Quick security check...
XAMPP: Your XAMPP pages are NOT secured by a password.
XAMPP: Do you want to set a password? [yes] yes
XAMPP: Password: heydevops
XAMPP: Password (again): heydevops
XAMPP: Password protection active. Please use 'lampp' as user name!
XAMPP: The MySQL/phpMyAdmin user pma has no password set!!!
XAMPP: Do you want to set a password? [yes] yes
XAMPP: Password: heydevops
XAMPP: Password (again): heydevops
XAMPP: Setting new MySQL pma password.
XAMPP: Setting phpMyAdmin's pma password to the new one.
XAMPP: MySQL has no root passwort set!!!
XAMPP: Do you want to set a password? [yes] yes
XAMPP: Write the password somewhere down to make sure you won't forget it!!!
XAMPP: Password: heydevops
XAMPP: Password (again): heydevops
XAMPP: Setting new MySQL root password.
XAMPP: Change phpMyAdmin's authentication method.
XAMPP: The FTP password for user 'nobody' is still set to 'lampp'.
XAMPP: Do you want to change the password? [yes] yes
XAMPP: Password: heydevops
XAMPP: Password (again): heydevops
XAMPP: ProFTPD isn't running...
XAMPP: Done.

阅读全文 »

No Comments

Zabbix分布式监控系统实践之 (1) 环境部署

目录结构
Zabbix分布式监控系统实践之 (0) 什么是Zabbix
Zabbix分布式监控系统实践之 (1) 环境部署
Zabbix分布式监控系统实践之 (2) 自定义配置

本文内容
Zabbix分布式监控系统实践之 (1) 环境部署

参考资料
https://www.zabbix.com/wiki/howto/install/ubuntu/ubuntuinstall

环境介绍
OS: Ubuntu 10.10 Server 64-bit
Servers:
zabbix-server:10.6.1.181
zabbix-client-1:10.6.1.182

1. 环境部署
前面,我们简单介绍了一下Zabbix,那么在本章,我们就来把Zabbix的环境部署起来,然后再在下一张详细的讲解其使用方法。
由于Zabbix采用的是分布式架构,因此我们采用两台服务器,一台做Server,另外一台做Agent,来搭建一个最小的环境。

2. 安装步骤
2.1 安装系统依赖以及mysql-server与php
$ sudo apt-get install build-essential mysql-server libmysqlclient15-dev php5 php5-gd php5-mysql snmp libsnmp-dev snmpd libcurl4-openssl-dev fping apache2

在弹出的界面中配置MySQL的Root密码,比如zabbixadmin
MySQL password: zabbixadmin

2.2 新建用户zabbix
$ sudo adduser zabbix

 
Enter new UNIX password: zabbix
Retype new UNIX password: zabbix

$ sudo adduser zabbix admin
$ sudo visudo
添加如下内容,给予Zabbix用户sudo权限

 
zabbix ALL=(ALL)       NOPASSWD:ALL

2.3 下载源码包
$ sudo -i
# su - zabbix
$ wget "http://downloads.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/2.0.4/zabbix-2.0.4.tar.gz"
$ tar xzvf zabbix-2.0.4.tar.gz

2.4 初始化数据库
$ mysql -uroot -pzabbixadmin -e "create database zabbix;"
$ mysql -uroot -pzabbixadmin -e "grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix';"
$ mysql -uzabbix -pzabbix -D zabbix < zabbix-2.0.4/database/mysql/schema.sql $ mysql -uzabbix -pzabbix -D zabbix < zabbix-2.0.4/database/mysql/images.sql $ mysql -uzabbix -pzabbix -D zabbix < zabbix-2.0.4/database/mysql/data.sql 2.5 编译安装 $ cd zabbix-2.0.4/ $ ./configure --prefix=/usr/local --with-mysql --with-net-snmp --with-libcurl --enable-server --enable-agent $ make $ sudo make install 阅读全文 »

,

1 Comment