大型IC设计中心的IT环境

原创作者:王光辉(本文由作者发表在EETOP论坛)

从2004年开始,我写过几次小型IC设计中心的IT环境。比较多的论述了创业类型的芯片设计公司,应该怎么去设计自己的IT环境。这10多年间,有不少初创型的公司来咨询过如何更好的规划IT系统,我都尽力协助解决。

我本人也在这期间经历过各种类型的公司,包括提供EDA平台的苏州ICC,做交换机芯片的CentecNetworks,已经被收购的Broadcom,做嵌入式CPU的China-Core,以及过去两年为其工作的初创大型CPU设计公司,IBMPower8在中国的落地项目中晟宏芯。以上工作经历,给了我很多锻炼,让我在面对各种大小类型的IC设计公司的时候,变得更加成熟。但是,在这个过程中,深感国内的IC设计公司在IT环境的建设方面,跟国际大公司比较,差距依然非常大。

全文分为11个章节论述:

1.基础设施建设(机房,弱电间,接入机房,实验室机房及实验室)

2.网络结构

3.系统及存储布局

4.接入及登陆环境

5.设计Job的管理

6.数据管理

7.版本管理

8.邮件系统

9.EDA软件管理

10.多site协同

11.安全

基础设施建设

1.供电

2.制冷

3.布线(水、电、弱电)

4.环控

5.空间及位置考虑

6.交换机布局,ipmi布局

7.消防

基础设施主要包含网络、机房等方面,我这里主要介绍的是机房的建设。过去十多年,我建过几台服务器的小机房,也建过几百台服务器的小型数据中心。考量的东西很多,因为本篇主要论述大型IC设计中心的IT环境,所以主要讲的是几百台服务器的机房。

首先,我们来看一张机房的示意图:

我们可以看到这个数据中心分成了多个部分:接入机房,实验室机房,消防钢瓶间,UPS配电间,电池间,主机房,值班室。

供电

建设机房的首要任务是计算出你到底需要多少功率的负荷,然后对接入电源

制冷

目前机房空调主要有两种类型:一种是大型的精密空调,通过上送风或者下

送风的方式,经过机房地板形成一个冷热回路。这种方式在很多地方使用,优点是送风集中,运维方便。缺点就是噪音大,空调冷热路径长,能耗损失多。另外一种,就是行间空调。行间空调顾名思义,就是空调就位于机柜旁边,空调出来的冷风就被机柜上放置的服务器吸入,然后从服务器后端排出热空调,形成循环。

水冷还是风冷?

这也是一个难以取舍的选择。整体来说,风冷技术成熟,能耗比水冷高。但是水冷风险高,因为管路的安装和维护要求高,一旦漏水,对机房来说都是大事故。但是,水冷真的可以很大程度降低能耗。

基于自己的条件,我们选择了行间空调风冷方式。

布线

机房布线的考虑,经常受到环境的限制,经常我们不得不取舍。主要需要考虑的是水管如何布置,包括加湿器的进水管和冷凝水的排水管。强电线缆如何布局以及弱电(双绞线及光纤线缆)布局。

水管的布局,需要考虑漏水的情况下,对机房的影响。机房漏水从来不是小问题,任何处置不当,就可能导致机房停止运行。主要有两方面的水路需要处理,一边为冷凝水的排出,另外就是加湿器的进水。建设机房的时候,建设方提出想把顶楼的排水管在中间开口,通过这个排水口去释放空调的冷凝水,听起来不错吧?可如果大雨的情况下,排水管堵塞或者来不及排出去的时候,水就会从排水管的开口处,直接往机房排放。加湿器进水一定要前置阀门,随时将其管理。否则,自来水的突然高压,可能会导致机房大面积过水。由于进水管的安装问题,我甚至不得不将加湿器进水管完全关闭,以免发生意外。水管一般都是从机房地板下走。

强电的安装需要注意跟弱电分开,因为强电会干扰弱电信号。这就提出了一个现实的问题:强电到底应该走顶部还是地下?因为顶部往往会走弱电线缆。弱电走顶部的一个好处是后期维护和排错更加方便。我这里设计方选择了走地下,地板下有40cm,强电在架设的桥架上走。但是,因为排水管需要有一定高度,不得不走了强电桥架的上部,这应该是一个失败的设计。但是,如果强电走顶部,弱电怎么办?两者之间需要隔离。整体的通道和机柜设计已经解决这个问题,所以建议选择冷通道和机柜的时候,选择好顶部可以分割强弱电布线的产品。这样可以很好的解决强弱电分离的问题,同时避免了强电跟水路一起走的尴尬。

环控

的实时显示。

空间及位置考虑

为什么要将接入机房单独出来

为什么要建一个单独的实验室机房?

我们都知道,IC设计公司是要做出硬件产品的,而很多工作需要的服务器,不是IT人员去管理,而是设计人员自己做各种测试使用。如果没有一个独立的空间,是无法做好隔离的。这样测试环境会让整个IT系统不稳定。仿真器等设备需要大功率的制冷和独立空间,所以实验室机房采取传统的精密空调,采用下送风的方式制冷。

主机房

我们主机房按照标准模式,设计了独立的消防管网系统,气体灭火。UPS配电间跟电池间。UPS设备目前有模块化的,可以考虑,避免机房设备不足的时候,UPS浪费电力严重的情况发生。

机房的位置选择

这个涉及的考量很多,很多时候我们不得不折中考量,这让人感觉很无奈。比如,我们需要考虑楼层的承重,一旦我们考虑建设机房的地方,如果楼下是空的,就需要建筑设计单位拿出承重设计数据,不能满足我们需求的情况下,我们需要加固。一般情况下,都是不能满足的,没有哪家建筑设计院会将普通的办公楼设计为承重达到机房的要求,除非是厂房设计。一般建筑的承重为250kg—500kg,而我们机房一般要求1000kg-2000kg之间。特别是UPS电池间,这个地方要求的承重非常高。

如果我们选择地下没有架空的一楼做机房,当然就不需要重新加固建筑承重了,但是一楼往往会面临另外一个问题。机房空调的外机往哪儿放?现在的建筑一般都是空调放在顶楼,如果一楼的机房到顶楼的距离过长,会影响制冷效果,能耗也会损失更多。另外,一楼还需要防水,特别是暴雨来临,如果地势低洼,很可能导致倒灌,一旦进入机房,整个机房就可能完全停止工作。

所以,机房的位置选择起来非常难。建议一定要提前选择好地方,且不可将就。

网络布局

机房网络设备主要是交换机,目前主要采用的有集中式布局和分布式布局。

两种各有优缺点。

集中式布局,一般在一个冷通道采用一台大型多插槽的交换机,这样的布局方式,机房布线是一个难点,因为几百根网线要布局到核心交换机处,线缆的连接非常麻烦,好处是解决问题的时候简单,且由于交换机多采用了个冗余部件,很少出现故障。各个机柜之间也基本是线速连接的。

分布式布局,多采用TOR交换机模式,即每个机柜顶部安装一台交换机,然后各交换机通过上联到核心交换机处实现连接。这样的连接方式,交换机数量比较多,可能不得不浪费很多端口,因为我们一个机柜里边很难会完全用完交换机端口(现在一般交换机都是24口-48口)。这种方式的优点是:布线非常简洁,只要每机柜到核心交换机机柜布置2根6芯的光纤+2根六类线即可。

无论采用分布式还是集中式,都推荐在每个机柜上放一台简单2层交换机,用于设备的远程管理口,比如服务器的ipmi端口。这样可以不用随时进出机房去开启关闭服务器。

消防

机房的消防,目前主要采取的是七氟丙烷气体消防。主要考虑的是,提前在

消防部门审批方案和报备,必须是当地有资质的建设方。另外,气体释放的方式最好是经过监控室人工确认,否则可能导致机房人员没有按时撤离,窒息而死。

网络结构

首先让我们来看一个网络的结构示意图,因为这部分涉及到实际内容,我只能通过示意图的方式来简单讲一下基本的要求。无法提供真实的网络结构图给大家看了。

1.内外网隔离

2.研发网络跟办公网络隔离

3.研发网络客户端跟服务器隔离

4.MPLSVPN网络

内外网络隔离

我们通过多层防火墙对网络进行了隔离,公司总出口有一个上网的防火墙,

用于隔离互联网跟办公网。我们对外提供的有限服务位于防火墙后面,这也是最容易被外部攻击的区域。在这里,我们通过ACL等措施隔离办公网络流量,防火墙部署入侵检测和杀毒等服务。

研发网络跟办公网络隔离

研发网络指的是我们设计芯片的网络。这里一般采用两种方式隔离,一种

是物理隔离,另一种是逻辑隔离,各有优缺点,按需采用即可。物理隔离的优点是安全,任何通过网络入侵的机会将为零。但是缺点是实用性和方便性遇到困难,无法做到多个异地site协同工作。逻辑隔离是采用各种安全规范,严格限制研发网络跟办公网络的交互,实现即时办公网络被入侵,依然可以保证研发网络安全的网络设计。这种优点是可以多site协助,跟外部交流容易。缺点就是存在安全错误导致的安全风险存在可能。

研发网络的客户端跟服务器分离

研发网络的服务器端一般位于机房内,而客户端位于工位。两者之间如果不

能有效隔离,就会造成安全风险点大面积增加。同时,对内的安全防护就无从谈起。使用,我们一般会在登陆客户端跟设计服务器之间采用防火墙来隔离。同时,登陆服务器也需要采取各种安全措施,避免被内部用户入侵控制。

MPLSVPN网络

专线网络有多种,常用的可能有MSTP/SDHMPLS。SDH专线主要用在国内

点对点电路上,相当于给提供物理链路给你。这种方式优点是点对点,只要电路不断,你的网络一定不会跟其他共享带宽。MPLSVPN是用的更多的专线方式,其特点是环状组网,使用逻辑隔离,将数据从一个大的带宽网络中隔离出来,运营商采用各种方式尽量保证你的带宽符合你申请的带宽。

如果只是两点,可以考虑SDH,如果是多点,建议还是用MPLSVPN比较合适。专线方式可以提供比互联网ipsecvpn更好的稳定性,建议研发的工作环境采用。而对于稳定性要求不高的应用,建议还是采用传统的ipsecvpn方式节省费用,比较专线每月都需要付出一大笔钱。

额外提示一点:目前研发设计网络,经常需要使用google等搜索引擎查询资料。国内的网络连接国外有防火墙封锁,同时两大运营商的问题导致访问国外异常慢,丢包率非常高。解决这类问题,目前有几个办法:方法一,购买一些vpn服务账号,适合个人使用。方法二、公司拉一条专线到香港,通过香港本地上internet。适合公司一起使用的,但是这种方式成本很高,差不多1000元/M,一条10M的线路需要每个月一万了。方法三、通过上面所述的MPLSVPN,路由到国外再上internet,类似方法二,只是成本更高,如果刚好有上下线非对称应用,比如国外分部主要通过MPLS访问总部资源的时候,主要是下行带宽,总部可以利用其上行带宽。方法四、采用SDN的方式和云计算结合,通过公有云实现这类应用,成本在100-300RMB/兆之间,非常适合小公司。

系统和存储布局

1.CPU架构及OS考虑

2.认证(NISADLDAP及其他)

3.DNS/NTP

4.Email

5.存储:zfs/netapp

6.NFSv3/v4和AFSGPFS之间的优缺点

CPU架构及OS

CPU架构方面,依然推荐Intel的E5-2600v3和v4双路服务器,特殊情况可以考虑E7的4路服务器。作为一家主要引入IBMPower8处理器设计的公司来说,采用intel的CPU是不是有些特别的意味?一点也不奇怪,因为EDAvendor的主要软件都是支持x86的处理器,只有少量软件会支持AIX+Power。而从性价比来说,显然x86更有优势。

OS安装需要采用kickstart实现一致性安装,即所有服务器跑的系统和软件包都一样。实现本地的OSimage和epel库,然后通过pssh等分布式管理工具实现软件安装的一致性要求。

认证

用户认证,必须实现统一账号,在任何系统下,最好是同一个账号和密码。

目前能够实现这个条件,需要windows的ActiveDirectory和NIS或者LDAP统一。

我这里采用了windows2008R2+NIS来实现,使用NIS这么古老的认证技术主要是考虑了其简单方便性,没有过多考虑其他如安全等特性。

Windows2008R2,集成可SFU的功能,可以为unix用户设置一些特性,比如uidgidshellhome,另外,还提供NIS服务器功能,可以实现windows账号和unix账号的统一。

采用NIS的原因是我们会在后面实现autofs功能,这样PXE安装的Linux服务器就不需要挂载很多文件系统,而直接采用autofs的方式挂载。

在未来,Unix下认证应该会跟逐步LDAP集成。

DNS/NTP

实现内部DNS服务功能可以提供内部服务器之间的便捷访问,从而摆脱记忆

ip地址的麻烦。某些服务器在采用了内部dns后,可以更容易使用。目前提供dns服务器的主要有两个程序:bind和dnsmasq。前者是传统的dns服务器,功能强大。后者是简单的dns+dhcp服务,一般用于小型环境。优点就是便捷,使用方便。具体服务器搭建,这里不再详细介绍,提醒一点是dnsmasq默认不提供跨vlan的dns服务,需要绑定interface。

Email系统

Email依然是当前企业通信的最主要方式,所以email系统的选择也是一个重

要的工作。由于我们公司采用了内外网隔离的方式,所以我们的平时跟外部联系的邮件系统跟内部邮件系统是完全独立的两套。

内部邮件系统,我们采用了postfix来自己搭建一套。考虑到有需求,我们采取措施,让托管出去的邮件可以直接转发到内部邮件服务器上。这里涉及到了一个中转服务器。

存储

存储系统的选择非常重要,几乎决定了后期整个系统性能的关键因素。在IC

设计行业中,有几个重要因素需要考虑:实时压缩、高速SSD做缓存、重复数据删除、snapshot、NFSv4ACL、Backup。

对于以上特点,我这里简要介绍需要的原因:

实时压缩,可以很大程度减少存储容量的使用。在IC设计中,经常可以做到2倍的压缩率,即容量提升了一倍。同时,还提升了IO能力,因为压缩后的数据更小,有利于读写。现代的CPU都很快,压缩不会带来太大的负担。所以,可以放心使用。

高速SSD缓存,全闪存太贵,而采用SSD做缓存的方案,可以很大程度上将热点数据放在高速SSD上,遇到调用的时候不再去磁盘中寻找,这样可以很大程度上提供IOPS,是一种利用较低成本提供了较大效益的方案。

重复数据删除,重复数据删除功能可以在很大程度上减少磁盘空间的使用量,特别是针对某些应用,比如虚拟化及多版本开发环境。

Snapshot,这里的snapshot一定要跟SAN盘阵的区分开来,也跟LVM的不一样。基于netapp和zfs的snapshot功能,允许用户自我管理不小心删除的数据,随时自己去恢复,减少管理员的麻烦。提高了用户的满意度。

NFSv4ACL,由于其提供了很多高级特性,可以实现项目的管理方式,让项目经理去管理目录的权限,将IT从权限管理的繁琐中解脱,同时,给项目经理足够大的自由度,让他们更快捷的实现自己的要求。

备份,是一个重要的话题,数据备份可能永远都是在做后备,但是一旦需要恢复,备份就显得格外重要。目前主要考虑采用D2D的备份+磁带归档的方式实现长期的数据备份需求。

由于我们的环境主要是NAS存储的NFS共享,满足以上要求的主要有netapp的存储及基于zfs的存储系统,如oracleZS4nexentastor等。

目前在国内做支持最好的依然是netapp存储,但是netapp的销售策略要小心,存在销售控制价格的行为特别严重,甚至可以做到价格差异30%-50%的情况。因为是区域控价,你如果选定了必须用它,几乎无任何的议价能力,被迫接受高价。在大厂商面前,用户很弱势。唯一的反击就是绝对不要选择某一家厂商的产品作为采购要求。

NFSv3/v4及AFSGPFS文件系统的优缺点

NFSv3是过去和当前依然在大量使用的协议,几乎所有的系统都能支持,使

用和配置也很简单。但是,nfsv3缺乏一些特性,如安全性不足,缺乏更严格的acl支持,缺乏并行支持等。所以,后来开发了nfsv4,提供了更加先进的一些功能。我们主要会使用到nfsv4的功能就是nfsv4acl支持。目前很多测试环境下,nfsv3的性能依然比nfsv4更快。所以,除了需要设置acl的时候,否则其他地方应该挂载nfsv3为主。

AFS文件系统是另外一种主要的网络文件系统,其提供了很多优秀的功能,比如本地cache,acl,quota,分布式等。但是,国内很少用到,商业化支持也不足,所以不建议使用。

GPFS是IBM开发的商业产品,可以实现分布式,如果不考虑费用问题,可以考虑在某些关键的应用中采用。

--------------------------

网友提问:

IC行业中,存储对IOPS的要求是非常高的(实际生产环境中的发现),对存储容量要求相同的情况下,如果获得更高的IOPS,除了存储控制器的IOPS限制外,还要考虑单个硬盘的容量问题。一般情况下单盘更小容量,更多的盘,可以带来更高的IOPS。另外可以提一下存储的空间利用率,往往存储的利用率超过85%(有说90%),读写效率将大幅下降。实际生产环境中,磁带归档是否是一个效率(备份和恢复)很低的办法?

----------------------------------------

接入及登陆环境

1.VPN是否可以?VPN至少要做到双因素验证

2.如何避免设计人员copy&paste。

3.登陆软件的选择:VNCXenappNXGo-globalEoD等

4.桌面系统:GNOMEKDEICEWMFVWMXFCE

如何考虑移动VPN接入

提供移动VPN接入就相当于在内部网络开放了一个接口,让外部的用户可以

如何避免设计人员copy&Paste数据

目前的登陆软件,很多可以禁止用户剪切板的数据copy到用户端。同时,采用防火墙,防止用户直接从内部服务器主动连接客户端获取数据。

登陆软件的选择

Xmanger和Exceed,属于利用X协议,在windows平台实现的XServer,优点是使用方便,使用的人很多,性能在局域网也不错。缺点就是,一旦用户端跟服务器之间的网络意外终端,或者客户端关机,所有正在服务器上运行的job丢失。

VNC免费版使用非常广泛,其实现了网络断开也不会丢失正在运行的工作。但是免费版限制很多,比如需要用户设置专用的vnc登陆密码,无法禁止用户Copy&Paste服务器数据到本地。另外,VNC协议实现对网络带宽消耗很大,不适合于WAN网络连接。

FreeNX是基于No-Machine免费开源的library实现的免费远程登陆软件。目前有另外一个如日中天的类似软件,叫做X2Go。FreeNX基于SSH协议,实现了压缩传输等功能,效率比VNC提高很多。但是其基于SSH协议实现,给系统安全留下了隐患。

VNCEnterprise,实现了更高级的功能,包括验证集成了系统验证,不需要额外设置vnc登陆密码,也可以禁用剪切板等高级功能,还可以通过policy设置。对于小型设计环节,目前是一个非常值得考虑的选择。

Xenapp是citrix基于ICA协议实现的登陆方式,最新的基于Unix的是2008年前后发布的Unix4.0FP2版本。Citrix的中心已经转向了windows,及时是最新发布xendesktoplinux版本,也并没认真去做,集成很困难。不过,当年Broadcom是基于solaris10+citrixforunixfp2实现的登陆环境,不知道五年过去了,是否已经改变。

Nomachine公司发布的NX商业版本可以支持更多功能,国内有几个公司在使用,具体功能不了解,比如如何实现及时采用SSH协议,也不担心被设置转发隧道,从而解决安全问题的。

EoD的全称是ExceedOnDemand。软件费用昂贵,国内使用的人很少,目前我知道的是IBM基于EoD实现登陆。EoD软件可以禁用Copy&Paste,同时gateway模式可以让用户无法直接在EoD服务器上工作,让EoD服务器实现gateway转发即可。EoD可实现share桌面,对于远程会议共享桌面和需要远程协助debug的时候非常有用。推荐不差钱的大公司选择EoD,是我见过最佳的登陆软件了。

Go-Global是另外一个登陆软件,分为forwindows和forunix版本。实现上比VNC要快,国内也有商业支持,也比较成熟和稳定。不过其客户端目前只支持windows系统,这点需要注意。如果是中小型公司,可以考虑采用。

桌面系统的选择

我一直反对使用重型桌面环境,比如Gnome和KDE,毕竟几百人的公司,登陆服务器就那么两台,一旦使用GNOME和KDE,整个系统负载是非常高的。而我们的设计工程师,根本不需要那么复杂的桌面环境,最简单的才是最高效的。

在我的工作中,我推荐过使用fvwm,自定义过一个非常简洁的桌面环境,但是由于定制要求很高,用户使用起来感觉不是很好。不过fvwm可定制性很高,可实现非常棒的一些效果。

后来我选择使用过XFCE,另外一个比较其GNOME和KDE较轻量级的桌面。在2008年-2013年,我都认为这是一个不错的桌面环境,在很多地方推荐使用过。但是,xfce的安装包很多,最好通过yum自动安装。我们也逐渐在考虑一个更加合适的窗口管理器。

2015年,一个新的同事推荐了icewm。我认为目前这个是最合适IC设计公司工程师的窗口管理器了。

可以实现多个桌面,添加需要的一些xterm和gnome-terminalfirefox等工具。

推荐:大公司首选icewm,其次可以考虑xfce。小公司建议多考虑xfce。

设计Job的管理(SGE/LSF)

1.LSF

2.SGE

3.Openlava

LSF

下图为lsload命令所显示的结果,大家可以看到各台服务器的负载,CPU利用率,剩余内存等信息。

这里介绍一下LSF的一些使用

提交job

$bsubmy_jobJob<1234>issubmittedtodefaultqueue上面输出中1234是分配给my_job的ID,normal即系统默认queue

提交并行job

$bsub-n8myjobmyjob以并行JOB的方式执行,且需要8个cpucores。比如在脚本中,hspice使用了-mt8的情况下。用上面的命令会让lsf帮你找到空闲的8个cpucore之后才提交给具体执行的主机。

查看当前自己或者其他人的job

$bjobs(只查询自己的)$bjobs–uall(所有人的)

然后可以得到jobID

$bjobs-uallJOBIDUSERSTATQUEUEFROM_HOSTEXEC_HOSTJOB_NAMESUBMIT_TIME1004user1RUNshorthostAhostAjob0Dec1609:231235user3PENDpriorityhostMjob1Dec1113:551234user2SSUSPnormalhostDhostMjob3Dec1110:091250user1PENDshorthostAjob4Dec1113:59

Kill掉自己的某个job

$bkill1234Job<1234>isbeingterminated

挂起和恢复job

$bstop3421Job<3421>isbeingstopped

$bresume3421Job<3421>isbeingresumed

查看job的输出

$bpeek1234<>

查看服务器负载

$lsload

查看服务器状态

$bhosts

查看job的详细信息

$bjobs–l1234

SGE

目前SGE是免费且开源的,国内也有不少公司在使用。但是使用起来,感觉差异很大,可能是习惯问题,我始终无法适应SGE。我也不推荐使用sge。

Openlava

数据管理

1.上传数据考虑因素

2.下载数据如何审核及自动备份归档数据

3.数据访问的Audit

4.数据分级及权限控制

数据上传

在一个公司,内外网隔离的情况下,必然有大量的数据上传需求。如何实现

这里主要的问题是:防火墙一定要严格过滤,只允许内网服务器sync中转站的某个模块数据。

Upload.sh

#!/bin/bash

ProcNumber=`psaux|greprsync|grep-vgrep|wc-l`

if[$ProcNumber-eq0];then

/usr/bin/rsync-acvz--delete--password-file=/root/rsync.passroot@10.x.x.100::home/exchange/upload/>>/root/rsync.log

Fi

下载数据如何审核及自动归档

对于下载数据,我们要求进行人工任何。分多个层级,每一步需要审核人写审核意见,批准还是拒绝。任何一步拒绝,都将无法完成。

主要实现是:用户准备数据,发邮件给ithelp,然后ithelp会根据情况,分配审核数据的人员,其审核完成后,将数据放在第一级审核的目录dirA,然后由第二级审核人进行二次审核,完毕后将数据放入预备下载目录dirB,最后程序自动先备份数据,然后sync到数据中转站,并删除本地数据。DirA和dirB通过ACL设置了用户的访问权限,只有审核人员可以进入。

以上步骤,还可以插入数据检查及核实的程序,比如查看是否下载了源代码数据。

数据访问Audit实现

[root@dcs004audit]#cataudit.rules|wc-l

51573

[root@dcs004audit]#cataudit.rules|more

#Thisfilecontainstheauditctlrulesthatareloaded

-w/test/test/linux-4.3/.get_maintainer.ignore-pr-kkernelfiles

-w/test/test/linux-4.3/security/inode.c-pr-kkernelfiles

-w/test/test/linux-4.3/security/Makefile-pr-kkernelfiles

-w/test/test/linux-4.3/security/selinux/Makefile-pr-kkernelfiles

-w/test/test/linux-4.3/security/selinux/netlink.c-pr-kkernelfiles

-w/test/test/linux-4.3/security/selinux/.gitignore-pr-kkernelfiles

-w/test/test/linux-4.3/security/selinux/hooks.c-pr-kkernelfiles

-w/test/test/linux-4.3/security/selinux/Kconfig-pr-kkernelfiles

-w/test/test/linux-4.3/security/selinux/selinuxfs.c-pr-kkernelfiles

-w/test/test/linux-4.3/security/selinux/nlmsgtab.c-pr-kkernelfiles

-w/test/test/linux-4.3/security/selinux/netnode.c-pr-kkernelfiles

-w/test/test/linux-4.3/security/selinux/netif.c-pr-kkernelfiles

-w/test/test/linux-4.3/security/selinux/netport.c-pr-kkernelfiles

-w/test/test/linux-4.3/security/selinux/netlabel.c-pr-kkernelfiles

-w/test/test/linux-4.3/security/selinux/exports.c-pr-kkernelfiles

-w/test/test/linux-4.3/security/selinux/xfrm.c-pr-kkernelfiles

Audit结果如下,通过分析处理后可以实现监控的目的。

ype=PATHmsg=audit(11/03/201510:43:13.610:198339):item=0name=test/linux-4.3/drivers/infiniband/hw/cxgb4/t4fw_ri_api.hinode=73185587dev=00:14mode=file,664ouid=rootogid=rootrdev=00:00nametype=NORMAL

type=CWDmsg=audit(11/03/201510:43:13.610:198339):cwd=/tools

type=SYSCALLmsg=audit(11/03/201510:43:13.610:198339):arch=x86_64syscall=opensuccess=yesexit=3a0=0x181ede0a1=O_RDONLY|O_NOFOLLOWa2=0x0a3=0x666e692f73726576items=1ppid=39759pid=40352auid=rootuid=rootgid=rooteuid=rootsuid=rootfsuid=rootegid=rootsgid=rootfsgid=roottty=pts2ses=13728comm=mvexe=/bin/mvkey=kernelfiles

----

type=PATHmsg=audit(11/03/201510:43:13.617:198340):item=0name=(null)inode=73185587dev=00:14mode=file,664ouid=rootogid=rootrdev=00:00nametype=NORMAL

type=SYSCALLmsg=audit(11/03/201510:43:13.617:198340):arch=x86_64syscall=flistxattrsuccess=noexit=-95(Operationnotsupported)a0=0x3a1=0x0a2=0x0a3=0x0items=1ppid=39759pid=40352auid=rootuid=rootgid=rooteuid=rootsuid=rootfsuid=rootegid=rootsgid=rootfsgid=roottty=pts2ses=13728comm=mvexe=/bin/mvkey=kernelfiles

数据分级及权限控制

主要是通过NFSACLv4来实现项目的权限控制,通过将特定人员加入访问许

可,项目经理可以自我控制任何公司的人员是否具有访问权限。但是,数据的分级,需要数据拥有人员去判断,IT只是提供一种手段,并不具有分级的能力。

IT提供合适的手段,让用户在系统内部,知道如何申请和如何控制权限即可。

以下是通过nfsv4设置权限示例:

$nfs4_setfacl-e/proj/xuesen

##EditingNFSv4ACLfordirectory:/proj/xuesen

A::OWNER@:rwaDxtTnNcCy

A:g:GROUP@:tncy

A::EVERYONE@:tncy

A::projectmanagerA@powercore.com.cn:rwaDxtTnNcCy

添加下面行即可

A::username@powercore.com.cn:rxtncy###readonly###

A::username@powercore.com.cn:rwaDxtTnNcy###rwx###

这里的projectmanager是由管理员设置的某个项目经理的账号,username是你期望设置的用户名

版本管理

1.CVS

2.Subversion

3.ClisoftSOS

4.ICManage

5.Git

CVS用于代码的管理

CVS作为unix系统下非常经典的版本管理系统,适合于代码的简单管理。对权限控制很差,基本上只能按照group的方式来控制谁可以checkout,checkin.CVS没有二进制管理能力,无法对各种非文本的文档,比如word进行管理,只能用于代码。

CVS是一个C/S模式的版本控制系统,用于在软件开发过程中记录文件版本,协调开发人员保证文件同步,从而保证项目正确的进行并行开发,并支持版本回滚、bug跟踪和补丁生成。使用CVS可以有效地对软件开发的源代码和开发文档进行统一的管理和组织。

主要功能如下:

同步的最新修改

文件的版本回溯

多人同时修改同一个文件产生的冲突

项目的分支开发

文件权限控制

RedhatEnterprise默认安装有cvs,如果没有,请安装cvs的rpm包。

CVS的基本使用:

创建一个仓库

#groupaddcvs

#useradd–d/data/cvsroot-gcvscvs

#cvs–d/data/cvsrootinit

配置环境

$vi~/.cshrc

$setenvCVSROOT/data/cvsroot

项目的初始导入

进入到你准备到如的初始源代码目录

$cvsimport-m"somecomments"project_namevendor_tagrelease_tag

执行后:会将所有源文件及目录导入到/data/cvsroot/project_name目录下

vender_tag:开发商标记

release_tag:版本发布标记

项目的CheckOut

$cvscoproject_name

同步到最新

$cvsupdate

修改文件后CheckIn

$cvsci-m"somecomments"file_name

添加新文件

创建好新文件后,比如:touchnewfile

cvsaddnewfile

对于图片,Word文档等非纯文本的项目,需要使用cvsadd–kb按二进制文件方式导入(k表示扩展选项,b表示binary),否则有可能出现文件被破坏的情况

比如:

cvsadd-kbnewfile.gif

cvsadd-kbreadme.doc

查看修改历史

cvslogfile_name

cvshistoryfile_name

其实CVS还有一种pserver的方式,可以使用客户端来进行管理。这样,即时/data/cvsroot没有被nfs共享出来在其他服务器上也可以通过cvs进行版本控制。

分两步建立:

首先,建立xinetd启动服务

cat>>/etc/xinetd.d/cvspserver<<"EOF"

servicecvspserver

{

port=2401

socket_type=stream

protocol=tcp

wait=no

user=root

passenv=PATH

server=/usr/bin/cvs

server_args=-f--allow-root=/data/cvsrootpserver

}

EOF

其次,客户端设置.cshrc(cshforexample)

setenvCVSROOT:pserver:username@192.168.x.x:/data/cvsroot

这里的username请换成自己的,后面的ip地址和路径,请换成符合实际服务器的路径。

Subversion

以下文档是很早的时候写的,跟最新版本可能存在一定差异,请注意。

subversion简介

多年来,版本控制系统一直都是CVS(ConcurrentVersionsSystem)的天下。CVS作为基

于RCS上建立,可以实现多用户协同工作的系统,可以记录文件的修改信息。这对于开发人员是非常有用的。

然而,CVS经过这么多年,也逐渐显示出一些不足,这个时候出现了一些商业的版本控制软件,比如Rational的ClearCase就是一个功能强大的商业软件,但是其价格也是非常昂贵的。

Subversion就是一种设计来解决CVS的局限性的软件。从2000年开始,Subversion开始开发,2001年8月开始用Subversion来管理Subversion的开发工作,到目前位置,subversion已经发展到了1.9.3版。

Subverion的主要特点有:

a.保留大多数CVS特性,很多命令的选项基本通用

b.目录、重命名和文件meta-data都已经版本化,以前的CVS只能对文件版本化。

c.不可分隔的原子化提交,版本的变化是每次提交所有的文件版本都变化。

d.可以选择Apache作为网络服务器,集成于现有Apache控制的权限管理等。

e.分支和标签是代价低廉(固定不变的)的操作

f.本地化的客户端/服务器,分层的库设计

g.消耗和修改部分的大小成比例,而不是数据的大小

h.Unix下的链接也可以实现版本化控制了

i.更加有效的处理二进制文件

j.更加人性化的命令输出

k.本地化提示信息。

Subversion的安装

Subversion是建立在一个可移植的APR(ApacheportableRuntime)上,所以Subversion可以建立在Apache的支持上,但是不仅限于必须使用Apache。Subversion可以做为Apache2.0的一个模块,以WebDAV/DeltaV协议运行,也可以采用其自带的svnserver小型服务器运行。我们这里将采用Apache下WebDAV/DeltaV方式运行,所以需要检查Apache2.0是否已经安装好。

#yuminstallsubversion

RHEL6默认安装的是1.6.11版本的subversion

Subversion和CVS的比较

1.不同的修订版本号。CVS将每个修改文件都赋予一个版本号,因此在CVS中,所有的文件版本号是不同的。

2.Subversion将目录版本化了。Subversion也开始跟踪目录的结构,任何对目录的svn操作都将会被记录,但是任何操作都必须提交后才生效。

3.离线工作更加方便。Subversion的工作原始副本在本地也有保留,任何对本地文件的修改,不需要连接到服务器去,就可以对比知道自己做了哪些修改。并且,提交修改的时候Subversion只将差异部分提交给服务器。

4.二进制文件和文本文件。CVS对二进制文件的版本化做的非常差,对于每次修改的二进制文件,CVS都会将更新的副本储存下来,大量占用了空间。而Subversion就不管是二进制文件还是文本文件,它都采用差异比较算法来表示更新的部分。CVS提交二进制文件需要带-kb标记,subversion不需要任何标记就可以识别二进制文件。

实例介绍

目前有一家公司,有两个不同的Group在进行开发,也就是说,两个项目组的成员是不允许获得另外一个项目组的开发代码的。当时,为了某些模块的协同工作,两个项目组的ProjectManager又不得不互相取得对方的代码。

现在我们设计一个Subversion来做版本控制的系统,假设一共有6个用户,group1有user1,user2,manager1;group2有user3,user4,manager2.项目组分别为project1,project2.

建立Apache+mod_dav_svn的subversion版本控制

(1).安装mod_dav_svn

#yuminstallmod_dav_svn

(2).基本的Apache配置

找到LoadModule部分,在LoadModuledav_module后面加入两行

LoadModuledav_modulemodules/mod_dav.so

LoadModuledav_svn_modulemodules/mod_dav_svn.so

LoadModuleauthz_svn_modulemodules/mod_authz_svn.so

在配置文件中,需要告诉Apache在什么地方保存的Subversion版本库,Location就是告诉Apache在特定的URL以及子URL下需要的特殊处理。

在文件的最后部分建立区块

DAVsvn

SVNParentPath/data/svn

注意,任何Apache的web目录下不能存在svn这样的目录,否则会导致Apache不知道怎么解析。

(3).配置认证部分

前面的配置会让所有能访问你web的人都可以获得你的文件,并且可以提交他的修改。所以,为了安全,也为了一个很好的秩序,我们必须添加认证。

#accesscontrolpolicy

#Onlyauthenticatedusersmayaccesstherepository

Requirevalid-user

#Howtoauthenticateauser

AuthTypeBasic

AuthName"Subversionrepository"

其中的svn-auth-file是做用户名和密码认证的,这个文件采用htpasswd来生成和修改。

Newpasswd:*****

Re-typenewpassword:*****

Addingpasswordforuseruser1

Addingpasswordforuseruser2

…..

access-control-file文件的格式:

[groups]

project1=user1user2manager1

project2=user3user4manager2

[project1:/]

@project1=rw

manager2=rw

[/project2:/]

@project2=rw

manager1=rw

[/project2:/secret]

manager1=

以上配置允许user1,user2,manager1,manager2访问project1的所有文件,并且都可以读写;user3,user4,manager2访问project2的所有文件可以读写,但是manager1只允许读写除了secret目录下的所有其他文件。

建立过程及基本使用

(1).CreatRepository

基本语法:

$svnadmincreate/data/svn/project1

#chmod755/data/svn

$svnadmincreate/data/svn/project2

建立两个项目组的库,我们采用了默认的FSFS存储方式。

$ls/data/svn/project1

conf/dav/db/formathooks/locks/README.txt

(2).导入文件到Repository

我们已经建立了库,所以该我们导入我们的源文件到库里边的时候了。我们首先来准备一下两个项目组的文件,然后导入到库里。

A.准备需要导入的文件

$cd/home/svn

建立project1的文件目录结构,源文件在/somepath/source1/下面,是project1的项目源代码。

$mkdirsource1

$mkdirsource1/trunk

$mkdirsource/branches

$mkdirsource/tags

$lssource1

$mv/somepath/source1/*source1/trunk/

project2的建立方法和上面类似

B.导入项目文件到库里

$cdsource1

$svnimport--message“IntialfilesforProject1”file:///data/svn/source1

Addingconfig.txt

Addingxconnect_config.txt

AddingASIC_ADDR_SYNC

……

Project2的导入方法类似

导入完毕后,可以删除刚才准备的源文件了。

$rm–rfsource1source2

(3).获取一份源文件的拷贝

以用户user1的身份登陆系统,在自己的Home目录下,可以用命令svncheckout

的方式获得一份subversion控制下的源文件。如果不特别指名,获得的文件在本地目录

和在subversion下面的目录结构一致。所以,我们为了区分,应该指定一个本地的目录

名。

Passwordfor'user1':

Aproject1/trunk/config.txt

Aproject1/trunk/xconnect_config.txt

Aproject1/trunk/ASIC_ADDR_SYNC

Aproject1/trunk/ASIC_ADDR_SYNC/SW2ASIC_20051103

Aproject1/trunk/ASIC_ADDR_SYNC/SW2ASIC_20051103/addr.txt

(4).编辑和提交修改

编辑文的文件,可以用你喜欢的任何编辑器,我们现在添加一个文件.

$touchtest.txt

Addalineforthisfile

$svnaddtest.txt添加一个文件到subversion,但是直到后面提交后才才库中生效

$svnstatus查看哪些文件有变化

Atest.txt

$svndifftest.txt比较本地文件和库中的不同

Index:test.txt

================================

---test.txt(revision0)

+++test.txt(revision0)

@@-0,0+1@@

+Addalineforthisfile

$svnci–m“addalinefortest.txt”提交修改了的文件

Addingtest.txt

Transmittingfiledata.

Committedrevision3.

$svnlogtest.txt查看变化历史

---------------------------------------------------------------------

r3|admin|2005-11-1214:43:36+0800(Sat,12Nov2005)|1line

addaline

$svnupdate获得最新的版本,使用这个命令获得他人的最新更改。

如果发生冲突,使用svnresolve解决

(5).Svn客户端常用命令

svnadd//添加一个文件

svncheckout(coi)//从苦衷获取一个工作拷贝

svncimmit(ci)//提交当前工作拷贝的更改到代码苦,如果出现冲突需要解决。

svncopy(cp)//做一个工作的拷贝

svndelete(del,remove,rm)//删除本地或者svn库中的文件或者目录

svndiff(di)//比较某个文件和库中对应的文件的不同,和系统的diff命令类似

svnexport//导出一个无版本控制的目录树拷贝,用于可以运行的版本需要导出。

svnimport//将当前目录下的文件导入到库中

svninfo//查看当前目录下的某个文件或者文件夹的信息

svnlist(ls)//列出当前拷贝的文件

svnmkdir//在本地或者库中新建一个文件夹

svnmove(mv,rename,ren)类似于系统的mv命令

svnstatus(stat,st)//svn工作拷贝的当前状态,和上次提交或者update后的对比

svnupdate(up)//将svn库中的文件同步到本地

(6).创建一个Tag和Branch

Subversion创建Tag和Branch和CVS不一样,它采用的是copy方式。

A.创建一个Tags,只能这个项目的ProjectManager负责,下面以manager1用户登陆操作。

$svncopy–m“CreateTagversion1”[url=]file:///data/svn/project1/trunk/[/url][url=]file:///data/svn/project1/tags/version1[/url]

$svnlist[url=]file:///data/svn/project1/tags[/url]

version1

B.创建一个Branch

$svncopy–m“createBrancha”[url=]file:///data/svn/project1/trunk/[/url][url=]file:///data/svn/project1/branches/brancha[/url]

以user1登陆

这样以后user1就以brancha作为工作的库目录,从这里开始作为分支。

(7).MergingaBranch

(8).Windows客户端的安装和使用

下载TortoiseSVN-xxx.msi,安装,然后CheckOut一个库的拷贝。

ClisoftSOS介绍

a.业界最完整的版本控制工具.具有动态连结及智能快取等强大功能

这个软件主要是针对全定制IC设计的,可以嵌入:

CadenceVirtuoso

CustomIC

AgilentAdvancedDesignSystem(ADS)

MentorPyxis

SynopsysLaker

SynopsysCustomDesigner

SOS是商业软件,只要购买了,安装和配置完全由厂家支持,这里就不再做详细的介绍了。

ICManage

没有接触过,据说也是一个不错的IC公司喜欢用的版本管理软件。

git

很好的一个分布式版本管理软件,在开源软件开发行业使用非常广泛。不过目前在IC设计行业所见不多,也许我们IC行业太落后了,没互联网和开源界对新技术的接受能力强。我们习惯用我们熟悉的东西。

搭建:

(1)yuminstallgit

[root@eda~]#git--version

gitversion1.8.3.1

(2)创建git用户

[root@eda~]#cd

[root@eda~]#pwd

/root

[root@eda~]#useraddgit

[root@eda~]#passwdgit

Changingpasswordforusergit.

Newpassword:

Retypenewpassword:

passwd:allauthenticationtokensupdatedsuccessfully.

[root@eda~]#su-git

[git@eda~]$mkdirsrv

[git@eda~]$ls

srv

[git@eda~]$cdsrv

(3)初始化项目

[git@edasrv]$gitinit--bareproj.git

InitializedemptyGitrepositoryin/home/git/srv/proj.git/

[git@edasrv]$ls

proj.git

(4)Clone

[git@edawork]$gitclonegit@localhost:srv/proj.git

Cloninginto'proj'...

git@localhost'spassword:

(5)添加文件

[git@edawork]$ls

proj

[git@edawork]$cdproj/

[git@edaproj]$touchabc.txt

[git@edaproj]$viabc.txt

wgh

test

"abc.txt"2L,9Cwritten

[git@edaproj]$ls

abc.txt

[git@edaproj]$pwd

/home/git/work/proj

[git@edaproj]$gitaddabc.txt

[git@edaproj]$gitcommitabc.txt-m"testfile"

***Pleasetellmewhoyouare.

Run

gitconfig--globaluser.email"you@example.com"

gitconfig--globaluser.name"YourName"

需要设置提交者的个人信息

[git@edaproj]$gitconfig--globaluser.name"Guanghui"

[git@edaproj]$gitconfig--globaluser.email"wanggh@gmail.com"

THE END
1.3d设计软件有哪些?3d设计软件大全家居3d设计软件3d设计软件现在免费3d设计软件和三维3d设计软件越来越多了,3d设计软件有哪几种这个问题也是很多了,当然现在3d设计软件手机版以及在装修3d设计软件开始进行下去,实在是非常不错的手机软件,喜欢就别错过了,快来绿色资源网下载吧!http://www.downcc.com/k/3dsjrj/
2.app制作软件合集开发app的软件下载app软件开发工具下载android adt是Android开发工具Eclipse环境中安装ADT的它只是Eclipse中的一个插件,为Android开发提供开发工具的升级或者变更,简单理解为在Eclipse下开发工具的升级下载工具。 下载 Figma中文版 9.1/80.75M /2023-11-13 Figma中文版是一款很好用的在线设计软件。这款软件有着极其强大的产品设计原型,在这里你可以通过它https://m.32r.com/zt/277.html
3.设计软件推荐设计软件有哪些设计软件官方免费下载【极速下载站】设计软件列表页为用户提供设计软件推荐、设计软件有哪些、设计软件大全、设计软件官方版下载服务,广大网友要是喜欢的话,可以通过本页面挑选您想要的软件,选择其中一款进行本地下载安装,本站完全免费、无捆绑广告,只需一键点击就能将设计软件下载到客户端https://www.mydown.com/keyword/534123478.shtml
4.设计图制作软件排行榜APP推荐设计图制作软件排行榜下载豌豆荚设计图制作软件排行榜榜单为您提供最新设计图制作软件排行榜大全,这里不仅有设计图制作软件排行榜安卓版本APP、历史版本应用下载资源,还有类似设计图制作软件排行榜的应用推荐,欢迎大家前来豌豆荚下载。https://www.wandoujia.com/bangdan/1313588/
5.ui设计软件下载免费好用的ui设计软件ui设计软件合集当我们制作好了界面原型,就要着手对界面进行各方面的优化了,这时候就需要用到ui设计软件工具进行优化,这就是UI设计师来完成下面的任务,UI设计工具是否好用直接影响到最后作品的好坏,小编在这里分享ui设计软件合集,有Adobe XD设计软件、Sketch、justinmind、Figma等。http://www.kkx.net/zt/86889.html
6.手游设计师必备!盘点那些免费又强大的作图APP本文为手游设计师推荐了一系列免费且功能强大的作图APP。 在手游设计领域,精美的画面和独特的视觉风格往往是吸引玩家的关键因素之一,对于许多手游设计师来说,找到一款既免费又功能强大的作图软件并不容易,为了帮助大家解决这一难题,我们精心挑选了几款备受好评的作图APP,它们不仅操作简单,而且功能全面,非常适合手游设计师http://m.zswkj.net/itnews/141.html
7.dynaform在哪儿下载dynaform下载dynaform是一个非常有用且功能强大的钣金冲压分析软件,是一个专门用于钣金成形数值模拟的软件。软件包括模具系统分析模块、拉延筋模块、回弹补偿模块(SCP)等模块。一些相关专业的用户也可以使用该软件进行学习,给大家带来了极大的方便。 dynaform软件介绍 是一款功能强大且易于使用的钣金设计和分析软件。这是目前最新的版本https://www.163.com/dy/article/I3LM8H25055637QP.html
8.如何下载平面设计软件对于平面设计这一概念,相信大多数的小伙伴都不会陌生,毕竟在我们的身边,随处可见各式各样的平面设计。而无比广阔的职业领域应用更是使得不少同学对这一专业的学习生出了浓厚的兴趣,不过工欲善其事必先利其器,那么如何下载平面设计软件呢? 对于这一问题,像是Photoshop、Illustrator、CorelDRAW、InDesign等专业平面设计https://wap.hxsd.com/content/23952/
9.www.eye0432.com/news.php/73355967.htm硬邦邦插插内射出水视频软件 爽爽淫人网小说视频 951.28MB 91好评 美女老师趴在地上抠逼 男男啪啪污污的网站 黄动漫1区2区3号 449.95MB 87好评 宁荣荣射精 巨胸喷奶水WWW久久久免费动漫 黄片app色图下载 200.77MB 79好评 头晕脑袋昏昏沉沉的怎么回事 18禁后入美女 视频 小穴 插入 93.75MB http://www.eye0432.com/news.php/73355967.htm
10.绣花设计软件有推出mac版本的吗?有的话哪儿可以下载或购置你好,乃渠绣花网 有威尔克姆的软件出售的 不过我在那边购买的是田岛软件,蛮便宜的 https://ask.zol.com.cn/x/5753703.html
11.www.pajsl.com/33194/theshyMcBjGJ/index.xlsx下载APK高速下载 下载动漫女生晚内衣黄片下载安装你想要的应用 更方便 更快捷 发现更多 239好评(564人) 455 详细信息 软件大小: 系统要求: 应用介绍 一,小宇小燕打赌打屁股 二,嗯啊抽插丝袜内射,图久久 三,车模5月儿的丈夫叫什么名字,欧美日韩在线涩涩污污 http://www.pajsl.com/33194/theshyMcBjGJ/index.xlsx
12.www.zhenjieneng.com/news.php/87282043.html欧美裸装应用下载 红杏内射美女视频 97.37MB 7467好评 下载一个女人女人毛片女毛片女人 屌逼视频 九一污软件下载 135.09MB 962好评 一毛片久久久 老肥丑糟蹋双性美人 在线日韩大片免费观看 74.42MB 12好评 啊啊啊好痛不要H电影 国产暴操后入 少妇色交 758.31MB 2950好评 插穴换妻 欧美一http://www.zhenjieneng.com/news.php/87282043.html
13.简易家装设计软件室内装修设计软件个人在线装修设计软件三维家设计软件平台是国内优秀的设计师学习平台,提供简易家装设计软件、室内装修设计软件、个人在线装修设计软件免费下载,包含室内装修设计教学视频及室内装修设计软件使用教程。https://www.3vjia.com/home/index/
14.任我行虚拟位置软件下载任我行软件支持多种手机型号和操作系统版本以及多语言设置使得软件在全球范围内都具有广泛的适用性。同时软件还注重用户体验采用了简洁明了的界面设计和简单易用的操作方式使得用户在使用过程中更加便捷和舒适。 3dm手游网为您提供任我行虚拟位置的 手机软件 ,欢迎大家记住本站网址,3dm手游网是您下载安卓手机软件app最好https://app.3dmgame.com/android/418845.html
15.ASP.NETCore适用于.NET的开源Web框架下载PDF 在Web 上查看 ASP.NET Core architecture e-book 本指南提供有关使用 ASP.NET Core 和 Azure 构建整体 Web 应用程序的端到端指南。 下载PDF 在Web 上查看 Azure quick start e-book 在本简短指南中,探索了适用于各种 .NET 应用程序方案的 Microsoft Azure 服务。可以快速了解适合你的服务。 https://asp.net/
16.www.wqwl168.com/appnode87846590.shtml天堂在/线中文官网 615.81MB 077好评 七彩西游记之猪八戒招亲 成人污污日本口工游戏网站 黄色女神下载 397.30MB 84好评 绳精病训练营地址 男的操女的免费视频软件 熟女奶水喂奶X HHDD 642.61MB 4918好评 啊?好痛?嗯?轻一点HH 狂顶狠肏 国产精品传媒观看网址免费 94.05MB 911好评 美http://www.wqwl168.com/appnode87846590.shtml
17.唯易财务软件怎么做账务处理(唯易云会计)用友财务软件(三)从事生产、经营的纳税人应当自领取税务登记证件之日起十五日内,将其财务、会计制度或者财务、会计处理办法报送主管国家税务机关备案。纳税人、扣缴义务人采用计算机记账的,应当在使用前将其记账软件、程序和使用说明书及有关资料报送主管国家税务机关备案。 https://www.bjufida.com/yongyou/49896.html
18.旅行计划app推荐旅游路线规划软件绘制旅行线路图app旅行计划app推荐,你是否还在因为外出旅游不知道如何游览当地旅游胜地、特色美食以及住宿出行问题而苦恼呢?不用担心!小编将在这里为你推荐超级实用的旅行计划软件,让你的旅程玩得愉快开心,诚意满满的为你献上各种好玩有趣的旅游路线,让你不虚此行.http://www.downyi.com/key/lvxingjihuaapp/
19.www.maxcent.cn/mmmj75689197全部黄片软件下载 一区二区三区的黄色在线网站 中国台湾啪啪啪网站 70.97MB 30%好评4619人) 骚穴跪趴抽打张开 色偷偷伊人网 骚逼被艹视频 52.16MB 01%好评01人) 亚洲欧美日韩国产综合专区 高黄片高干 国产又大又粗WW在线观看 81.93MB 77%好评3566人) 一色av 中国美女黄色乱搞视频 91唐伯http://www.maxcent.cn/mmmj75689197
20.Navigator定向井轨迹软件介绍.pdf下载次数:仅上传者可见 收藏次数:0 需要金币:*** 金币(10金币=人民币1元) Navigator定向井轨迹软件介绍.pdf 关闭预览 想预览更多内容,点击免费在线预览全文 免费在线预览全文 Navigator定向井轨迹软件介绍 Navigator 定向井水平井轨迹设计及计算分析系统 Navigator 定向井水平井轨迹设计及计算分析系统,是为中国陆 上https://max.book118.com/html/2018/0604/170644443.shtm
21.计算机应用基次程实训报告(精选11篇)6、利用Serv—U软件创建与配置FTP站点,实现文件的上传与下载。 7、Web站点的创建与配置,网页的浏览(选) 三、实训出现的问题、分析及解决方法 “纸上得来终觉浅,绝知此事要躬行!”在短暂的实训过程中,让我深深的感觉到自己在实际运用中的专业知识的匮乏,刚开始的一段时间里,对一些工作感到无从下手,茫然不知所https://www.ruiwen.com/baogao/6258281.html
22.www.bake99.com/aplmine12下载APK高速下载 下载搞中出 91安装你想要的应用 更方便 更快捷 发现更多 572好评(3274人) 235 详细信息 软件大小:336.41MB 最后更新:2024-12-17 16:11:43 最新版本:V1.9.19 文件格式:apk 应用分类:ios-Androidt明人生君像素游戏 使用语言:中文 http://www.bake99.com/aplmine12_176113.html