1、安装 axel 优化 ports 速度
FreeBSD 中的 ports 安装工具默认下载程序用的是 fetch,下载时经常会出现龟速现象,为了提高 ports 安装速度,推荐替换为 axel 或者 wget,当然具体还得配置下 make.conf 文件。
1.1 使用 ports 安装 axel
cd /usr/ports/ftp/axel
make install
1.2 编辑make.conf配置文件
vi /etc/make.conf # 系统缺省安装以后没有 /etc/make.conf,自己创建一个。####加入以下内容####
FETCH_CMD = axel
FETCH_BEFORE_ARGS = -n 10 -a
FETCH_AFTER_ARGS =
DISABLE_SIZE = yes
MASTER_SITE_BACKUP?=\
http://mirrors.ustc.edu.cn/freebsd-ports/distfiles/${DIST_SUBDIR}/ \
ftp://ftp.cn.freebsd.org/pub/FreeBSD/distfiles/${DIST_SUBDIR}/
MASTER_SITE_OVERRIDE?=${MASTER_SITE_BACKUP}
"?=" 表示如果没有赋值过,就赋值等号后面的值。
Assign the value to the variable if it is not already defined. 如果尚未定义该值,则将其分配给该变量。
参考 https://man.openbsd.org/make#VARIABLE_ASSIGNMENTS
Makefile一共提供了四个赋值运算符 (=、:=、?=、+=),它们的区别请看StackOverflow。
1.3 portsnap 常用参数有以下三个
fetch 获取数据
extract 释放全部 ports
update 更新 ports
使用 portsnap 分成两个步骤:
下载压缩的 portsnap 快照,和更新现有系统。
下载或更新 portsnap 快照的方法是 portsnap fetch;首次安装,或希望将 ports tree 恢复到快照的样子,应使用 portsnap extract;之后更新系统中的 ports tree,则可以通过 portsnap update 来完成。
对于服务器而言,推荐在 crontab 中增加在每天3点执行 portsnap cron,以减少使用时所需要的下载时间。
首次下载 portsnap 快照时,需要下载一个大约50MB的快照基础文件。在中国大陆,由于网络状况的原因,这可能需要较长时间。可以考虑用 portsnap fetch -s portsnap.cn.freebsd.org 做首次下载。之后的下载,还是推荐使用正常的 portsnap fetch。
可以使用下面步骤完成上述情况
1.首先设置一个比较快的portsnap服务器,如果系统默认的地址你的访问速度也很快,可以不修改
vi /etc/portsnap.conf
设置SERVERNAME=portsnap.cn.freebsd.org ,你可以设置相对你速度快点的服务器的地址
2.执行下面命令
portsnap fetch extract
这样就完成了下载ports系统以及解压到/usr下面了,以后就不用 extract 了,用 update 更新。
portsnap fetch update
portsnap 第一次运行 extract 命令时,可能需要一段时间,以后更新使用 update 的时候,速度就快很多了。
如果写在 cron 可以用
portsnap cron update
这样定时更新就不用你要安装软件的时候更新了,节省时间。
2、安装 Vim
查找 vim 在 ports 的路径,这个好像在 Port 里边有个数据库树,存储各种软件的所在位置。
查找 vim 在 ports 的哪个目录位置
whereis vim
#或
cd /usr/ports/
make search name=vim
cd /usr/ports/editors/vim
make -DWITHOUT_X11 install clean
or
make WITHOUT_X11=yes install clean
-DWITHOUT_X11 选项作用是:不安装图形化界面的依赖包,只安装字符界面相关的包,这样子速度很快,我是用默认安装的 Ports 可能下载源也慢,肯能大概安装了4个小时很纳闷,后来终于发现添加 -DWINTOUT_X11 选项后 一会就安装好了。 PS:为啥我的还这么慢呢,都刷了20分钟了。
下载 vim patches 文件:
这里批量下载命令:从 北京理工大学开源软件镜像服务 当中下载:
rsync -vaHz --delete rsync://mirror.bit.edu.cn/pub/vim/patches/ ./
然后把这些文件 cp 到 /usr/ports/disfile/vim 目录中。
3、用 portmaster的方式安装
cd /usr/ports/
portmaster -GD --no-confirm editors/vim-console
-G //阻止make config,也就是使用默认选项
-D 升級或移除ports的時候不要將用不到的distfiles砍掉
--no-confirm //在将要执行升级或者安装之前,不询问用户,直接执行
PS:不使用图形界面的建议安装 vim-console,而非 vim,用 ports 安装 vim 默认是带 X 支持的,会附带安装上很多的 X 支持包。
VIM 配置:
root@JavasBoy.pts/0 ~ # cat .vimrc
set encoding=utf-8
set fileencodings=ucs-bom,utf-8,cp936,gb18030,big5,euc-jp,euc-kr,latin1
set noswapfile " Don't use swapfile
set nobackup " Don't create annoying backup files
set number
set cindent
" TAB setting
set expandtab " replace with spaces
"set noexpandtab " 不自动把table转换为空格
set tabstop=4
set softtabstop=4
set shiftwidth=4
autocmd FileType yaml set expandtab
set nocompatible " 设定 gvim 运行在增强模式下
set backspace=indent,eol,start
" 不设定的话在插入状态无法用退格键和 Delete
" 键删除回车符
set autoindent
set ruler
" Colorscheme
syntax on
set t_Co=256
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" 设置命令行和状态栏
set cmdheight=1 " 设定命令行的行数为 1
set laststatus=2 " 显示状态栏 (默认值为 1, 无法显示状态栏)
set statusline=%F%m%r\ \|\ %{&ff},%{\"[\".(&fenc==\"\"?&enc:&fenc).((exists(\"+bomb\")\ &&\ &bomb)?\",B\":\"\").\"]\ \"},%Y\ \|%=\ %l/%L,%c\ \|\ %f
" 设置在状态行显示的信息如下:
" %f 当前的文件名
" %F 当前全路径文件名
" %m 当前文件修改状态
" %r 当前文件是否只读
" %Y 当前文件类型
" %{&fileformat}
" 当前文件编码
" %{&fileencoding}
" 中文编码
" %b 当前光标处字符的 ASCII 码值
" %B 当前光标处字符的十六进制值
" %l 当前光标行号
" %c 当前光标列号
" %V 当前光标虚拟列号 (根据字符所占字节数计算)
" %p 当前行占总行数的百分比
" %% 百分号
" %L 当前文件总行数
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" 显示空白字符
"set listchars=eol:¬,tab:>·,trail:~,extends:>,precedes:<,space:␣
set listchars=eol:¬,tab:»·,trail:~,extends:>,precedes:<,space:␣
FreeBSD下的Vim默认安装路径为
/usr/local/share/vim/vim7*
在 FreeBSD 10.0 中 VIM 全局配置文件是放在
/usr/local/share/vim/vimrc
vim 7.4.900 vimrc localtion is
/usr/local/etc/vim/vimrc
这个文件中,每个用户的配置文件就是在~/.vimrc,一般我喜欢设置全局的。
让你在 FreeBSD 下用的更顺手。
https://wiki.freebsdchina.org/howto/c/config_your_csh
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" 设置命令行和状态栏
set cmdheight=1 " 设定命令行的行数为 1
set laststatus=2 " 显示状态栏 (默认值为 1, 无法显示状态栏)
set statusline=%F%m%r\ \|\ %{&ff},%{\"[\".(&fenc==\"\"?&enc:&fenc).((exists(\"+bomb\")\ &&\ &bomb)?\",B\":\"\").\"]\ \"},%Y\ \|%=\ %l/%L,%c\ \|\ %f
" 设置在状态行显示的信息如下:
" %f 当前的文件名
" %F 当前全路径文件名
" %m 当前文件修改状态
" %r 当前文件是否只读
" %Y 当前文件类型
" %{&fileformat}
" 当前文件编码
" %{&fileencoding}
" 中文编码
" %b 当前光标处字符的 ASCII 码值
" %B 当前光标处字符的十六进制值
" %l 当前光标行号
" %c 当前光标列号
" %V 当前光标虚拟列号 (根据字符所占字节数计算)
" %p 当前行占总行数的百分比
" %% 百分号
" %L 当前文件总行数
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" 显示空白字符
set listchars=eol:¬,tab:>·,trail:~,extends:>,precedes:<,space:␣
文章评论
vim有很多补丁包的,然后就是http连接几百个连接很耗时间
不要gtk界面的可以直接用vim-lite那个port的
嗯呢,第一次装不太懂,多谢谢了。
我用的是-DWITHOUT_X11 参数,就不会安装GUI的组件了吧。
@JavasBoy 看安装好的嘛,没就 没了看起来逻辑没问题,哈哈,我很少这么干的,向来vim-lite的