UNIX
FreeBSD更改控制台分辨率
如果想要更改控制台分辨率,需要重新设定参数,编译内核,具体编译内核的方法,可以查看之前的这篇文章 cd /sys/i386/conf cp GENERIC GRAPH ee GRAPH 在其中加入两行: options VESA options SC_PIXEL_MODE 第一行选项让內核支持VESA 2,第二行让内核支持控制台图形模式。 编译好内核并启用后,用 vidcontrol -i mode|grep G 来查看支持MODE的列表,注意第一列的号码,你可能会用到。比如我用的是1024x768x32,所以就是321。用 vidcontrol MODE_321 来更改分辨率,如果想启动时生效,就在 /etc/rc.conf 加入allscreens_flags="MODE_321",就可以了
FreeBSD7.0 内核编译
如果还没有安装内核原码,请先安装。放入光盘,运行sysinstall,选择Configure-Distributions-src,其实base和sys是必须先的,然后OK。 切换到su,进入/usr/src/sys/i386/conf,目录中GENERIC是现在内核的配置,复制这个文件,取个自己的名字,比如MYKERNEL,并编辑MYKERNEL,以下仅供参考: #machine i386 //7.0中已经没有这行,现在的计算机很NB,谁还用386地啊,开个玩笑! #cpu I486_CPU #cpu I586_CPU cpu I686_CPU //CPU类型,可以用dmesg查看,在靠前的位置 ident MYKERNEL //核心名称,自己随便起 注意:象machine 与cpu 这两个设置。如果你的内核名称包含数字,请记得用双引号把它括起来。内核名将会使用-D 参数传给编译器,所以不要用像DEBUG或是其它可能干扰 编译器的机器、CPU 名称,如vax ,别那么另类嘛!。 #maxusers n //简单的讲,他决定着系统进程表能够容纳多少个进程,在做服务器时,这个值一定要大,7.0中已经没有这行,可能是系统自动完成这项功能吧~,我们不用理会 # To statically compile in device wiring instead of /boot/device.hints #hints "GENERIC.hints" # Default places to look for devices. //默认该行被注释上了,表示:在系统启动loader阶段,动态的从/boot/device.hints加载设备驱动程序参数;如果拿掉注释“#”,则会静态地将设备驱动程序参数编译进内核。该行保持默认即可。 #makeoptions DEBUG=-g # Build kernel with [...]
移除FreeBSD Boot Manager
在安装系统的时候,选择引导时,由于是新手,选择了一个BootMgr,其实这个是在电脑中有多系统的时候,选择系统的工具,但是如果电脑中只有FreeBSD一个系统,这个工具显然就是多余的,但是想办法把这个东西删掉。 关于FreeBSD的启动过程,可以参照官方手册 具体的移除BM的方法: 安装光盘启动,sysinstall中,进入Index ->FDisk,选择你想boot的分区,按'S'激活,然后按'W'存盘,sysinstall会问你安装哪个bootmanager,选择standard就可以了。 PS:修改启动时间,编辑/boot/loader.conf,加一句:autoboot_delay="10",时间自己设。更多选项请参考 /boot/default/loader.conf。 网上找到另一个办法,更方便,以root方式直接运行fdisk -B ad0,然后有两个问题,都选y,就可以了。 在恢复BootMgr,只要以root方式运行fdisk -B -b /boot/boot0 ad0
FreeBSD桌面安装配置
由于桌面比较大,据说编译一个gnome要花上3天,所以还是用package方式来安装。可以用如下的方式来安装。 pkg_add -r xorg pkg_add -r gnome2 然后运行 Xorg -configure #在/root下生成xorg.conf.new Xorg -config xorg.conf.new 修改调整配置文件xorg.conf.new Section "Monitor" Identifier "Monitor0" VendorName "Monitor Vendor" ModelName "Monitor Model" HorizSync 30-107 //如果文件中没有此行,必须加上 VertRefresh 48-120 //如果文件中没有此行,必须加上 Option "DPMS" //如果文件中没有此行,加上 EndSection #接下来再找到"Screen"小节: Section "Screen" Identifier "Screen0" Device "Card0" Monitor "Monitor0" DefaultDepth 24 //注意,这行表示使用默认的色深,必须加上 SubSection "Display" Viewport 0 0 Depth 24 //不能删除,要不然Xorg会找不到Screen [...]
FreeBSD安装bash
习惯了Linux下的bash,换成FreeBSD后,默认的是csh,感觉颇有不便,于是还是决定安装bash。 用ports安装,很简单 cd /usr/ports/shells/bash make install clean 安装好后,在/bin目录下面做一个符号连接 ln -s /usr/local/bin/bash /bin/bash 修改用户默认的shell chsh -s bash freebsd安装了bash之后默认不是去读取.bashrc文件, 如果你想做诸如alias ls='ls -G', 请直接添加到.profile里, source .profile就可以了
FreeBSD架设FTP服务器
FreeBSD 内建有 FTP 服务器的功能,如果要使用内建的 ftpd,不需要特别进行任何安装的动作,只要做好设定即可。 有二种方式启动 ftpd,一种是使用 standalone daemon,另一种是使用 inetd。前者是作为一个独立的进程,后者是类似托管。如果传输任务不是很重的话,建议使用后者。 1、使用 inetd: 编辑 /etc/inetd.conf,将出下的行移除注释 将 ftp 设定开头的 # 移除: ftp stream tcp nowait root /usr/libexec/ftpd ftpd -l 接下来,必须使用下列指令重跑 inetd: kill -HUP `cat /var/run/inetd.pid`#该命令基于已经运行了inetd 如果没有运行ftp服务器,直接运行inetd 要开机自动运行inetd,只要在/etc/rc.conf里添加inetd_enable="YES",就可以了 2、使用独立 Daemon 如果要以独立的 daemon 方式启动 FTP,请先确定在 inetd.conf 中没有启动 FTP 服务。接下来,请在新增一个档案 /usr/local/etc/rc.d/ftpd.sh 内容如下 #!/bin/sh ftpd_flag="-l -l -S" ftpd="/usr/libexec/ftpd" case "$1" in [...]
FreeBSD安装配置apache+php+mysql笔记
安装时必须用root用户或su方式登录后生效 安装配置apache cd /usr/ports/www/apache22/ make config #将mysql勾上 make install clean rehash 修改/usr/local/etc/apache22/httpd.conf ServerAdmin kobecater000@163.com ServerName 192.168.1.1:80 DirectoryIndex index.html index.php AddType application/x-httpd-php .php AddType application/x-httpd-php-source .phps 修改ee /boot/defaults/loader.conf accf_data_load="YES" accf_http_load="YES" echo 'apache22_enable="YES"' >> /etc/rc.conf #启动时自动运行apache服务 apachectl start 输入地址看到It works!表示安装成功. 安装配置php5及php5-extensions cd /usr/ports/lang/php5 make config #apache 一定要勾上,不然apache认不出php make install clean cd /usr/ports/lang/php5-extensions make config #选上需要支持的扩展 make install [...]
FreeBSD备忘
portupgrade 是一个,用于快捷便利地升级 cd /usr/ports/ports-mgmt/portupgrade make install clean 安装上它,然后用cvsup更新ports树。然后运行 portupgrade -r pkg_name 升级单个和与其相关的,其中 pkg_name 是 pkg_info 中显示的名字 portupgrade -ar 就会自动更新全部了。 如果加上 P 参数,则先看是否有已经编译好的 pkg 下载,直接从 pkg 升级,省去自己编译。 下载站点可以通过修改 /usr/local/etc/pkgtools.conf 更改 portupgrade -arR 升级所有已经安装的,并且检查依赖关系 搜索ports,可以用如下命令 whereis ports_name 或是用make search make search key=ports_name 普通用户命令行不能补全,原因是默认使用的命令行是sh,但是又懒的装Linux风格的bash,可以换成自带的csh,用chsh命令,修改shell为csh,然后在~/.cshrc或/etc/csh.cshrc里添加set autolist就可以了。 显示类似 [dirk@trinity /usr/local/etc]# 这样的提示符,修改如上两个配置文件其中一个 set prompt = '[%B%n@%m%b %B%~%b%]#' 让 ls 命令显示目录的时候带 / [...]
FreeBSD入门
有人说:Linux浮燥,FreeBSD宁静,Solaris高贵。 下载了OpenSolaris,来体验一下高贵的感觉,无奈高处不胜寒,Solaris对系统的要求太高,最少要求512的内存,现在是试用,只能是装在VMWare上,装好后感觉十分卡,只好作罢。 网上浏览后发现FreeBSD 7.0已经发布很长时间了,于是下载下来,以前也用过,无奈没有好的国内源,现在已经有了,于是就下载下来,决定下载试用。 安装很简单,我选择了最小安装,就是连"Mininal"也不选,安装花了不到十分钟,结下来就是安装后的设置了。 FreeBSD有两种安装软件的方法,一种是基于二进制包的安装方式,叫Package,还有种是基于源码的安装方式,叫Ports。Package也没什么好说的,和Ubuntu一下,而Ports的实质是一堆Makefile和依赖的描述文件,要安装某个软件,只要进入相应的目录,运行make就行了。 下面就是一些基本的配置 普通用户的su权限 普通用户想要su到root,必需将用户添加到wheel用户组,可以用以下的办法 pw groupmod wheel -m pw user mod -g wheel 或直接在/etc/group文件,把相应的用户加到wheell组就可以 wheel:*:0:root,username 设置Package服务器 一种方式是设定PACKAGEROOT setenv PACKAGEROOT "ftp://ftp.cn.freebsd.org" 另一种方式是设定PACKAGESITE,好处是若该站台的packages仓储并不是符合官方的设定或你想自己指定一个路径。以ftp.cn.freebsd.org i386 的 current pakcages 为例: setenv PACKAGESITE ftp://ftp.cn.freebsd.org/pub/FreeBSD/ports/i386/packages-current/Latest/ 两种方式选择其中一种皆可,接下来的步骤都一样。 接下来是安装Ports更新软件,有很多种方法,一般会用CVSUP的方式,可以用下面的方式安装 pkg_add -r cvsup-without-gui 安装好后rehash一下,然后把/usr/share/examples/cvsup/ports-supfile复制到/root,进入/root,修改 # host=CHANGE_THIS.FreeBSD.org 为 # host=cvsup4.FreeBSDchina.org 更新ports /usr/local/bin/cvsup -g -L 2 ports-supfile 等自动更新好就可以了 修改/etc/make.conf文件 如果不存在则可以参考/etc/defaults/make.conf文件新建一个,该文件主要是编译的时候需要用到。 如果要中文支持,就要加入这一段在make.conf中 [...]