Skip to content

初识DragonFlyBSD的软件管理系统

偶然间又看到DragonFlyBSD的消息,一时兴起,想要测试一下这个系统,看一下它的Hammer FS。于是就在虚拟机里安装了DragonFlyBSD3.0.2。 初步印象(和OpenBSD的使用体验相比较): 如果你的英文没有问题的话,按照安装盘的提示一步一步来,安装比较简单。 小于10G的磁盘默认不使用Hammer FS。 安装完成后直接在控制台以root登录,无须密码; 而默认的SSH验证也只接受密钥方式,所以需要创建一个用户,然后创建密钥,设置改用户的密钥验证,然后才能使用ssh远程登录。否则只能在控制台登录。 添加用户的时候发现useradd命令默认没有,需要使用adduser,以互动方式添加。 软件管理: 系统装完后就要安装软件,不然系统也没什么用处。简单说,DragonFlyBSD的软件在管理方式上和其他的BSD也没有太大的区别。 阅读了官方的pkgsrc文档之后,将常见的软件安装,删除及搜索等的方式汇总如下: 1. 准备工作 系统装完后运行如下命令(以root用户): # cd /usr # rm -rf pkgsrc # make pkgsrc-create # make pkgsrc-update 2. 软件搜索: # pkg_search $pkg_name (搜索已经编译好的软件包) 或者 # cd /usr/pkgsrc/ # bmake…

Read more

bzero.c源码注释

bzero函数的作用是向一个字符串写入某个指定字节的空字符’\0’,一般用于把一个字符串置0。类似memset。函数原型为: SYNOPSIS #include void bzero(void *b, size_t len); DESCRIPTION The bzero() function writes len zero bytes to the string b. If len is zero, bzero() does nothing. 源代码: #if !defined(_KERNEL) && !defined(_STANDALONE) #include #else #include <lib/libkern/libkern.h> #endif /* * bzero…

Read more

OpenBSD进程的开机启动-续

前面我们谈到如何开机启动系统自带的进程,今天谈一下如何开机启动用户自己安装的守护进程。 对于用户自己安装的守护进程,一般pkg_add命令结束后会给出相应的提示。以mysql服务器来说,它会提示启动脚本已经安装在/etc/rc.d目录下了。对于这样的进程,开机启动的设置也很简单。只需在/etc/rc.conf.local文件下添加一行: pkg_scripts=”mysqld” 如果需要启动多个自己安装的守护进程,一次添加到mysqld前面或后面即可。如: pkg_scripts=”mysqld squid postfix” 如果这多个进程之间有依赖关系,需要注意他们的顺序。开机时,系统按照他们出现的顺序依次启动(从前往后),关机时按照相反的顺序(从后往前)一次关闭。因此需要先启动(同时后关闭)的就要放在前面,否则就放在后面。

Read more

OpenBSD进程的开机启动

OpenBSD上守护进程的开机启动由/etc/rc.conf.local来控制。需要程序随机器启动,需要相应编辑此文件。 OpenBSD上的守护进程一般分为系统自带以及用户安装两种。系统自带进程,如ftpd, relayd,named等;用户安装的守护进程则是用户自己通过pkg_add安装的程序所带的守护进程。 今天我们先谈一下如何开机启动系统自带的进程。以named为例。 对于这一类的进程,/etc/rc.conf文件下一般会有相应的变量来控制它是否随机器启动而运行。对于named来说: $ grep named /etc/rc.conf named_flags=NO # for normal use: “” named默认是不会随机器启动的。同时这个文件也给出提示,如果你想要启动它,把这一行改成: named_flags=”” 即可。 但是我们不应该直接改动/etc/rc.conf文件,虽然直接改也能生效。推荐的方法是编辑/etc/rc.conf.local文件,把这一行放入其中,也能起到同样的效果。这样做的好处是,升级系统的时候,你的配置不会被覆盖掉(/etc/rc.conf会在升级时被覆盖)。 如果你不想重启系统,可以看一下/etc/rc.d目录下是否有启动脚本。对于named来说,我们可以直接运行: /etc/rc.d/named start 以后我们再谈如何启动用户自己安装的守护进程。

Read more

如何断开无效的用户登录会话

昨天发现OpenBSD系统上有一个登录的会话,已经空闲了9天。想必是哪天在手机上测试SSH端口转发后造成的。 #w 6:07PM up 12 days, 21:42, 2 users, load averages: 0.24, 0.14, 0.09 USER TTY FROM LOGIN@ IDLE WHAT acheng p0 180.116.63.38 6:00PM 0 w acheng p4 114.227.123.110 27Jul12 9days – 该如何把它解决掉呢?查了一下,ttyp4上已经没有什么进程了,想用kill也没机会了。 #ps -t p4 PID TT STAT TIME…

Read more

OpenBSD上的彩色LS输出

OpenBSD上的ls命令输出是黑白的,没有对不同的文件类型使用不同的颜色来区分。如果想要使用彩色,可以安装colorls这个程序。它就相当于一个“彩色的ls”(要使用colorls的-G参数)。 可以使用下面的操作来完成: 1. 安装colorls pkg_add -v colorls (假定你的PKG_PATH参数已经设定好了) 2. 设定命令别名 alias ls=’colorls -G’ 3. 把上面那一行添加到自己的.profile文件中,免得下次登录还得运行alias命令

Read more

OpenBSD上的PHP邮件发送问题

OpenBSD上的自带的Apache由于chroot的缘故,会导致PHP的mail函数失效,而且PHP也不会返回错误。很难排错。 下面是解决这个问题的一个大致的流程,供在OpenBSD上遇到邮件问题的用户参考: 1. 首先确保在命令行下直接用mail命令发送邮件没有问题。如果命令行下都无法发送邮件,说明MTA有问题,解决了这个问题以后来解决 CHROOT APACHE + PHP的问题。 2. 在/var/www/目录下创建etc目录,并将/etc/resolv.conf文件复制到其下 3. 在/var/www/目录下创建bin目录,并将/bin/ksh和/bin/sh复制到其下 4. 安装femail-chroot (如果你不知道如何在OpenBSD上安装软件,google一下pkg_add openbsd) 5. 修改php配置文件(在OpenBSD 5.1 + php-5.3.10的情况下,php 配置文件为/etc/php-5.3.ini),在[mail  function]一节下,修改sendmail_path参数如下 [mail function] … ; For Unix only. You may supply arguments as well (default: “sendmail -t -i”)….

Read more

OpenBSD上获取EPOC时间

用date +%s即可. 如果想要把EPOC时间转换成默认的时间格式,则用date -r $epoc_time root@puffy #date Mon Jul 30 07:25:06 PDT 2012 root@puffy #date +%s 1343658310 root@puffy #date -r $(date +%s); date Mon Jul 30 07:25:29 PDT 2012 Mon Jul 30 07:25:29 PDT 2012

Read more
Sidebar