汉澳sinox2019AI企业版发布

中国领先的操作系统和计算机语言重装上阵!

打造办公系统,图形设计,服务器,新编程语言,人工智能AI深度学习,立即可用

汉澳sinox2019操作系统AI企业版发布

始于2003年的汉澳-器浦发展计划旨在开发中国人自己的计算机操作系统和编程语言到今天成功了!历时16年的开发,让我们看到了一切都成为可能。

汉澳sinox操作系统是基于最新稳定可靠bsd unix内核,中文可视化安装界面,可视化的中文桌面环境,预装大量的桌面和服务器软件和工具,满足用户绝大部分功能需求,安装即用,拥有windows绝大部分功能,可让用户无缝切换到sinox操作系统办公和工作。汉澳sinox操作系统适合作为要求比较高的工作站和服务器。

汉澳sinox的jail技术可以在同一个机器上创建多个隔离的操作系统,从而实现操作系统级并行计算,创建矩阵电脑,适合未来人工智能设备运行需要。比如机器人运动系统和语音系统运行在不同的操作系统,运动系统死机不会影响到语音系统,而且语音系统可能发现运动系统死机了就重启运动系统,实现运动功能的恢复。

ZFS(Zettabyte(10亿G) File System)源自Sun Microsystems为Solaris操作系统开发的文件系统。ZFS是一个具有高存储容量、文件系统与卷管理概念整合、崭新的磁盘逻辑结构的轻量级文件系统,同时也是一个便捷的存储池管理系统。它具有可变块大小、压缩、加密、重复数据删除、快照、克隆以及(顾名思义)对大容量的支持.简单的说就是可以打造高可靠的存储服务器。汉澳sinox内置zfs文件系统支持,经测试发现,使用zfs的sinox可以拔电关机,重启后也不会出现文件扫描和系统故障的问题。

器普sepl计算机语言是自解释中文程序设计语言,是一个无限接近人类语言的计算机语言,无需编码,不再有代码,阅读程序就像读小说,写程序就像写文章,编程将充满快乐和艺术。sepl编译器是把自己的语法作为c#语言的扩展直接在mono c#编译器上实现,从而完美实现了sepl语言并能拥有强大的.net类库,还有可视化集成开发工具m0onodevelop,随同sinox操作系统发布,你安装好了sinox操作系统就可以直接使用sepl编程。器普sepl作为最先进的计算机语言,将打造全新的人类编程世界。

随着程序设计更加复杂和多样,目前程序已经达到几千万行级别,未来人工智能程序会达到几亿、几十亿行级,当前的计算机语言在阅读和编写上已经达到瓶颈,唯有最新的接近人类语言的sepl语言才能满足大规模应用开发的需求、现在你去读一下linux操作系统,几乎没有人能胜任并能读完。但是几千万字的小说,读起来不是很难的。器普语言就是这样,让编程不再是难题。未来的难题是在算法的研究上。比如目前视频识别,除了可能计算速度跟不上,我们并没有像大脑一样的识别算法。

汉澳sinox和器普sepl是为人工智能而生。我想是天意。诚邀大资金投资基于sinox&sepl的外围产业,包括芯片,智能设备,操作系统,开发工具,人工智能,机器人等,打造类似wintel生态系统,以及采用类似苹果的商业模式。就像sinox&sepl那样,有的项目可能要投资10年才会获得成功,而这种成功是不可想象的。人工智能飞速发展,汉澳-器普出现会加速其发展,传统行业投资已经没有价值了。为什么基于sinox&sepl投资会发展迅速?因为基础太好了。开发小型智能设备游刃有余,而开发大型智能设备也是不难。汉澳sinox增加了机器学习和深度学习开发和运行环境。

汉澳sinox2019AI企业版 99元/套

下载地址
百度网盘分流下载
usb安装盘

https://pan.baidu.com/s/1duAY7OEBy5FhpcnonL50jg

dvd安装盘
https://pan.baidu.com/s/13cFEcSKqvYJiGPXOau_iFA

官网下载
ftp://sinox.org/sinox2019x64.img.rar
ftp://sinox.org/sinox2019x64.iso.rar

USB安装盘 推荐,不用刻盘
MD5 (sinox2019x64.img) = 315d88560e371625c513c26bd664bb89
SHA256 (sinox2019x64.img) = c4be01fb7d1c8caa2d58dfcd613ee6f3d8c0ee5edde61f6c28d7a2afa9b43c15
SIZE sinox2019x64.img)=5087404544 ≈ 5.0G

DVD安装盘 虚拟机安装
MD5 (sinox2019x64.iso) = f84c7e5926ce57f9985def5a5f0620a3
SHA256 (sinox2019x64.iso) = 01f6131129aea3de12e38abce21c766de5580064b99a4e658dbc2eba7cb85416
SIZE sinox2019x64.iso)=4641873920 4641536000≈ 4.6G

virtualbox运行的winxp虚拟机文件,通过注册加入打开

http://pan.baidu.com/s/1qYjKavy winxp.vbox.rar

使用说明

汉澳sinox2019AI企业版是一个基于bsdunix最新成熟稳定内核的兼容bsd,unix,linux,无缝运行windows的新一代中文网络服务器操作系统!
增加了机器学习和深度学习开发和运行环境,包括scikit-learn,theano,keras,pycharm。
具有强大的图形和多媒体功能,完整的互联网和办公软件,丰富的开发工具,广泛用于桌面计算机和服务器,是当今杰出的自成体系商业操作系统,预装完整的计算机软件,称为超级操作系统,一旦安装,即可放心的无障碍使用!
经过精心打造,sinox不仅仅拥有坚如磐石的unix操作系统稳定安全功能,
更加让人赞叹于它已经拥有跟windowsxp媲美的图形操作和强大多媒体功能!丰富完善的开发工具!
vlc流畅的播放器和日益流行的firefox,chromium浏览器,更有功能强大的文字处理软件libreoffice!小企鹅中文拼音五笔输入法,打造完美的中文平台!

安装
若用户不熟悉安装,可以在vmware/virtualbox虚拟机下多操练几次
刻录dvd光盘后插入光驱开始安装,或者刻录到u盘在机器上学习安装。

选择[安装]
进入到安装界面后说明机器可以安装使用sinox,把安装窗口最大化。可以打开帮助文件查看。
按tab跳格,回车确定,空格选中,方向键上下左右选择,Q键退出。

选择键盘,设置主机名,然后进入硬盘分区,可以选择ufs和zfs两种文件系统。

传统的可以用ufs,磁盘阵列和高安全高性能用zfs.传统ufs有稳定可靠的优点。zfs需要8G以上内存才发挥优势。
对于不太懂分区或追求简便的新手可以用自动ufs和自动zfs,它会用整个硬盘。 如果要跟其他系统共享硬盘要手工分区,zfs要使用这个个硬盘。

ufs选择引导方式和引导磁盘
有多个硬盘需要选择引导硬盘,多操作系统选择引导管理器引导,可以用gpt和mbr两种引导,gpt合适大硬盘.

ufs磁盘分区标记Disk Label
一个硬盘分区还可以分成几个磁盘子分区slice
sinox文件结构从/根目录开始,其他文件目录都挂在这个目录下,因此
必须创建/根分区,同时还要创建swap交换分区实现虚拟内存扩展。
swap分区一般跟内存一样大小就可以
按D删除,按C创建,按A自动分片,实在不会就用A自动建立分片和标记!不过如果根分区太小,在根目录创建和建立文件将很快满。
分区大小用扇区表示,但是为了方便,数字后面加入M/G表示兆/千兆,如20G就是20000M。
为了避免不必要麻烦,建议创建交换分区后把所有空间分配给/根分区,除非有特殊要求,否则建两个分区就可以。

安装程序
下面会把操作系统内核和各种软件包安装到硬盘。结束后提示设置root用户密码,设置网络、时区,日期和时间。

安装完成后退出重启,就进入命令提示login:
输入root进入sinox的命令行界面!可用passwd命令修改密码。
输入startx启动视窗,汉澳可视化世界就在眼前!

一旦视窗启动成功,就可以设置让系统自动登录和启动视窗,具体是
把/etc/ttys的ttyv0所在的33行把Pc改成autologin实现自动登录
把root/.login文件内#[ -x /usr/local/bin/startx ] &&
/usr/local/bin/startx行删掉#号并保存就可以自动启动视窗

sinox2019领先特性

坚如磐石:使用BSD Unix最新11内核加上先进的zfs文件系统获得高吞吐量和稳定,高速处理巨大网络流量并稳如泰山。
IPV6:在ipv4地址耗尽的时候,全面支持ipv6的汉澳操作系统帮助我国快速建立ipv6网络,而不需要等待。
zfs:第一个128位文件系统,是一个革命性的全新的文件系统,它从根本上改变了文件系统的管理方式,并具有目前面市的其他任何文件系统所没有的功能和优点,用于高可靠性服务器,不需昂贵RAID。
jail:支持vps,在一台主机虚拟出很多个隔开的服务器主机,充分利用硬件资源,并获得更高安全。
linux_base:模拟运行linux程序,从而运行unix不存在的linux程序,主要是acrobat reader,flashplyer,nvidia显卡驱动。
wine:模拟运行windows程序,大部分windows程序可以运行,运行魔兽、暗黑、星际争霸等游戏,需nvidia 3d显卡。
vitualbox:一款功能强大的x86虚拟机软件,让你在sinox安装使用windowsxp,无缝运行windows作为系统扩展。
x-window:内置视窗引擎,构造可视化视窗操作系统。
kde4:一个跟windowsxp媲美的,界面流畅的窗口管理系统,轻松完成可视化工作,不再是枯燥无聊的命令行。
SMP:支持多核多cpu,可达16个,并可以随意扩展,构造高性能计算机和服务器,甚至超级电脑。
高安全:使用安全审计系统,设置内核安全等级为高安全,ACLs存取控制列表,包过滤防火墙,使用文件标志如chflags禁止删改文件,用非root用户登陆,安装杀毒软件,让系统非常安全,坚不可摧。
百分百unix:采用工业级BSDUnix最新内核,支持posix标准从而把在sinox编译的程序无缝移植到unix大型机,反之也行,并充分利用40年来unix资源,打造廉价的专业Unix工作站和服务器。
中文化:sinox实现了中文化,支持unicode编码,从中文安装到命令行中文平台,到kde4中文桌面和中文输入法,完全面向中文用户。
桌面完善:支持firefox,chromium浏览器,flashplayer11,reaplayer11,vlc,openjdk8,mono的.net框架支持asp.net,libreoffice,gimp,Inkscape绘图,eclipse,kdevelop,小企鹅输入法,各种压缩解压缩工具。
全能服务器:bind,samba,cups,ntp,ssh,sendmail,pop3d/imap,vsftpd,apache,ngnix,lighttpd,tomcat,mysql,postgresql,subversion,php等众多互联网服务软件已经安装好那配置即可用,坚如磐石。
多编程语言:c/c++,java,c#,Python,Perl,Ruby,asp.Net,JavaScript/ECMAScript,C,PHP等,预装了常用语言编译器,可以立即开发使用。
器普语言和集成开发环境:装有绝无仅有的独一无二的自解释中文程序设计语言器普sepl语言编译器,以及器普集成开发工具,让你立即开始中文编程。这是sinox的最大优势。
预装人工智能机器学习和深度学习套件:scikit-learn,caffe,theano,keras,pycharm,可直接开发和运行人工智能程序。

美化字体
系统没有装有宋体字和楷体字,需要用户自行安装
从windows获取或者下载simsun.ttc,simhei.ttf文件放到/usr/local/share/fonts/TrueType,
然后选中文件选择右键,选动作,选安装就可以.

sinox预装大量软件,上千个应用软件包,让你得心应手!

文本编辑器
工具栏KWrite,Kate功能强大文本编辑器,kate类似ultraedit,可查找替换整个目录文件

文件压缩工具
tar,rar,bzip,zip,7zip等多种压缩解压缩工具,右键菜单就可以用。
rar在资源管理器右键菜单可用,rar解压可以,但可能中文有些问题,可以安装windows版本的winrar。

办公
libreoffice.org办公套件有字处理,电子表格,数据库,演示文档,绘图,math数学计算等软件,类似msoffice,可以打开编辑word,excel文件。
Okular文档查看器

图像和cad软件
kde自带KolourPaint绘图程序,看图器Gwenview,屏幕截图kSnapshot(按prtsc按键截图)
gimp GNU图像处理程序可以和photoshop媲美
Blender 三维建模,3d动画制作
Inkscape 领先的矢量图形编辑器,类似fireworks
librecad 2D CAD制图软件,类似autocad
opencascade #三维实体建模引擎(X)(X表示因光盘容量有限,删除了,可以自行安装)
kicad 电路板绘制,类似protel
wings 3D CAD制图软件(X)
pcb 电路板绘图,类似powerpcb
dia 图表编辑器 类似visio
recordmydesktop 屏幕录像,命令启动
xvidcap 屏幕录像
fontforge 字体编辑器(X)

多媒体
vlc是一个很精彩的媒体播放器,是最流畅的媒体播放器!
dragon player播放视频和ksCD播放CD.

Internet互联网
浏览器包括kde自带的konqueror浏览器和firefox浏览器以及谷歌Chromium浏览器!
浏览器支持flashplayer30.运行nspluginwrapper -v -a -i安装配置插件。
firefox支持中文是进入插件激活中文简体,然后网址输入about:config新增名称intl.locale.requested键值zh-CN,重启即可。
对konqueror设置,激活插件如下
konqueror菜单设置,配置konqueror,选择插件,直接扫描新插件,也可以加入/usr/local/lib/browser_plugins目录,,
KMail邮件收发程序
kopete多协议聊天软件,支持yahoo,icq,msn等
Akregator RSS种子阅读器,kNode新闻组阅读器等。
QQ程序可以用virtualbox运行windows,或者直接用手机QQ

开发工具
eclise java集成开发工具
kedevelop4 C/c++集成开发工具,可以开发kde程序。
monodevelop C#.net集成开发工具
Lolalize翻译系统,适合开发多国语言软件
Cervisia cvs前端和Umbrello uml建模等
网络开发bluefish
器普语言sepl编译器集成到mnonoC#编译器并能用monodevelop开发器普程序,这是目前sinox最先进的计算机语言和特性,绝无仅有,独一无二。
用sepl语言开发软件会会出现新的软件革命,让其他计算机语言开发大为逊色。
成熟可用的器普编译器和集成开发工具,不仅可以直接获得C#和.net的类库和资源,还能发展更先进的技术,比如自动代码生成。
monodevelop界面功能可能比较弱,但却适合开发移动平台的程序,当sinox移植到智能机,monodevelop将发挥优势。

人工智能套件
开发语言 python2.6,python3.5,python3.6
机器学习库 scikit-learn
深度学习库 caffe,theano,keras
集成开发工具 pycharm-ce
pycharm调用keras,keras调用后端theano进行深度学习开发

教育
18个教育软件

游戏
40多个游戏程序
土豆小子拼盘贴图游戏是三岁小孩儿童的挚爱,爱不释手。

杀毒软件
clamav

其他
打印系统cups,网络共享samba,sabma服务

服务器软件 打造高能服务器
打印系统:cups
网络共享:samba36,nfs
远程登陆管理:sshd,客户端telnet
ftp服务:ftpd,proftpd,vsftpd,pure-ftpd,客户端gftp
web服务:apache24,ngnix,lighttpd(x),脚本有perl,php,ruby,python
Jsp服务:Tomcat9,jetty9(X),jboss72(X),tomcat通过mod_jk跟apache连接。
asp.net服务器:xsp;连接apache模块mod_mono
数据库服务:mysql,postgresql,sqlite3,phpmyadmin
版本控制:cvs,subversion,git
DNS域名服务器:bind912
邮件服务器:sendmail,courier-imap,postfix,amavisd-new,postfixadmin,atmail,架设拦截垃圾邮件和杀毒的邮件收发服务器
vpn服务器:poptop,mpd5,openvpn,功能逐步增强
代理服务器:natd
防火墙:ipfw
用户只要设置就可以使用,不需要自己安装,系统即装即用,极为方便。

系统
系统工具软件,用来管理和设置查看系统。查看硬盘使用等。
因为光盘空间有限,eclipse,virtuaobox不能随光哦按发布,可以通过pkg网络安装。

命令行系统设置
bsdconfig
执行系统硬件设置,设置网络,鼠标等。

源码系统ports
位置/usr/ports
如果编译不能正常,可以用setenv UNAME_v “FreeBSD”;setenv UNAME_s “FreeBSD”
修改uname操作系统名字输出,从而正常编译ports软件。不过ports发展很快,可能已经不能下载旧版本的源代码。

虚拟机软件virtualbox
主要用来运行windows好让用户保留windows软件遗产,比如使用ie,以及各种windows程序QQ等。
无缝集成,运行windows感觉不到用虚拟机的存在,winxp就像sinox一部分。

系统使用指南

1.硬件配置和管理
显卡配置

为何获得xp桌面效果支持3d渲染,blender和pcbdesigner需要3D支持,只有nvidia显卡提供3D驱动。从/usr/packages复制出
nvidia-driver.tar.xz后解压运行make install安装,然后运行nvidia-xconfg自动配置驱动,重启生效。
从ports/编译安装后在/boot/loader.conf增加 nvidia_load=”YES”,系统开机就载入显卡驱动。似乎不支持二进制安装。
显卡驱动无需设置分辨率,如果字体小,可以在kde的系统设置的应用程序外观设置字体大小就可以放大字体。
kde屏保10分钟黑屏解决办法是系统设置里面电源管理取消屏幕节能就可以。

也可以从nvidia 官网下载最新freebsd驱动然后按说明安装。光盘安装包390,2017,不是最新的。

当系统不能识别显示器,可能无法显示桌面,这时候需要手工配置。
命令行下面编辑文件使用ee编辑器!手工配置

Xorg -configure

这会在 /root 中生成一个叫做 xorg.conf.new 的配置文件.
下一步是测试现存的配置文件, 以确认 Xorg 能够同系统上的图形设备正常工作。 要完成这个任务,只需:

Xorg -config xorg.conf.new -retro

如果用户看到一个黑灰的格子和一个 X 形的鼠标指针,那么配置就是成功的。要退出测试,只要同时键入 Ctrl+Alt+F1;

接下来是调整 xorg.conf.new 配置文件并作测试。

ee xorg.conf.new

要做的第一件事是为当前系统的显示器设置刷新率。 这些值包括垂直和水平的同步频率。把它们加到 xorg.conf.new 的 “Monitor” 小节中:

Section “Monitor”
Identifier “Monitor0”
VendorName “Monitor Vendor”
ModelName “Monitor Model”
HorizSync 30-107
VertRefresh 48-120
EndSection
HorizSync 和 VertRefresh 在配置文件中可能没有。 如果是这样的话, 就需要添加它们, 并在 HorizSync 以及
VertRefresh 后面设置合适的数值。 在上面的例子中, 给出了相应的显示其的参数。
还应该选择默认的分辨率1024X768和色深24。 这是在 “Screen” 小节中定义的:
Section “Screen”
Identifier “Screen0”
Device “Card0”
Monitor “Monitor0”
DefaultDepth 24
SubSection “Display”
Viewport 0 0
Depth 24
Modes “1024×768”
EndSubSection

cp xorg.conf.new /etc/X11/xorg.conf

startx启动桌面

网卡设置
运行bsdconfig
选择配置,选择网络(网络功能都在这里设置,比如gateway,ftpd,inetd,nfs,mail),选择接口,
选择网卡,一般是第一个,回车确定,弹出是否支持ipv6,dhcp,可以选择否,进入到网卡设置界面!
Host主机名字,Domain域名,IPV4Gateway网关,就是上网经过的路由器ip,Nameserver域名服务器,包括网关192.168.1.1,就是isp上网的域名解析,
IPv4本机ip地址,Netmask掩码,设置好了按Ok,确定退出,重启机器就可以用网络了。也可以运行 sh /etc/rc 重新启动
如果没有网关要拨号,打开/etc/ppp/ppp.conf文件,修改用户名和密码后拨号,不过现在为了手机wifi上网,不会电脑拨号了。

声卡设置
kde4自动识别载入声卡,无需设置
如果不认识声卡驱动程序,可以载入全部声卡驱动
具体设置在/boot/defaults/loader.conf文件
设置
sound_load=”NO” # Digital sound subsystem
snd_driver_load=”NO” # All sound drivers
把 NO改成YES即可,不过这样可能增加系统运行很多驱动的负荷。
你也可以自己找声卡驱动并设置
在控制台模式下敲入一下命令

kldload snd_driver //装载一次最常见的驱动 ( 内核装载 )

dmesg | grep pcm

pcm0: port 0xe000-0xe03f,0xdc00-0xdcff irq 11 at
device 31.5 on pci0 pcm0:
查询声卡状态

cat /dev/sndstat

Sinox Audio Driver (newpcm)
Installed devices:
pcm0: at io 0xdc00, 0xe000 irq 11 bufsz 16384 kld snd_ich (1p/1r/0v channels
duplex default)
说明该声卡的类型为:snd_ich
然后在/boot/defaults/loader.conf中的声卡设置里找到snd_ich_load=”NO”项,把NO改成YES即可

使用光驱,u盘,移动硬盘
在桌面下插入光盘,u盘,移动硬盘,kde桌面统自动识别并弹出,无须输入命令
在命令行下
安装中文u盘,移动硬盘 fat
mount_msdosfs -L zh_CN.GBK /dev/da0s1 /mnt
卸载用
umount /mnt
打开安装u盘
mount -t ufs /dev/da0s2a /mnt
格式化u盘为dos盘
newfs_msdos /dev/da0s1
格式化为ufs硬盘
newfs /dev/da0s1

ntfs 硬盘 u盘,移动硬盘。设置loader.conf中fuse_load=”YES”,rc.conf中fusefs_enable=”YES”双击载入。
如果不弹出可以查看media目录下载入点。

kldload fuse

ntfs-3g /dev/da1s2 /mnt

umount /mnt

kldunload fuse

/s /dev 查看设备名
gpart show 查看硬盘分区以及设备名,容量

网络使用
windows共享
在桌面资源管理器,选择系统页面,远程位置,samba共享,Mshome,可以看到机器名!查看目录!
也可以在位置栏输入地址
smb://192.168.1.2
打开windows共享目录,设置用户和权限
本机运行了samba服务器也可以设置目录共享给大家。
ssh共享也很方便

命令行下载文件
wget/axel 网址
wget http://www.sinox.org/sinox2019x64.iso
axel -n 10 http://www.sinox.org/sinox2019x64.iso 像迅雷10线程高速下载
可以下载文件

简要命令使用
./表示当前目录
.. 表示上级目录
pwd 显示当前所在目录
ls 显示当前目录下的文件和目录
ls -all 显示当前目录下的文件和目录所有信息
cd 转入目录
cd /usr/src 转入目录 /usr/src
cd .. 返回上级目录
cd ../.. 返回上级的上级目录
rm -rf 文件/目录 删除文件和目录,加入选项-f表示强制 -r递归子目录,其他复制移动也能用
mkdir ss 建立目录
cp src dist 复制文件和目录
cp -RH src dist 复制文件和目录,其中软链接也能复制过去
ln -s 存在源文件 建立的目标文件
ln -s .xinitrc dot.xinitrc
mv src dist 移动文件和目录
./aa.sh 运行当前目录的程序
chomod +x ss.sh 设置该文件可以执行
sh install.sh 运行脚本文件
pkg install aaa 安装软件包名字
pkg add sss.tbz 安装软件包文件名
pkg add http://192.168.1.1/mono.tbz
pkg delete sss 卸载软件包
make install 源代码目录/usr/ports下面编译安装程序
make deinstall 源代码目录下面卸载已经安装的程序
make package 源代码目录下面编译安装并打包程序
shutdown -p now 关机停电

修改配置出错无法登录解决办法

ufs文件系统
在系统启动显示一下画面时按空格选择4按回车进入单用户模式
系统会运行至显示一下信息
Enter full pathname of shell or RETURN for /bin/sh:
再按回车进入单用户,显示#
挂载文件系统,输入

fsck -p \文件系统检查

mount -u / \挂载 /

mount -t ufs -a \挂载所有文件系统

然后ee修改配置文件到正确

reboot 重启机器

如果系统已经无法进入,进入livecd后
mount -t ufs /dev/ada0s1 /mnt,然后进入/mnt修改。

zfs文件系统

如果系统出故障后无法进入,将不可以恢复系统,不过可以通过livecd就是安装盘打开其他非系统池。所以需要备份系统以便快速恢复。
如果文件池加密了,没有加密文件是可能无法打开的。不加密的其他池可以打开,虽然系统还是没能进入。
zpool import 显示可以载入的文件池名
zpool import zroot 打开zfs池,zroot为池名字
zpool export zroot 卸载zfs系统文件池
zpool import -f -o altroot=/mnt zroot 强制载入文件池到某个可读写目录,/mnt是一个u盘。
然后就可以用命令浏览文件

sepl程序可以用mono mcs编译,可以在monodevelop上开发,不是实验性质,而是实用化,成熟了。只有跟随sinox发布的mcs和monodevelop可用。monodevelop编译sepl代码要取消msbuild选项。

sepl3.0语法

sepl语言,音译器普语言,机器普遍使用的计算机语言、程序设计语言、编程语言。
sepl是英文缩写,全称是self explain program language 自解释程序语言,目前版本是自解释中文程序设计语言。最初只是为了改进C#语法以及汉化,经过不断研发,目前sepl已经正在向自然语言靠近,是一种格式化的人类语言。
独创的首字拼音第一字母+单词 如z整数,可以无限增加中文同意思关键字,或者叫别名关键字。
运算符用中文取代,从而不再有编码,比如++第一眼没人看出什么意思,必须解密,但是用了z自加1,不再有代码。
分隔符用关键字取代,从而去掉各种含义复杂的分隔符。比如.用f访问成员 取代,就不再拘泥似懂非懂的东西,::这个又是什么意思呢? 可能对于受过专业训练的人没什么问题,但是不受训练的人是不明白的。
加上标识符全部采用表达清楚的中文,用sepl编写的程序再也没有代码,我们程序员不再是编码员,而是编写文字的程序员。只要会中文,人人都可以写程序。
软件危机中的代码难读和代码难写问题解决了。可能人们会说会有多余的文字,但是这正好让程序变成文档,不再需要注释。
sepl支持c#语言,从而拥有了强大的.net类库,并且拥有可视化集成开发工具,编写程序会达到最快的速度。
sepl是最先进的计算机语言,将完全改写软件业。中国将有几千万程序员,科技发展不可限量。

写一个1加到100的程序

z整数 总数1加到100 f赋值 0;
x带因子循环(z整数 计算数字 c初始化 1;计算数字 x小于等于 100; 计算数字 z自加 1)

x循环开始
总数1加到100 z自加 计算数字;
x循环结束
对于新手来说,可能对格式有些陌生,但是字面意思可以看懂的,只要稍微解释学习一下,就可以明白的。对于复杂的算法,代码可读性至关重要。读代码就像读小说,文字不但能说清楚,还能美化,艺术化。关键字首字母有助于智能提示和人工智能代码分析。

sepl语法关键词:对应C#关键字或者操作符

===>表示对应关键词,//表示注释

c参数列表 ===> ARGLIST //__arglist

c从对象自身提取类型参考 ===> MAKEREF //__makeref
c从类型参考获取类型对象 ===> REFTYPE //__reftype
c从类型参考获取真实对象 ===> REFVALUE //__refvalue
//语法关键词
c抽象的 ===> ABSTRACT
z转换为类型 ===> AS
t添加 ===> ADD

j基类 ===> BASE

z真假值 ===> BOOL
b布尔值 ===> BOOL

t退出循环 ===> BREAK
j结束匹配 ===> BREAK

w无符号字节 ===> BYTE

p匹配 ===> CASE

b捕捉到异常 ===> CATCH

z字符 ===> CHAR

n内存溢出检查 ===> CHECKED

l类 ===> CLASS

b编译时常数 ===> CONST

c从头再循环 ===> CONTINUE

s实数 ===> DECIMAL

q缺省 ===> DEFAULT

h函数委托 ===> DELEGATE

z执行 ===> DO

s双精度浮点数 ===> DOUBLE

f否则 ===> ELSE

m名字常量集合枚举 ===> ENUM

s事件 ===> EVENT

q强制显式转换 ===> EXPLICIT

w外部的 ===> EXTERN

j假 ===> FALSE

b捕捉异常最后处理 ===> FINALLY

j禁止变量回收重定位 ===> FIXED

f浮点数 ===> FLOAT

d带因子循环 ===> FOR

b遍历 ===> FOREACH

t跳转到标签 ===> GOTO

f访问器读取 ===> GET

r如果 ===> IF

y隐式转换 ===> IMPLICIT
w位于 ===> IN
z整数 ===> INT

f方法定义接口 ===> INTERFACE

c程序集内部的 ===> INTERNAL

s是类型 ===> IS
h互斥锁 ===> LOCK
c长整数 ===> LONG

m命名空间 ===> NAMESPACE

x新建 ===> NEW

k空 ===> NULL
d对象 ===> OBJECT

c操作符 ===> OPERATOR

f赋值返回 ===> OUT

f覆盖重写的 ===> OVERRIDE

k可变参数 ===> PARAMS

s私有的 ===> PRIVATE

b保护继承可用的 ===> PROTECTED

g公开的 ===> PUBLIC

z只读的运行时常数 ===> READONLY

f赋值引用 ===> REF

y移除 ===> REMOVE
f返回 ===> RETURN
y有符号字节 ===> SBYTE

m密封的 ===> SEALED

f访问器写入 ===> SET

d短整数 ===> SHORT
q取字节长度 ===> SIZEOF
d堆栈分配内存 ===> STACKALLOC

j静态全局的 ===> STATIC

z字符串 ===> STRING

j结构体 ===> STRUCT

k开关选择 ===> SWITCH

z自身 ===> THIS

p抛出异常 ===> THROW
z真 ===> TRUE

c尝试捕捉异常 ===> TRY

q取类型 ===> TYPEOF
w无符号整数 ===> UINT
w无符号长整数 ===> ULONG

j禁止内存溢出检查 ===> UNCHECKED

b不安全代码 ===> UNSAFE
w无符号短整数 ===> USHORT

y引用 ===> USING

y引用完就回收对象 ===> USING
y引用创建别名 ===> USING

x虚拟的 ===> VIRTUAL

w无类型 ===> VOID
w无返回值 ===> VOID

y易变不优化的 ===> VOLATILE //y易变的 b不受编译器优化字段 b不受编译器优化可并发修改

t条件循环 ===> WHILE
m满足条件再循环 ===> WHILE

d多文件存放部分代码的 ===> PARTIAL

f泛型类型约束 ===> WHERE

y异步的 ===> ASYNC
d等待完成 ===> AWAIT
//附加

//算术运算符                         + – * / %
j加 ===> PLUS //+
j减 ===> MINUS //-
c乘 ===> STAR //×
c除 ===> DIV //÷ /
q取余 ===> PERCENT //%

z增加委托 ===> PLUS //+
y移除委托 ===> MINUS //-

//逻辑运算符                         & | ^ ~ && || !
w位与 ===> BITWISE_AND //&
w位或 ===> BITWISE_OR //|
w位异或 ===> CARRET //^
q取补 ===> TILDE //~

b并且 ===> OP_AND //&&
h或者 ===> OP_OR //||
b不是真 ===> BANG //!
//字符串连接运算符 +
l连接 ===> PLUS //+

//移位运算符                         << >>
z左移位数 ===> OP_SHIFT_LEFT //<<; y右移位数 ===> OP_SHIFT_RIGHT //>>
//比较运算符 == != < > <= >=
d等于 ===> OP_EQ //=
b不等于 ===> OP_NE //≠ !=
x小于 ===> OP_LT //< x小于等于 ===> OP_LE //≤ <= d大于 ===> OP_GT //>
d大于等于 ===> OP_GE //≥ >=

//赋值运算符                         = += -= *= /= %= |= ^= <<= >>=
f赋值 ===> ASSIGN //= 新增赋值:=
c初始化 ===> ASSIGN //= 新增赋值:=

z注册事件 ===> OP_ADD_ASSIGN //;+=
z注销事件 ===> OP_SUB_ASSIGN //;-=

z自加 ===> OP_ADD_ASSIGN //;+=
z自减 ===> OP_SUB_ASSIGN //;-=

z自乘 ===> OP_MULT_ASSIGN //;*=
z自除 ===> OP_DIV_ASSIGN //; /=
z自取余 ===> OP_MOD_ASSIGN //;%=

z自位与 ===> OP_AND_ASSIGN //;&=
z自位或 ===> OP_OR_ASSIGN //;|=
z自位异或”,Token.OP_XOR_ASSIGN //^=

z自左移位数 ===> OP_SHIFT_LEFT_ASSIGN //<<= z自右移位数 ===> OP_SHIFT_RIGHT_ASSIGN //>>=

//增量和减量运算符                   ++ —
z自加1 ===> OP_INC //++
z自减1 ===> OP_DEC //–

//分隔符号
f访问成员 ===> DOT // .//成员访问运算符(用于对象和结构) .
d的 ===> DOT // .
h和 ===> COMMA // ,
j就 ===> COLON // : 匹配
y语句结束 ===> SEMICOLON // ;

//命名空间别名限定符                 ::
m命名空间内 ===> DOUBLE_COLON //::
p派生自 ===> COLON //:
j继承 ===> COLON //:

k开始 ===> OPEN_BRACE //{ 应付大量大括号区分代码段
j结束 ===> CLOSE_BRACE //}
d代码段开始 ===> OPEN_BRACE //{
d代码段结束 ===> CLOSE_BRACE //}

m命名空间开始 ===> OPEN_BRACE //{
m命名空间结束 ===> CLOSE_BRACE //}

d定义开始 ===> OPEN_BRACE //{
d定义结束 ===> CLOSE_BRACE //}

l类开始 ===> OPEN_BRACE //{
l类结束 ===> CLOSE_BRACE //}
j接口开始 ===> OPEN_BRACE //{
j接口结束 ===> CLOSE_BRACE //}
h函数开始 ===> OPEN_BRACE //{
h函数结束 ===> CLOSE_BRACE //}
x循环开始 ===> OPEN_BRACE //{
x循环结束 ===> CLOSE_BRACE //}
z作用域开始 ===> OPEN_BRACE //{
z作用域结束 ===> CLOSE_BRACE //}

s数组初始化开始 ===> OPEN_BRACE // {
s数组初始化结束 ===> CLOSE_BRACE // }

//索引运算符(用于数组和索引器)     []
s数组开始 ===> OPEN_BRACKET // [
s数组结束 ===> CLOSE_BRACKET // ]

s索引开始 ===> OPEN_BRACKET // [ //无效
s索引结束 ===> CLOSE_BRACKET // ]

y引入链接库开始 ===> OPEN_BRACKET // [
y引入链接库结束 ===> CLOSE_BRACKET // ]

z指定属性开始 ===> OPEN_BRACKET // [
z指定属性结束 ===> CLOSE_BRACKET // ]

//数据类型转换运算符                 ()
c参数开始 ===> OPEN_PARENS // (
c参数结束 ===> CLOSE_PARENS // )

z转换类型开始 ===> OPEN_PARENS // ( //无效
z转换类型结束 ===> CLOSE_PARENS // )

y优先计算开始 ===> OPEN_PARENS // (
y优先计算结束 ===> CLOSE_PARENS // )

t条件开始 ===> OPEN_PARENS // (
t条件结束 ===> CLOSE_PARENS // )

b包含开始 ===> OPEN_PARENS // (
b包含结束 ===> CLOSE_PARENS // )

m满足条件 ===> OPEN_PARENS // (
n那么 ===> CLOSE_PARENS // )

t条件 ===> OPEN_PARENS // (
w为真就执行 ===> CLOSE_PARENS // )

f泛型开始 ===> OP_GENERICS_LT // < f泛型结束 ===> OP_GENERICS_GT // >

//条件运算符(三元运算符)           ?:
s是真取 ===> INTERR // ?
s是假取 ===> COLON // :

k可空的 ===> INTERR_NULLABLE //int?
//空接合运算符 ??
w为空另取 ===> OP_COALESCING //??

z指针 ===> STAR //*
z指针指向 ===> OP_PTR //->
z指向地址 ===> BITWISE_AND //&

z注释区域开始 ===> Region
z注释区域结束 ===> Endregion
r如果 ===> If
r如果结束 ===> Endif
f否则如果 ===> Elif
f否则 ===> Else
d定义 ===> Define
q取消定义 ===> Undef
c错误 ===> Error
j警告 ===> Warning
b编译指示 ===> Pragma
h行号 ===> Line

器普sepl3.0编写的程序例子:
中英文混合,编译运行正常

y引用 System;//using

y引用完就回收对象 System.Text;

using System.Runtime.InteropServices;
m命名空间 器普关键字//namespace
m命名空间开始//{
unsafe j结构体 Point

{
public int x;

public int y;

}

class cPoint { public int x, y:=0; }
l类 器普关键字测试样例让不受训练的人读懂代码关键字是词语拼音字母开头

l类开始
y引入链接库开始 DllImport(“kernel32″) y引入链接库结束

public static extern void GetWindowsDirectory(StringBuilder WinDir, int count);
g公开的 j静态全局的 w无返回值 主函数(z字符串[s数组结束 命令参数数组 c参数结束//(),[] 后部自解释
h函数开始

z整数 k可空的 学生数量  := 10;//int? 赋值
z整数 老师数量 f赋值 学生数量 w为空另取 100;//??
f浮点数 老师平均带学生数  f赋值(f浮点数 z转换类型结束 老师数量 -1;//(类型转换)
z整数 特级老师数量 :=  老师数量 d等于 30 s是真取 15 s是假取 20;//?:三元运算符
//异常处理,避免程序意外退出
c尝试捕捉异常
{
老师数量:=0;
老师平均带学生数 := y优先计算开始 学生数量 w为空另取 0 y优先计算结束 /老师数量;

}

b捕捉到异常(Exception e)
{
Console f访问成员 WriteLine(e.ToString());
//p抛出异常(e);//抛出异常就会报错,否则程序不报错,但是得不到新计算结果
}

b捕捉异常最后处理

{
}

//判断
z字符串 特级老师情况:=””;
//开关选择
k开关选择(特级老师数量)//只能匹配基本类型数据,否则用if else判断
{

p匹配 100j就

特级老师情况:= “特级老师太多!!”;

j结束匹配;

p匹配 3:

p匹配 2:

p匹配 1:

特级老师情况:= “特级老师太少!!”;

j结束匹配;

q缺省:

特级老师情况:= “特级老师合适”;

j结束匹配;

}
r如果(特级老师数量==30)
{

特级老师情况:= “特级老师刚好”;

}

f否则

r如果(特级老师数量>30)

{

特级老师情况:= “特级老师多了”;

}

f否则

r如果((特级老师数量<30) b并且(特级老师数量>10))

{

特级老师情况:=”特级老师偏少”;

}

f否则

{

特级老师情况:=”特级老师少!!”;

}
//循环
z字符串 命令行 c初始化  “”;
r如果 t条件开始 命令参数数组 f访问成员 Length>0 t条件结束
{

d带因子循环(z整数 索引:=0; 索引<命令参数数组 f访问成员 Length;索引 z自加1)             {                 命令行 z自加 命令参数数组[索引] j加 “,”;             }         }         Console f访问成员 WriteLine(“命令行:{0}”, 命令行); //数组初始化 z整数 s数组开始 s数组结束 学生数学分数 := x新建 z整数 s数组开始 s数组结束 s数组初始化开始 30,90,68,93,100 s数组初始化结束;             z整数 数学平均分; s双精度浮点数 总分:=0; d带因子循环(z整数 索引:=0; 索引<学生数学分数 f访问成员 Length;索引 z自加1) {     总分 z自加 学生数学分数[索引 s索引结束; } 数学平均分:= (z整数 z转换类型结束 总分 / 学生数学分数 f访问成员 Length; z整数[] 学生语文分数 := x新建 z整数[] { 56,45,78,34,99,78 s数组初始化结束; z整数 语文平均分; 总分 c初始化 0; z整数 及格人数 c初始化 0; b遍历(z整数 语文分 w位于 学生语文分数) { r如果(语文分 < 60) c从头再循环;//不及格不计算 及格人数 z自加1; 总分 z自加 语文分; } 语文平均分:= (z整数 z转换类型结束 总分 / 及格人数; Console f访问成员 WriteLine(“老师平均带学生数:{0},{1},数学平均分:{2},及格生语文平均分:{3}”, 老师平均带学生数, 特级老师情况, 数学平均分, 语文平均分);//Console.WriteLine  总分 c初始化 0; z整数 循环索引 c初始化 0; r如果(学生数学分数 f访问成员 Length>0 t条件结束

{

z执行
d代码段开始
r如果(循环索引 >= 学生数学分数.Length) t退出循环;//确保访问存在的数组元素

总分 z自加 学生数学分数[循环索引];

循环索引 z自加1;
d代码段结束

m满足条件再循环(循环索引 < 学生数学分数 f访问成员 Length t条件结束; } 数学平均分:= (z整数 z转换类型结束 总分 / 学生数学分数 f访问成员 Length;         总分 c初始化 0;         循环索引 c初始化 0;         及格人数 c初始化 0; t条件循环 t条件开始 循环索引<学生语文分数 f访问成员 Length t条件结束 d代码段开始 r如果( b不是真(学生语文分数[循环索引] >= 60))//不及格

{

循环索引 z自加1;//不同x循环和b遍历,他们有递增因子处理,条件循环没有这行就死循环,你可以试试

c从头再循环;

}

及格人数 z自加1;

总分 z自加 学生语文分数[循环索引];

循环索引 z自加1;
d代码段结束
语文平均分 := (z整数 z转换类型结束 总分 / 及格人数;

Console f访问成员 WriteLine(“老师平均带学生数:{0},{1},数学平均分:{2},及格生语文平均分:{3}”, 老师平均带学生数, 特级老师情况, 数学平均分, 语文平均分);//Console.WriteLine
Point pt = new Point();

pt.x := 80;

Console f访问成员 WriteLine(“pt.x:{0}”, pt.x);
b不安全代码

{

int x = 10;

int z指针 pX = &x;

z指针 pX = 100;

Console d的 WriteLine(“*pX:{0}”, z指针 pX);
int z指针 p_x := z指向地址 pt.x;
z指针 p_x = 15;
Console f访问成员 WriteLine(“*p_x:{0}”, z指针 p_x);
Point z指针 ppt := z指向地址 pt;
ppt z指针指向 x = 10;
Console f访问成员 WriteLine(“ppt->x:{0}”, ppt z指针指向 x);

cPoint cpt = new cPoint();

j禁止变量回收重定位(z整数 z指针 p = z指向地址 cpt.x )
{
z指针 p = 1;
}
}

h函数结束

l类结束

m命名空间结束
服务器设置

提供多种服务器,实现快速数据共享,对外提供应用服务,简单配置就可以使用。

WEB服务器

Apache WEB服务器

错误 /var/log/httpd-error.log,mod_jk错误导致,端口占用也会错误。

启动设置
修改“/etc/rc.conf”文件,确认存在以下1行设置:
apache24_enable=”YES”

Apache的程序或脚本在默认情况下被安装在“usr/local/sbin”目录之下,而配置文件路径是“/usr/local/etc/apache24/httpd.conf”,
为了将之前安装的PHP作为Apache的一个模块加载进来,需要做如下的一些设置。
ServerName www.sinox.org:80

DirectoryIndex index.php index.html
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps

/usr/local/www/apache24/data/

启动服务
apachectl start

测试很简单:在上述配置文件中找到“DocumentRoot”这一项,由之指定的路径下创建一个“index.php”文件,
内容是“”。然后在浏览器地址栏中输入“http://www.sinox.org”

Tomcat JAVA应用服务器
tomcat conf server.xml 端口改成8089 不跟 nginx 冲突

启动
/usr/local/apache-tomcat-9.0/bin/startup.sh
关闭
/usr/local/apache-tomcat-9.0/bin/shutdown.sh
错误文件/usr/local/apache-tomcat-9.0/logs/catalina.out
浏览jsp地址
http://localhost:8089
Apache与Tomcat三种连接方式JK、http_proxy、ajp_proxy
mod_jk实验没成功

jetty JAVA应用服务器

/usr/local/jetty/start.ini
修改监听端口

Connector port to listen on

jetty.http.port=8080
root@sinox:/usr/local/etc/rc.d # ./jetty start
查看/usr/local/www/jetty/demo-base/logs/2019_02_06.stderrout.log
Caused by: java.net.BindException: 地址已被占用
查看端口

sockstat -4l

www jsvc 660 52 tcp46 *:8080 *:*
关闭8080端口
killall jsvc
重新启动输入网址http://localhost:8080/看到jetty界面!!!
将apache和jetty整合,静态的文件通过apache访问,动态的通过jetty访问。
通过http_proxy进行实现
服务器平台不支持可以在启动脚本加入前面export UNAME_s=”FreeBSD”。

apache和jetty整合

加载需要模块:

LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_connect_module modules/mod_proxy_connect.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
LoadModule slotmem_shm_module libexec/apache24/mod_slotmem_shm.so
LoadModule rewrite_module modules/mod_rewrite.so

当访问1文件夹时,将其转发给jetty处理:

ProxyPass /test-spec http://localhost:8080/test-spec
ProxyPassReverse /test-spec http://localhost:8080/test-spec
ProxyPass /test http://localhost:8080/test
ProxyPassReverse /test http://localhost:8080/test

确保jetty访问目录http://localhost:8080/test正常
访问http://localhost/test转入http://localhost:8080/test

apache打开cgi执行python,perl,sh脚本

httpd.conf
解开 LoadModule cgi_module libexec/apache24/mod_cgi.so,就是去掉前面#从而支持cgi
把 AddHandler cgi-script .cgi 改成
AddHandler cgi-script .cgi .pl .py
从而支持python,perl

#AllowOverride none
#Require all denied

改成

Options Indexes FollowSymLinks
AllowOverride None

不然服务器找不到文件

python测试
创建test.py放入/usr/local/www/apache24/cgi-bin/,设置为可执行

!/usr/local/bin/python2.7

coding=utf-8

print “Content-type:text/html”
print
print ”
print ” print ‘Hello’ print ”
print ”

print ‘Hello Python’

print ”
print ”

输入网址访问
http://localhost/cgi-bin/test.py

perl测试
/usr/local/www/apache24/cgi-bin/目录里面的printenv是个perl脚本,第一行写入解释器

!/usr/local/bin/perl

输入网址访问
http://localhost/cgi-bin/printenv
打印环境参数
把printenv改成printenv.pl也可以。

shell测试
/usr/local/www/apache24/cgi-bin/目录里面的test-cgi是个shell脚本,第一行写入解释器

!/bin/sh

输入网址访问
http://localhost/cgi-bin/test-cgi

用mod_python,mod_perl模块似乎也能解释,但没有试验成功

nginx WEB服务器

实现快速php访问

php-fpm_enable=”YES”
nginx_enable=”YES”

service php-fpm restart
/usr/local/etc/rc.d/nginx onerestart

nginx -s reload 重新载入配置

/usr/local/etc/nginx/nginx.conf
指定允许php解析
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
location ~ .php$ {
root /usr/local/www/nginx;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /usr/local/www/nginx/$fastcgi_script_name;
include fastcgi_params;
}

xsp WEB服务器
支持asp.net网页
用monodevelop创建一个asp.net项目,里面有一个form.aspx文件,调试运行可以显示网页。
内容如下
root@sinox:~/Projects/wwww/wwww # ls
bin form.aspx Global.asax obj Web.config wwww.csproj
现在运行

/usr/local/bin/xsp4 –port 8899 -root /root/Projects/wwww/wwww –applications /:.

–port端口,–root运行的根目录,–applications /映射到当前目录.,也可以这样’/blog:../myblog’
输入网址浏览
http://localhost:8899/form.aspx
mod_mono是通过apache访问xsp
mod_mono也是在apache /usr/local/etc/apache24/Includes/mod_mono.conf自动配置好了
直接把wwww目录包含form.aspx内容放到/usr/local/www/apache24/data/
输入网址浏览
http://localhost/form.aspx
运行成功!
运行xsp的测试目录失败,可能是因为测试文件版本2.0太低,现在是4.0。xsp2已经淘汰。
/usr/local/bin/xsp4 –port 8899 -root /usr/local/lib/xsp/test –applications /:.
放入apache目录也是一样,要重新设计代码才行

sshd
远程登录,上传下载

Secure Shell 的缩写。默认安装就能启动,ftp选择类型sftp
/etc/rc.conf
sshd_enable=”YES”
位置文件
/etc/ssh/sshd_config
打开功能root登陆
PermitRootLogin yes
密码登陆
PasswordAuthentication yes
允许空密码登陆
PermitEmptyPasswords yes
/etc/rc.d/sshd start 启动
/etc/rc.d/sshd restart 重启动
ssh可以登陆管理系统
ssh root@192.168.1.102
用scp命令上传和下载文件,只是方向不同
上传
scp -r /root/* root@192.168.1.102:/usr/ports
下载
scp -r root@192.168.1.102:/usr/ports/distfiles /usr/ports

ftp服务器

系统自带ftp
/etc/rc.conf
vsftp_enable=”YES”
启动就能用,用户登陆,快速共享

vsftpd

/etc/rc.conf
vsftp_enable=”YES”

配置文件
/usr/local/etc/vsftp.conf
打开匿名访问
anonymous_enable=YES
listen=YES
background=YES
匿名访问文件存放目录:/var/ftp ,下面都一样

pure-ftpd

/etc/rc.conf
pure-ftpd_enable=”YES”

配置文件
/usr/local/etc/pure-ftpd.conf.sample改成pure-ftpd.conf

打开匿名访问
AnonymousOnly yes

proftpd
/etc/rc.conf
proftpd_enable=”YES”

配置文件
/usr/local/etc/proftpd.conf
前面加入绑定IP
DefaultAddress 192.168.8.105

不支持匿名访问,即使匿名也需要输入用户名和密码
其他设置 /usr/local/etc/proftpd/

数据库服务器

mysql
设置开机启动
/etc/rc.conf
mysql_enable=”YES”
忘记密码重新设置
执行命令,设置密码

mysql

set password for root@localhost=password(“12345678”)

把/usr/local/www/目录的phpMyAdmin拉进/usr/local/www/apache24/data/
打开网址
http://localhost/phpMyAdmin/
用root用户和刚设置的密码登录,然后创建修改数据库

postgres
设置开机启动
/etc/rc.conf
pgsql_enable=”YES”

root@sinox:/usr/local/etc/rc.d # ./postgresql start
pg_ctl: directory “/usr/local/pgsql/data” does not exist
目录不存在,创建,然后设置用户
chown pgsql /usr/local/pgsql/data
再次启动
root@sinox:/usr/local/etc/rc.d # ./postgresql start
pg_ctl: directory “/usr/local/pgsql/data” is not a database cluster directory
初始化数据库
service postgresql initdb
启动成功
root@sinox:/usr/local/etc/rc.d # ./postgresql start

设置pgsql数据库用户密码,不是linux的postgres。
查看用户
pw usershow -a
删除用户密码
sudo passwd -d pgsql
设置用户pgsql的密码
sudo -u pgsql passwd
系统提示输入新的密码
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
通过数据库修改密码不可用
sudo -u pgsql postgres -D /usr/local/pgsql/data
FATAL: lock file “postmaster.pid” already exists
HINT: Is another postmaster (PID 689) running in data directory “/usr/local/pgsql/data”?

登录网页管理
http://localhost/phpPGAdmin/
phpPgAdmin登陆提示:Login disallowed for security reasons. (2011-07-14 13:21:50)
修改config文件夹中的config.inc.php:
找到配置文件中的代码$conf[‘extra_login_security’] = true;
只需要将true改成false即可。

局域网共享服务器

samba
跟windows共享目录
设置开机启动
/etc/rc.conf
samba_server_enable=”YES”
配置文件
/usr/local/etc/smb4.conf
smb4.conf文件在/usr/packages
启动
root@sinox:/usr/local/etc/rc.d # ./samba_server restart
smb4.conf共享一个目录出去给大家随意访问,把前面;去掉
[public]

共享目录名
path = /usr/ports 共享的目录
public = yes 公开,yes是no否
only guest = yes 客人访问
writable = yes 可写
printable = no 可打印
samba访问,从资源管理器网络进去samba共享,选择机器名sinox
也可以输入地址访问
smb://sinox/public/

nfs
unix网络共享服务器
服务器段设置开机启动
/etc/rc.conf
nfs_server_enable=”YES”
nfsv4_server_enable=”YES”
nfs_server_flags=”-u -t -n 4″
rpc_statd_enable=”YES”
rpc_lockd_enable=”YES”
nfsuserd_enable=”YES”
mountd_enable=”YES”
mountd_flags=”-r”
客户端,如果开机自动载入共享目录才需要吧。比如在fstab设置
nfs_client_enable=”YES”
nfs_client_flags=”-n 4″
共享目录设置
/etc/exports
内容
/usr/ports -alldirs 192.168.1.102 192.168.1.103
/home/aaa -alldirs 192.168.1.102 192.168.1.100 192.168.1.101
共享目录,共享方式,可访问的ip
NFSv4版本设置复杂一点,跟linux的nfs设置不完全一样。

客户端载入
mount -t nfs 192.168.1.102:/home/aaa /mnt
-t 指定文件类型 ip地址是服务器ip,冒号后面跟exports共享的目录名, 最后是本地载入目录名。
showmount -e 查看自己的对外共享目录
showmount -e 192.168.1.102 查看ip所在服务器共享目录
/etc/rc.d/mountd restart 更新exports共享目录

下面服务器配置比较复杂还没有测试。

DNS域名服务器

DNS域名解析服务(Domain Name System)是用于解析域名与IP地址对应关系的服务,功能上可以实现正向解析与反向解析:
正向解析:根据主机名(域名)查找对应的IP地址。
反向解析:根据IP地址查找对应的主机名(域名)。

工作形式上又分主服务器、从服务器和缓存服务器。
主服务器:在特定区域内具有唯一性、负责维护该区域内的域名与IP地址对应关系。
从服务器:从主服务器中获得域名与IP地址对应关系并维护,以防主服务器宕机等情况。
缓存服务器:通过向其他域名解析服务器查询获得域名与IP地址对应关系,提高重复查询时的效率
bind是著名的域名服务器
/etc/rc.conf设置开机启动
named_enable=”YES”
配置目录
/usr/local/etc/namedb/
主配置文件named.conf
第1步:配置区域数据信息。
第2步:配置解析数据信息
第3步:nslookup检验解析结果
配置后重启服务器
root@www:/usr/local/etc/rc.d # ./named restart

邮件服务器

courier-imap+Postfix+amavsid-new+SpamAssassin+postfixadmin 电子邮件收发组合

courier-imap 邮件接收服务器
实现 pop3、imap 接收邮件功能,支持TLS安全传输。
Transport Layer Security (TLS, 原名SSL),能以加密技术来保证TCP通信的私密性(信息不外泄)与完整性。
/etc/rc.conf设置开机启动
courier_imap_imapd_enable==”YES”
courier_imap_pop3d_enable=”YES”
带ssl是支持TLS安全传输
配置文件

Postfix 邮件发送服务器
postfix的产生是为了替代传统的sendmail.相较于sendmail,postfix在速度。性能和稳定性上都更胜一筹。如今眼下许多的主流邮件服务事实上都在採用postfix. 当我们须要一个轻量级的的邮件server是,postfix不失为一种选择。
postfix在性能上大约比sendmail快三倍。一部执行postfix的台式PC每天能够收发上百万封邮件。
自启动,默认安装覆盖了sendmail
/etc/rc.conf
postfix_enable=”YES”
sendmail_enable=”NONE”
配置文件
/usr/local/etc/postfix/main.cf
myhostname = sample.test.com  ← 设置系统的主机名
mydomain = test.com  ← 设置域名(我们将让此处设置将成为E-mail地址“@”后面的部分)
myorigin = $mydomain  ← 将发信地址“@”后面的部分设置为域名(非系统主机名)
inet_interfaces = all  ← 接受来自全部网络的请求
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain  ← 指定发给本地邮件的域名
home_mailbox = Maildir/  ← 指定用户邮箱文件夹

amavsid-new 邮件杀毒
amavisd-new 是一个介于 MTA 和内容过滤软件之间的桥梁,其角色就像是两者之间的沟通者。 amavisd-new 本身也是个简单的 MTA,也可以用来架设一个独立的 Mail Gateway,提供多台 Mail Server 做邮件过滤。除此之外,amavisd-new 还可以结合十多种杀毒软件来做病毒防护。
自启动
/etc/rc.conf
amavisd_enable=”YES”
/usr/local/etc/amavisd.conf
@av_scanners = (
@av_scanners_backup = (
删除ClamAV注释#打开杀毒功能

SpamAssassin 反垃圾

是一种安装在邮件伺服主机上的邮件过滤器,用来辨识垃圾信。它是使用大量的预设规则检查垃圾信,这些规则会检查寄到网域内所有邮件的标头,内文,以及送信者。他采取的过滤方式是采用记分制,也就是说会根据我们所设定的标准来给予分数超过标准值的时候即判定为 SPAM(垃圾邮件)
自启动
/etc/rc.conf
spamd_enable=”YES”
配置文件
/usr/local/etc/mail/spamassassin/local.cf

postfixadmin 邮件发送管理
是基于web的postfix邮件发送服务器的管理工具,可以直接管理postfix的虚拟域名和邮件用户,前提是这些数据是存储在mysql或者是PostgreSQL数据库中。
位置在/usr/local/www/,php代码,拉入/usr/local/www/apache24/data/后运行

vpn代理服务器

Poptop
Poptop ,官方网站上的定义是The PPTP Server for Linux,就是利用PPTP(Point to Point Tunneling Protocol,点到点隧道协议)通过Internet访问VPN(Virtual Private Network,虚拟局域网),它允许远程用户安全、花费低廉地从Internet上的任何地方访问公司内部网络。
自启动
/etc/rc.conf
pptpd_enable=”YES”
配置文件
/usr/local/etc/pptpd.conf
可以从/usr/packages目录复制进去
运行后用ppp连接拨号登入网络

mpd5
跟poptop差不多
自启动
/etc/rc.conf
mpd5_enable=”YES”
配置文件
/usr/local/etc/mpd5/mpd.conf.sample 使用mpd.conf.sample
账号密码
/usr/local/etc/mpd5/mpd.secret
添加用户权限,格式如下

用户 “密码” 分配IP

user “user”

openvpn
自启动
/etc/rc.conf
openvpn_enable=”YES”

VPN直译就是虚拟专用通道,是提供给企业之间或者个人与公司之间安全数据传输的隧道,OpenVPN无疑是Linux下开源VPN的先锋,提供了良好的性能和友好的用户GUI。
OpenVPN 是一个基于 OpenSSL 库的应用层 VPN 实现。和传统 VPN 相比,它的优点是简单易用。
OpenVPN允许参与建立VPN的单点使用共享金钥,电子证书,或者用户名/密码来进行身份验证。它大量使用了OpenSSL加密库中的SSLv3/TLSv1 协议函式库。
openvpn通过使用公开密钥(非对称密钥,加密解密使用不同的key,一个称为Publice key,另外一个是Private key)对数据进行加密的。这种方式称为TLS加密
openvpn使用TLS加密的工作过程是,首先VPN Sevrver端和VPN Client端要有相同的CA证书,双方通过交换证书验证双方的合法性,用于决定是否建立VPN连接。

使用openvpn先要建立证书文件,有点麻烦。配置文件需要指定证书文件。
openvpn的配置文件:vars,server.conf放在/usr/local/etc/openvpn
/usr/packages/有个配置文件server.conf
客户端配置文件:client.conf,用openvpn-client登陆

SSH翻墙

SSH (Secure Shell, 安全外壳协议)是一种加密渠道,本身并不能翻墙,需要结合代理服务器才能够翻墙。所以,我们通常所说的用来翻墙的 SSH,都是指 SSH 代理。也就是说,SSH 代理 = 代理 + SSH,可以看作是加密了的代理,就好比把包裹装在保险箱里面再交给快递员。在 TCP/IP 五层模型中,SSH 是被应用于应用层和传输层的安全协议。
ssh是一个remote shell 是基于SSL的一种应用,尽管很多人用ssh的转发功能 但是本质上,并没有使用shell, 只是利用了sshd这个软件的SSL proxy的功能。

WEB代理

五大开源 Web 代理服务器 Squid,Privoxy,Varnish6,Polipo,Tinyproxy
安装盘因为容量有限不能加入发行光盘。用户需要用pkg二进制包安装或者ports源码编译安装。

whereis varnish6

varnish6: /usr/ports/www/varnish6

cd /usr/ports/www/varnish6

root@www:/usr/ports/www/varnish6 # make install

发表评论

电子邮件地址不会被公开。 必填项已用*标注