如何在Jail虚拟机里面安装软件件

11、别忘了打开SSH服务;这样freenas简单配置已经完成了;二、安装transmission;1、首先配置jails;2、添加jails;3、添加完成的jail是这样的;4、开始正式安装transmission;5、安装完后我作一些小小的设置,主要是我觉得tr;6、添加存储器(freenas8叫挂载点);7、添加好存储器后的样子,true表示成功;8、
11、别忘了打开SSH服务。
这样freenas简单配置已经完成了。
二、安装transmission。作为PTer,安装transmission是必须的。
首先配置jails 。jail相当于freenas的虚拟机,freenas的软件一般是通过jail安装的。Jail root就选择我刚才创建的”jail”数据集。
添加jails。Jail的名字随便写。按“确定”后就会自动安装jail。这需要一会儿时间,请耐心等候。
3、添加完成的jail是这样的。
开始正式安装transmission。这需要用到transmission-2.77_1-amd64.pbi文件,这个PBI文件是已经编译好了的程序,可以网上下载(注意版本号)也可以在我的附件下载。如果没什么意外应该很快就安装完成的。
5、 安装完后我作一些小小的设置,主要是我觉得transmission的默认下载路径太长,我将其下载目录改为在jail的根目录,名称就叫“PT”吧。要建立这个文件夹要先进入jail这个虚拟系统。步骤:1是进入shell(其实用putty更方便),2然后输入jls,查询JID,通常是“1”。3输入代码”jexec 1 csh”。这样就进入jail了。输入“mkdir /pt”就完成新建文件夹“PT”了。
添加存储器(freenas8叫挂载点)。这个存储器的作用我的理解是用于freenas与jail的连接作用,因为jail是虚拟的嘛,所以要将其挂载到freenas的文件中才能被系统识别,不知道这样的理解对不对。
7、 添加好存储器后的样子,true表示成功。
8、设置transmission,其实默认也是可以的。
最后别忘了开启transmission。
三亿文库包含各类专业文献、行业资料、专业论文、应用写作文书、中学教育、文学作品欣赏、高等教育、生活休闲娱乐、各类资格考试、freenas 9.1.0安装详解_图文94等内容。 
 暂无评价|0人阅读|0次下载|举报文档 FreeNAS安装教程_计算机软件及应用_IT/计算机_专业资料。freenas安装教程9.1版本FreeNAS 安装图解教程 说明: FreeNAS 是一个基于...  FreeNAS的安装与配置_计算机软件及应用_IT/计算机_专业资料 暂无评价|0人阅读|0次下载|举报文档FreeNAS的安装与配置_计算机软件及应用_IT/计算机_专业资料。沈阳工程...  FreeNAS的安装及使用初体验教程_IT/计算机_专业资料。FreeNAS的安装及使用初体验教程FreeNAS 安装及使用初体验【作业环境】 FreeNAS 0.6 CPU:Pentium(R) 4 CPU 3...  废话不多说了,看看 FreeNAS 的安装和简单配置过程吧,以后有时间再写详尽的应用配置文档。 注:测试环境使用软件 freenas-i386-livecd-0.7.351 VMware Workstation ...  暂无评价|0人阅读|0次下载|举报文档 FreeNAS系统的安装与设置_IT/计算机_专业资料。FreeNAS是开源的NAS服务器,它能将一部普通PC变成网络存储服务器。第一步:安装...  FreeNAS虚拟机中文安装教程_计算机软件及应用_IT/计算机_专业资料。[图文]FreeNAS...freenas 9.1.0安装详解 28页 4下载券 FreeNAS教程 26页 免费 Freenas 8. 安装...  FreeNAS 9.1.1 存储的两种不同挂接形式一、windows2003 系统的挂接方法 1、首先需要在 windows2003 系统中安装 Microsoft iSCSI Initiator 程序。 2、启动 ...  Freenas 8.0 中文安装教程_IT/计算机_专业资料。Freenas 8.0 中文安装教程[图文 图文]Freenas 8.0 中文安装教程 图文发表于 2011 年 10 月 23 日由 admin ...  0& FreeNAS 的版本为 FreeNAS-9.2.1.9-RELEASE-x86 1&首先安装 jail.(这个...freenas 9.1.0安装详解28页 3下载券 FreeNAS安装与应用 32页 1下载券 ...比特客户端
您的位置:
详解大数据
详解大数据
详解大数据
详解大数据
看我如何巧妙配置两款安全工具防范蛮力攻击
关键字:应用安全
  蛮力攻击简介
  我们都知道这句流行语:“预防胜过治疗。”如果你是个系统管理员,可能知道“蛮力攻击应用程序”如何在你的本地或远程引发问题。设想一下:如果你的服务器遭到了身份未知的攻击者的攻击,服务器上的就会落到坏人手里。这肯定会让你和贵公司陷入从未想过的大麻烦。蛮力攻击是应用程序采用的反复尝试方法,以破解你的加密数据。加密数据可能是任何密码或密钥。简单来说,蛮力攻击应用程序会尝试所有可能的密码或密钥组合,反复尝试,直到找到正确的密码或密钥为止。这就需要一段时间,具体取决于密码的复杂性。如果要花过长的时间才能找到密码,那么可以说你的密码很、很强壮。
  现在可以使用一些巧妙的工具来阻止或预防蛮力攻击。今天,我们就来探讨下列工具。
  1. SSHG
  2. Fail2Ban.
  提醒一下:不要将这两个工具都安装在同一个系统上。你可能无法获得正确的结果。
  首先,让我们看一下SSHGuard,以及如何安装和配置它,以预防蛮力攻击。
  1. SSHGuard
  SSHGuard(http://www.sshguard.net)是一种快速、轻便的监控工具,用C语言编写而成。它可以使用日志活动,监控服务器,保护服务器远离蛮力攻击。要是有人不断地试图通过访问你的服务器,多次(可能四次)尝试访问失败,SSHGuard就会将对方的IP地址放入到iptables,在一段时间内阻止他/她访问。之后,它会在一段时间后自动解锁。它几乎能保护所有的服务,比如sendmail、exim、dovecot、vsftpd、proftpd及许多服务,而不光光保护SSH。
  安装SSHGuard
  在/Debian上,SSHGuard就在默认的软件库中。
  于是,我们可以用下列命令来轻松安装它:
  sudo apt-get install sshguard
  在CentOS/RHEL 6.x上:
  先下载并添加FlexBox软件库,如下所示。
  wget http://sourceforge.net/projects/flexbox/files/flexbox-release-1-1.noarch.rpm
  使用下列命令更新软件库列表:
  yum repolist
  最后,使用下列命令安装sshguard:
  yum install sshguard
  至于其他发行版,从官方网站(http://www.sshguard.net/download/)下载各自的二进制文件,并自行安装。
  或者,你也可以从这里(http://pkgs.org/download/sshguard)来下载。
  用Iptables/Netfilter配置SSHGuard
  SSHGuard没有配置文件。你要做的就是在iptables中为SSHGuard创建新的链,以插入阻止访问的规则。
  为了支持,在拥有的情况下运行下列命令:
  iptables -N sshguard
  为了支持:
  ip6tables -N sshguard
  现在更新INPUT链,将流量传输到sshguard。指定--dport选项,使用sshguard保护服务的所有端口。如果你想防止攻击者将任何流量传输到主机,就完全删除这个选项。
  阻止来自攻击者的所有流量
  为了支持IPv4:
  iptables -A INPUT -j sshguard
  为了支持IPv6:
  iptables -A INPUT -j sshguard
  阻止来自攻击者的特定服务,比如SSH、、POP或IMAP
  为了支持IPv4:
  iptables -A INPUT -m multiport -p tcp --destination-ports 21,22,110,143 -j sshguard
  为了支持IPv6:
  ip6tables -A INPUT -m multiport -p tcp --destination-ports 21,22,110,143-j sshguard
  最后,保存iptables规则。
  service iptables save
  核实你在链中的较高层没有传输所有ssh流量的default allow(默认允许)规则。核实你在中没有阻止所有ssh流量的default deny(默认拒绝)规则。不论哪种情况,假设你已经拥有调整防火墙设置的技能。
  下面是一个合理的示例规则集:
  iptables -N sshguard
  阻止sshguard表明是不良流量的任何流量:
  iptables -A INPUT -j sshguard
  启用ssh、dns、http和https:
  iptables -A INPUT -p tcp --dport 22 -j ACCEPT
  iptables -A INPUT -p udp --dport 53 -j ACCEPT
  iptables -A INPUT -p tcp --dport 80 -j ACCEPT
  iptables -A INPUT -p tcp --dport 443 -j ACCEPT
  阻止之外的所有服务:
  iptables -P INPUT DROP
  不用Iptables/Netfilter,配置SSHGuard
  如果你不用iptables,下列命令可以创建并保存iptables配置;除了让sshguard可以正常运行外,该配置绝对什么都不做:
  7iptables -F
  iptables -X
  iptables -P INPUT ACCEPT
  iptables -P FORWARD ACCEPT
  iptables -P OUTPUT ACCEPT
  iptables -N sshguard
  iptables -A INPUT -j sshguard
  最后,保存iptables配置:
  service iptables save
  就是这样。现在你已安装并配置了SSHGuard,可以保护你的ssh、ftp及其他服务远离蛮力攻击者。
  2. Fail2Ban
  Fail2ban(http://www.fail2ban.org/wiki/index.php/Main_Page)是一种开源预防系统,可以用来预防蛮力攻击及其他可疑的恶意攻击。它可以扫描日志文件(比如/var/log/apache/error_log),禁止表明存在可疑迹象(比如密码输错次数过多和寻找安全漏洞等)的IP地址。
  一般来说,Fail2Ban之后被用来更新防火墙规则,阻止IP地址在指定的一段时间内访问,不过还可以配置任何随意性的其他操作(比如发送电子邮件或弹出CD-ROM托架)。Fail2Ban在默认情况下随带预先配置的过滤器,可用于众多服务(Apache、curier和SSH等)。
  安装Fail2Ban
  以根用户身份登录,输入下列命令,安装Fail2Ban:
  在Ubuntu/Debian上:
  apt-get install fail2ban
  在CentOS/RHEL上:
  先添加EPEL软件库。
  yum install epel-release
  yum repolist
  然后,使用下列命令安装fail2ban:
  yum install fail2ban
  启用并启动fail2ban服务。
  service fail2ban start
  chkconfig fail2ban on
  systemctl enable fail2ban
  systemctl start fail2ban
  这样就完事了。
  备份Fail2Ban主配置文件:
  所有配置文件都位于/etc/fail2ban目录下。主配置文件是/etc/fail2ban/jail.conf。备份主配置文件是个好主意,以免升级过程中合并。创建/etc/fail2ban/jail.conf文件的本地副本,如下所示:
  cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
  配置Fail2Ban
  使用任何编辑工具,打开/etc/fasil2ban/jail.local文件:
  vi /etc/fail2ban/jail.local
  找到名为[Default]的部分。该部分含有Fail2Ban将遵循的一套基本的规则。根据你的需求来设置值。
  下面是我的设置:
  [DEFAULT]
  # "ignoreip"可能是IP地址、CIDR掩码或DNS主机
  15ignoreip = 127.0.0.1/8 192.168.1.200/24
  bantime = 600
  maxretry = 3
  # "backend"指定了用来获得文件修改之处的后端。可用选项有"gamin"、"polling"和"auto"。
  # yoh:由于某种原因,随Debian交付的python-gamin没有像预期的那样运行。
  # 这个问题有待完成,于是轮询是现在的默认后端
  backend = auto
  # 完全用于插入到jail.{conf,local}配置文件中的目的地电子邮件地址。
  destemail = root@localhost
  在这里,
  •ignoreip C 将你信任的IP地址列入白名单,防止Fail2Ban阻止。你可以添加空格字符隔开来的多个地址。这里,我将IP地址192.168.1.200列入白名单。所以,该IP地址不会被禁止,即便它发送了数量不受限制的失败登录尝试。
  •bantime C 如果某主机被Fail2Ban发现违规,它被禁止的秒数。默认时间是600秒(10分钟)。如果你喜欢,可以延长这个时间值。
  •maxretry C 不正确的登录尝试次数,之后主机被Fail2Ban阻止。
  服务配置
  默认情况下,Fail2Ban含有一套支持各种服务的预定义过滤器。所以你不需要将任何手动项输入到配置文件中。你要做的就是将已启用的值改成true或false,Fail2Ban就会自动监视相应的服务。
  下面是jail.local文件中SSH部分的示例输出:
  6[ssh]
  enabled = true
  port = ssh
  filter = sshd
  logpath = /var/log/auth.log
  maxretry = 6
  这里不妨每一项的简要细节。
  •enabled-这意味着,ssh服务保护功能已开启。如果你想关闭,只要设成false。
  •port-SSH服务端口。
  •filter-它指含有规则的配置文件,Fail2Ban使用这些规则来找到匹配。默认情况下,它被设成sshd,指代/etc/fail2ban/filter.d/sshd.conf文件。
  •logpathD记录失败登录尝试的日志文件。
  •maxretry-Fail2Ban阻止主机之前不正确的登录尝试次数。
  一旦你更改了配置,就要重启Fail2Ban服务,以便保存变更。
  systemctl restart fail2ban
  service fail2ban restart
  你可以使用下列命令,核实Fail2Ban在iptables中添加的规则:
  iptables -L
  示例输出:
  13Chain INPUT (policy ACCEPT)
  target prot opt source destination
  f2b-sshd tcp -- anywhere anywhere multiport dports ssh
  ACCEPT all -- anywhere anywhere ctstate RELATED,ESTA
  BLISHED
  ACCEPT all -- anywhere anywhere
  INPUT_direct all -- anywhere anywhere
  INPUT_ZONES_SOURCE all -- anywhere anywhere
  INPUT_ZONES all -- anywhere anywhere
  ACCEPT icmp -- anywhere anywhere
  REJECT all -- anywhere anywhere reject-with icmp-hos
  t-prohibited
  测试Fail2Ban
  我想试几次随机性的失败尝试,从本地客户机连接到Fail2Ban服务器。
  然后,我核实/var/log/fail2ban.log文件中的失败登录尝试:
  cat /var/log/fail2ban.log
  示例输出:
  -13 15:38:15,480 fail2ban.filter [11792]: INFO [sshd] Found 192.168.1.100
   15:38:15,482 fail2ban.filter [11792]: INFO [sshd] Found 192.168.1.100
   15:38:15,483 fail2ban.filter [11792]: INFO [sshd] Found 192.168.1.100
   15:38:15,485 fail2ban.filter [11792]: INFO [sshd] Found 192.168.1.100
   15:38:15,485 fail2ban.filter [11792]: INFO [sshd] Found 192.168.1.100
   15:38:15,487 fail2ban.filter [11792]: INFO [sshd] Found 192.168.1.100
   15:38:15,488 fail2ban.filter [11792]: INFO [sshd] Found 192.168.1.100
   15:38:15,490 fail2ban.filter [11792]: INFO [sshd] Found 192.168.1.100
   15:38:15,491 fail2ban.filter [11792]: INFO [sshd] Found 192.168.1.100
   15:38:15,492 fail2ban.filter [11792]: INFO [sshd] Found 192.168.1.100
   15:38:15,493 fail2ban.filter [11792]: INFO [sshd] Found 192.168.1.100
   15:38:15,495 fail2ban.filter [11792]: INFO [sshd] Found 192.168.1.100
   15:38:15,496 fail2ban.filter [11792]: INFO [sshd] Found 192.168.1.100
   15:38:16,234 fail2ban.actions [11792]: NOTICE [sshd] Ban 192.168.1.100
  iptables -L
  看我如何巧妙配置两款安全工具防范蛮力攻击
  正如你从上述两段输出中可以看出,我的本地IP地址192.168.1.100已被Fail2Ban禁止。
  注意:在默认情况下,被禁止的IP地址在600秒后会被解禁。
  就是这样。但愿这两款工具对你会有所帮助。
相关文章:
[ 责任编辑:小石潭记 ]
去年,手机江湖里的竞争格局还是…
甲骨文的云战略已经完成第一阶段…
软件信息化周刊
比特软件信息化周刊提供以数据库、操作系统和管理软件为重点的全面软件信息化产业热点、应用方案推荐、实用技巧分享等。以最新的软件资讯,最新的软件技巧,最新的软件与服务业内动态来为IT用户找到软捷径。
商务办公周刊
比特商务周刊是一个及行业资讯、深度分析、企业导购等为一体的综合性周刊。其中,与中国计量科学研究院合力打造的比特实验室可以为商业用户提供最权威的采购指南。是企业用户不可缺少的智选周刊!
比特网络周刊向企业网管员以及网络技术和产品使用者提供关于网络产业动态、技术热点、组网、建网、网络管理、网络运维等最新技术和实用技巧,帮助网管答疑解惑,成为网管好帮手。
服务器周刊
比特服务器周刊作为比特网的重点频道之一,主要关注x86服务器,RISC架构服务器以及高性能计算机行业的产品及发展动态。通过最独到的编辑观点和业界动态分析,让您第一时间了解服务器行业的趋势。
比特存储周刊长期以来,为读者提供企业存储领域高质量的原创内容,及时、全面的资讯、技术、方案以及案例文章,力求成为业界领先的存储媒体。比特存储周刊始终致力于用户的企业信息化建设、存储业务、数据保护与容灾构建以及数据管理部署等方面服务。
比特安全周刊通过专业的信息安全内容建设,为企业级用户打造最具商业价值的信息沟通平台,并为安全厂商提供多层面、多维度的媒体宣传手段。与其他同类网站信息安全内容相比,比特安全周刊运作模式更加独立,对信息安全界的动态新闻更新更快。
新闻中心热点推荐
新闻中心以独特视角精选一周内最具影响力的行业重大事件或圈内精彩故事,为企业级用户打造重点突出,可读性强,商业价值高的信息共享平台;同时为互联网、IT业界及通信厂商提供一条精准快捷,渗透力强,覆盖面广的媒体传播途径。
云计算周刊
比特云计算周刊关注云计算产业热点技术应用与趋势发展,全方位报道云计算领域最新动态。为用户与企业架设起沟通交流平台。包括IaaS、PaaS、SaaS各种不同的服务类型以及相关的安全与管理内容介绍。
CIO俱乐部周刊
比特CIO俱乐部周刊以大量高端CIO沙龙或专题研讨会以及对明星CIO的深入采访为依托,汇聚中国500强CIO的集体智慧。旨为中国杰出的CIO提供一个良好的互融互通 、促进交流的平台,并持续提供丰富的资讯和服务,探讨信息化建设,推动中国信息化发展引领CIO未来职业发展。
IT专家新闻邮件长期以来,以定向、分众、整合的商业模式,为企业IT专业人士以及IT系统采购决策者提供高质量的原创内容,包括IT新闻、评论、专家答疑、技巧和白皮书。此外,IT专家网还为读者提供包括咨询、社区、论坛、线下会议、读者沙龙等多种服务。
X周刊是一份IT人的技术娱乐周刊,给用户实时传递I最新T资讯、IT段子、技术技巧、畅销书籍,同时用户还能参与我们推荐的互动游戏,给广大的IT技术人士忙碌工作之余带来轻松休闲一刻。
微信扫一扫
关注Chinabyte谈谈FreeBSD软件安装方法-Unix/BSD_操作系统-脚本宝典
安装了 FreeBSD 后,您一定还会需要安装其它非 FreeBSD 内附的软件。在 FreeBSD 上安装软件有许多种方法,我们将一一为各位介绍。
本章包含了下列软件安装必备的课题:
&&& * 各种安装方式的优缺点。
&&& * 如何使用 package
了 FreeBSD 后,您一定还会需要其它非 FreeBSD 内附的软件。在 FreeBSD 上软件有许多种,我们将一一为各位介绍。
本章包含了下列软件必备的课题:
&&& * 各种方式的优缺点。
&&& * 如何使用 package。
&&& * 如何使用 port。
&&& * 如何使用传统自行编译软件。
传统上,要在一个 UNIX 上其它软件时,有几个步骤:
&&& * 下载该软件,有可能是 binary 档或是原始码。
&&& * 解压缩该档案,通常是以 tar 或 gzip 压缩的。
&&& * 读一下该目录中的说明文件,可能是 readme 或是 doc/ 的文件,来了解如何该软件。
&&& * 如果所下载的是原始码,可能要先编辑一下 Makefile 或是执行 configure,接着再编译该软件。
&&& * 最后再测试与。
当然,我们可以在 FreeBSD 上使用传统的方式来软件,但是还有更简单的选择。FreeBSD提供了 package 和 ports 这二种简单的软件方式。
所谓的 pakcage 是别人帮你将程序编译成 binary 文件,并定义了该在什么地方。我们只要下载一个压缩档,并使用 pkg_add 这个指令就可以快速的将软件在 FreeBSD 上。这是软件最简单的步骤,所的东西也是最标准的,和自己依需求修改并编译原始码比较起来较缺乏弹性。
而 port 就是使用原始码来软件。我们只要进入 /usr/ports/ 里想要的软件目录中,打指令 make install 就可以完成了。FreeBSD 己经帮我们定义了该软件所须的步骤、所要求的其它套件。不管是 package 或是 ports,当的软件需要依靠其它软件才能继续时,它们会自动帮你该软件。所有好的软件都将记录在 /var/db/pkg 中,日后如果我们想要移除软件时,可以用一个简单的指令 pkg_delete 加上软件名称就可以了。
即然 port 这么好用,为什么 FreeBSD 要同时有 package 和 ports 呢?我们来比较一下 ports 和 package 的优点:
package 的优点:
&&& * 一个己经编译过的压缩档通常比包含原始码的档案还要小。
&&& * 使用 pakcage 并不需要再做任何的编译动作,如果你的计算机速度很慢,在像 KDE、GNOME 等大型软件时,不用编译可以省下很多时间。
&&& * 使用 package 来软件时,你不必事先了解在 FreeBSD 上编译时所使用的软件及其过程。
ports 的优点:
&&& * package 为了要在多数的计算机执行,考虑兼容性问题,通常编译的比较保守。而使用 ports 你可以依自己的修改,例如选择使用 Pentium III 或是 Athlon 的处理器。
&&& * 在编译 package 时,就已经限制了该软件的功能,无法再依自己需求扩充。例如 Apache 这套软件就有许多的功能可以在编译时挂进来,使用 ports 来时,你可以依自己的需求来加以修改。
&&& * 我们可以经由更新 Port Tree 来使用较新的软件,而 package 通常只和一起 release。
&&& * 有些软件不允许使用 binary 文件的方式散播,只能下载原始码。
&&& * 有了原始码,你可以自己修改并加以应用。
&&& * 有的人喜欢拥有原始码,他们可以读它、从中学习。
接着我们就针对 package 及 ports 来说明它们的使用方式。& &
10.2 使用 package
10.2.1 Package
package 有二种方式,第一种是使用 sysinstall (也就是我们 FreeBSD 时所看到的画面) 来,另一种是使用手动。使用 sysinstall 时,我们必需选择的来源,最常使用的来源是及光盘片。但是由于光盘片容量有限,所以在 FreeBSD 光盘中所含的 package 软件数量并不多,因此我通常都选择使用。而使用手动必须自行抓回所需的档案,并以指令。以下我们就分别针对这二种方式来说明:
方式一:使用 sysinstall
假设我们要在 FreeBSD 上收信的软件 pine,首先我们要执行 sysinstall 以进入时的画面:
# sysinstall
接着选取 Configure选项,进入图 10-2 的画面:
我们选 Packages 选项来 package:
在图 10-3 中,我们必须选择来源,在这里我们选择 FTP ,从 FTP 中我们可以找到较多的软件。选择了 FTP 之后,将出现图 10-4 的画面,让我们选择要使用哪一个 FTP 站台:
我们选择「URL」来自订要使用的 FTP 站台。接着便会出现一个要求我们输入站台地址的窗口,如图 10-5 所示,假设我们要使用交大资工的站台,则输入 freebsd.csie.nctu.edu.tw/pub/releases/i386/:
输入站台后,会问您是否要使用目前的设定。如果我们己经连上,则选 YES,否则请选 NO 来设定。接着会出现一个软件分类选单,这一份分类选单将各个软件分门别类放在不同的选项下,其中 All 是所有软件的所在,如图 10-6。
我们以邮件软件 pine 为例,由于 pine 位于 mail 分类下,所以我们选择mail。如果您要中文版本的 pine ,应该选择 Chinese 选项而非 mail。选择了 mail 之后,将出现 mail 分类下的所有软件,我们选 pine-4.58 这一项,如图 10-7:
选了pine 之后,就可以选 OK 回到前一个分类画面,接着按照这种方式选了其它我们要的软件之后,就可以选「Install」来了。选了 Install 之后,将出现所有我们已选取的软件列表,如图 10-8,如果要继续则选 OK 即可。
方式二:使用手动
如果以手动的方式,我们必须先取回所要的package。只要是 package ,它的扩展名就是 .tgz。我们可以用 pkg_add 这个指令来它。下面是一个简单的范例,使用 package 来 lsof-4.66.1.tgz:
# ftp -a freebsd.csie.nctu.edu.tw
Connected to freebsd.csie.nctu.edu.tw.
220---------- Welcome to Pure-FTPd ----------
220-You are user number 139 of 200 allowed.
220-Local time is now 17:49. Server port: 21.
220-Only anonymous FTP is allowed here
220-IPv6 connections are also welcome on this server.
220 You will be disconnected after 15 minutes of inactivity.
331 Any password will work
230 Any password will work
Remote system type is UNIX.
Using binary mode to transfer files.
ftp& cd /pub/FreeBSD/ports/packages/sysutils/
250 CWD command successful.
ftp& get lsof-4.71.tgz
local: lsof-4.71.tgz remote: lsof-4.71.tgz
227 Entering Passive Mode (140,113,17,209,189,16)
150-Accepted data connection
150 96.1 kbytes to download
100% |*********************************************************|
KB/s 00:00 ETA
226-File successfully transferred
226 0.362 seconds (measured here), 265.35 Kbytes per second
98372 bytes received in 00:00 (136.70 KB/s)
221-Goodbye. You uploaded 0 and downloaded 97 kbytes.
221 Logout.
# pkg_add lsof-4.71.tgz
要使用 package 软件,首先必须取得想要的软件。我们可以先 ftp 到各大学 FTP 站台去取得。packaeg 的副档案是 .tgz,可以在各 FTP 站台的 ports/packages 中取得。以交大资工的 FTP 站而言是放在 ftp://freebsd.csie.nctu.edu.tw/pub/ports/packages ;而中央资工的 FTP 是放在 ftp://freebsd.csie.ncu.edu.tw/FreeBSD/ports/packages 。当进入 ports 的目录后,我们会发现还有一堆目录,您可以依您的版本选择要使用哪一个目录,其中 packages 这个目录包含了最新的 packages。如果您想要使用 packages-5.4-release 的 packages,我们就可以选择进入 packages-5.4-release 这个目录。进入这个目录后,又有一堆目录,这里的目录结构和你中 /usr/ports/ 下的目录一样,每个目录都是软件的分类,而 All 这个目录是所有软件。
如果您只知道想要的软件名称,却不知道版本及完整的档名,例如您要下载 popa3d 这个软件,但不知道是哪一版的,你可以先进入 All 的目录下,再以下列方式查询:
ftp& ls popa3d*
227 Entering Passive Mode (140,113,209,200,159,54)
150 Opening ASCII mode data connection for /bin/ls.
-r--r--r-- 1 FTP CSIE 19007 Nov 11 12:43 popa3d-0.6.4.1.tgz
226 Transfer complete.
ftp& get popa3d-0.6.4.1.tgz
找到了想要下载的版本是 0.6.4.1,接着就以 get 指令去取回该软件,最后下 exit 离开。
接着你就可以使用 pkg_add popa3d-0.6.4.1.tgz 来该软件。
10.2.2 管理 Package
如果我们后悔了,想要移除之前过的软件,可以下指令 pkg_delete popa3d-0.6.4.1 来移除 popa3d-0.6.4.1 这套软件,所有我们过的软件都会记录在 /var/db/pkg 的目录中。
我们可以使用 pkg_info 这个指令来得到软件的信息。例如在我们下载完一个 package 后,你想要知道这个软件的信息,以 popa3d-0.6.4.1.tgz 而言,如果我们想知道它的信息,你使用下列指令来取得:
# pkg_info popa3d-0.6.4.1.tgz
您也可以只打 pkg_info 来得知所有你过的软件有哪些。
10.3 使用 ports
如果你要使用 ports 软件,你必须先确认 /usr/ports 这个目录是否有。如果没有的话,使用 /stand/sysinstall 来 ports 的目录:
&& 1. 以 root 执行 /stand/sysinstall
&& 2. 选择 Configure 后按 Enter
&& 3. 选择 Distributions 后按 Enter
&& 4. 选择 ports 后按空格键
&& 5. 选择 Exit 后按 Enter
&& 6. 选择你要从 CDROM 或 FTP 等
&& 7. 跟着选单照做,最后离开 sysinstall
或者我们也可以到 http://www.freebsd.org/ports/ 去手动抓回 port.tar.gz 这个档案,将它放在 /usr/ 下。并以下列指令来:
# tar zxvf port.tar.gz
现在可以进入 /usr/ports 的目录中,软件了。
通常每一个软件都有一个独立的目录,而目录中都存在着一些档案,每个档案都有其特定用途,我们简列如下:
Makefile && &软件的编译设定,您可以修改这个档案来设定我们在编译及软件时的参数。
README.html && &我们可以经由浏览 README.html 来查看所有 ports 目录下的软件说明。
distinfo && &说明所需要的档案及其 MD5 的检查数据。
pkg-comment && &简单的软件描述。
pkg-descr && &较详细的描述,我们通常可以在里面找到该软件网页的位置,使我们能到该网页得到更多信息。
pkg-plist && &列出软件将的清单,后会放在硬盘中的什么地方。
如果您想某一个软件,却不知道它的目录位置,您可以使用 whereis 这个指令来找出它来。例如我们想 qpopper ,可以使用 whereis qpopper 来找出它所在的目录。 或者果我们只知道某个程序的关键词,确不知道它放在哪个目录,我们可以使用下列指令:
# cd /usr/ports
# make search key='关键词'
进入该目录后,最简单的方式是直接打 make install,就会自动去上抓取需要的软件回来。 ports 时,make 时找档案的顺序是:先去 /usr/ports/distfiles 、再去找 /cdrom/ports/distfiles、最后是中下载。如果您不使用的话,您可以自己去抓回软件,并将它放在 /usr/ports/distfiles/ 下,这样子在我们打 make install 时,就不会去上抓取档案。如果您所需档案存在光盘中,在软件之前,必须先将光驱 mount 在 /cdrom 中。。但有的软件并不会到光盘中去寻找档案,所以建议您还是将光盘中 /ports/distfiles 目录内容复制到 /usr/ports/distfiles 目录中,或者先连上吧。
当使用取得档案时,预设抓取档案的器通常在国外,因此,您可以修改 /etc/make.conf 来指定使用国内的 FTP 站台,例如编辑 /etc/make.conf 并加入:
MASTER_SITE_BACKUP?= \
&& ftp://freebsd.csie.ncu.edu.tw/distfiles/${DIST_SUBDIR}/ \
&& ftp://freebsd.csie.nctu.edu.tw/pub/distfiles/${DIST_SUBDIR}/
MASTER_SITE_OVERRIDE?=&&& ${MASTER_SITE_BACKUP}
当完 ports 后,我们可以再下指令 make clean 来清除编译过程产生的档案,建议最好这么做,否则有的过程中产生大量档案可是很惊人的。如果您了一堆软件之后,才想到之前没有 make clean,没关系,在 ports 时,编译过程的档案都存在于该软件目录下的 work 目录中。我们可以使用下列指令来找出所有未 make clean 的软件,并将暂存数据删除:
# find /usr/ports -depth -name work -exec rm -rf {} \;
如果您使用,它会将所下载的原始码存在 /usr/ports/distfiles 中,当你下 make clean 后,并不会将它们清除。
当你完后,想要移除该软件时,只要在该软件的 ports 目录中打 make deinstall 即可。请注意,不要在 /usr/ports 的目录中打 make deinstall,这样可是会将 &所有& 软件都移除喔。
还有一些较不常用的 make 方式,简述如下:
&&& make fetch:抓回所需的原始档。
&&& make fetch-list:显示所需的档案。
&&& make checksum:抓回原始档并以 MD5 检查其正确性。
&&& make extract:抓回并解开原始档。
&&& make configure:进行组态,但不继续编译。
&&& make all install:抓回原始档、编译且。
&&& make reinstall:若先前发生意外中断,以此命令继续尝试。
&&& make package:将做好的 ports 打包制作成 packages。
如果完新的软件之后,如果使用的 Shell 是 Csh 或 Tcsh,我们可能必须执行指令 rehash 来重建 hash table,之后才能在所设定的指令路径中找到刚的程序,不然的话就必须输入该程序的完整路径或重新登入才能使用。
我们可以在 /var/db/pkg 的目录中看到我们已的软件,每一个软件有一个目录,目录中存放着软件的信息,包含了软件说明、到哪些目录中。有的软件要前,会要求先某一套软件,如果你事先没有它所要求的软件,通常该软件会自动帮你。所以我们会在 /var/db/pkg 下看到一些不是我们主动的软件。既然软件之间可能会相互依赖,我们要如何得知这些软件彼此间的关系呢?pkg_tree 这套软件可以让我们检视软件间的关系。我们可以使用 port 来这套软件:
# cd /usr/ports/sysutils/pkg_tree
# make install clean
之后我们就可以使用 pkg_tree | more 来看各个软件之间的关系了 (别忘了要 rehash 喔)。
10.4 更新 port tree
当 FreeBSD release 时,会事先测试过 ports 目录中的所有软件是否能正常。因为不同软件之间时常是相互依赖的,有的时候我们要 A 软件,会自动抓取所需要的其它软件。这些软件对于彼此的版本可能会有相互依赖,所以在 release 之前,ports 会暂停更新各个软件的版本,以确保 release 的版本能正常运作。
但在 release 之后,ports 目录中的软件版本可能已有更新,有的软件版本更新可能只是增加新的功能,而有的更新更涉及安全。如果您想使用 ports 软件最新的版本,在软件之前,我们可以先使用一些工具来更新整个 port tree。
有时候更新了 port tree 之后,因为版本相依问题,有些软件可能会因此而无法顺利,您只要在过几天后重新做一次 port tree 的更新应该就可以了。
更新 port tree 的很简单,我们可以使用 CVSup 来保持 ports 在最新状态。CVSup 是一套用来维持软件原始码和开发团队同步的工具,在我们执行了 CVSup 之后,它会经由向所设定的软件器检查并更新原始码的版本。我们可以使用 CVSup 来更新 port tree,也可以用来更新 /usr/src 目录下的 FreeBSD 原始码。
首先,我们必须 CVSup,因为我们不使用图形接口,所以 cvsup-without-gui:
# cd /usr/ports/net/cvsup-without-gui
# make install clean
在中有一份以 CVSup 更新 port tree 的设定文件范例,您可以直接加以修改或着先复制一份后再修改。我们将该设定文件范例复制到 /root 之后再加以修改:
# cp /usr/share/examples/cvsup/ports-supfile /root/
接着请以文书编辑软件打开 /root/ports-supfile 后,找到 host 的部份来设定所要使用的 CVSup 器。
# Defaults that apply to all the collections
# IMPORTANT: Change the next line to use one of the CVSup mirror sites
# listed at http://www.freebsd.org/doc/handbook/mirrors.html.
*default host=cvsup.tw.freebsd.org
*default base=/usr
*default prefix=/usr
*default release=cvs tag=.
*default delete use-rel-suffix
# If your network link is a T1 or faster, comment out the following line.
*default compress
## Ports Collection.
# The easiest way to get the ports tree is to use the &ports-all&
# mega-collection.& It includes all of the individual &ports-*&
# collections,
# These are the individual collections that make up &ports-all&.& If you
# use these, be sure to comment out &ports-all& above.
# Be sure to ALWAYS cvsup the ports-base collection if you use any of the
# other individual collections below. ports-base is a mandatory collection
# for the ports collection, and your ports may not build correctly if it
# is not kept up to date.
#ports-base
#ports-archivers
#ports-astro
#ports-audio
#ports-benchmarks
上面的范例中,我们将 CVSup 器设为 cvsup.tw.freebsd.org,这一台器是由交大资工所维护,您可以依您所在位置使用其它 cvsup1 ~ cvsup13.tw.freebsd.org 的器。例如 cvsup3 位于中山大学,cvsup13 是 giga 和信超媒体的器。最后一行的 ports-all 表示我们要更新 /usr/ports 目录下的所有档案。您也可以只更新其中的部份目录,只要将 ports-all 以井字号 &#& 标示起来,并将档案中 ports-base 那一行的 # 移除,接着您就可以依您所要更新的目录来要移除其它的 # 字号。例如,我们只要更新 /usr/ports/www 这个目录,将 ports-all 以 # 标示起来之后,我们还要移除 ports-base 及 ports-www 开头的 #。
设定完毕之后,我们就可以开始进行 ports 的更新了。
# cvsup -g -L 2 /root/ports-supfile
上述指令中,参数 g 表示不使用图形接口,而参数 L 及其后所跟随的数字 2 表示我们要看到更新过程的记录的详细程度,数字可以从 0 ~ 2,最后的档名表示所要使用的设定档。
在使用 ports 软件之前,先执行 CVSup 是一个不错的习惯,您可以随时取得软件的最新版本,不过您的机器一定要连上因特网才能进行更新。
10.5 使用 portupgrade 更新软件
在使用 Port 了一堆软件后,如果软件有新的版本出来怎么办?FreeBSD 的 ports 管理工具中有一个好用的软件 - portupgrade。
通常 ports 中的软件都有相依性,例如 Apache 会自动 libexpat、防垃圾信软件会自动一堆 Perl 模块。而在更新软件时,我们必须要确定更新过后,相依的软件都一并更新,才不会造成更新后有东西不能运作的情形。不过这并不表示我们一定要常常更新软件,建议您只有在必要时才使用 portupgrade 来更软件,不要有事没事就跑一次。因为软件并不是最新的就最好,没有人能保证更新的软件是否还维持您原本期望的行为。
portupgrade 在更新软件时,会保留您原本的设定档。例如,在更新 Apache 时,它会保留 httpd.conf 的设定。使用 portupgrade 是更新 ports 软件比较安全的方式。
在您使用 cvsup 更新 port tree 后,我们可以使用下列指令查看目前的软件版本是否和 port tree 中的版本一样:
# pkg_version -v
ispell-3.2.06_12 = up-to-date with port
jasper-1.701.0 = up-to-date with port
jpeg-6b_3 = up-to-date with port
kde-3.3.0 & needs updating (port has 3.3.1)
kdeaccessibility-3.3.0 & needs updating (port has 3.3.1)
... 略 ...
上列输出中需要更新的软件会有「& needs updating」的字样。您可以选择想要更新的软件,再使用 portupgrade 来更新。首先,我们必须使用 ports 来 portupgrade:
# cd /usr/ports/sysutils/portupgrade
# make install clean
如果您只想要升级某一个软件本身,而非所有相依的软件,只要使用 portupgrade pkgname 即可。如果您要升级所有和该软件相依的其它软件,则可以加上参数 -r。如果您要更新包含相依软件的相依软件,则可以使用参数 -R。另外,您可以使用参数 -m 来要求编译 (make) ports 时多传入一些参数,还可以使用参数 -f 要求就算版本一样也强制更新。
假设我们要更新的软件是 perl-5.8,我们可以使用下列指令来更新:
# portupgrade -rf &perl-5.8.*& -m &ENABLE_SUIDPERL=yes&
分享给好友:}

我要回帖

更多关于 unholy jail 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信