Local Zone 中使用CDROM
网众技术问题大详解

网众技术问题大详解:1.超户不能设定解决方法:在文件系统里:opt/netzone/nxp/superwks.ini编辑superwks.ini,把文件里面的数据清空保存,然后在把服务器的服务重起一下(即:在命令窗口运行:nxp restart)2.超户不能取消解决方法:在文件系统里:opt/netzone/nxp/disk下的所有setup 文件全部删除,然后在把服务重起一下。
3. .工作站有一台客户机在XP滚动条不断滚动?解决方法:首先把这台客户机的IP地址换一下,一般是IP地址冲突.如果有太多的或全部的的话,有可能更网众服务端有问题,请更换服务端.4.服务器一切正常,所有工作无法启动,无法引导?解决方法:首先:打开nxp管理器看看有没有什么报错,如果没有一切正常,能看到工作站记录.检查服务器网络是否连接正常,打开网站看服务器络是否能打开网站.重启一下nxp服务(即:在命令窗口运行:nxp restart)5.服务器很卡,工作站也很卡?解决方法:首先检查一下,服务器负载(打开终端:w----看第一个三位数是否大于5,如果大于5说明服务器负载很重,低下5说明服务器负载正常).检查一下,服务器是否是硬盘是否有报错(打开终端:dmesg |grep “error”à看看是否有硬盘错误信息,打开终端:cat/opt/netzone/nxp/syslog.txt----看看有没有什么特殊的报错),最后,看一下服务端和客户端的使用.更换一个好的服务端和客户端.6.服务器死机(服务器Caps Lock灯和Scroll Lock灯闪烁)解决方法:最常见的服务器内存出问题,更换内存测试.其次检查硬盘是否正常,如没有报错.更换电源测试.7.打开NXP管理器报错.解决方法:查看磁盘是否写满了(用命令:df –h查看)。
如果回写分区写满了,先把挂载分区卸载(umount /mnt)再格式化回写分区,然后在重新挂载回写分区,如时挂载不上,需重起服务器。
Linux 基础试题

Linux 基础题库一.单项选择题1.下列厂商和操作系统相对应正确的是( B )A.Digital - MVSB.Sun – SolarisC.IBM – VMSD.HP - VMS2.Linux系统的1.0版内核的发布是在( C )A.1992年B.1993年C.1994年D.1995年3.完全安装Red Hat Linux 8.0需要的磁盘空间是( D )A.1.8GBB.2.3GBC.400MBD.4.5GB4.Linux系统是一个( D )的操作系统A.单用户、单任务B.单用户、多任务C.多用户、单任务D.多用户、多任务5.在安装开始前,用光盘启动系统,想要进入字符界面安装,需要输入的命令是( C )A.linux doc B.linux C.linux text D.linux note6.Red Hat Linux系统中用户默认的Shell是( A )A.bashB.kshC.cshD.sh7.在Linux系统中,管道的符号是( C )A.>B.<C.|D.:8.Linux的文件名的长度限制在( D )字符以内A.11B.128C.256D.2559.如果忘记了ls命令的用法,可以采用( C )命令获得帮助A.?lsB.help lsC.man lsD.get ls10.在vi编辑器的命令模式中,在光标所在位置的右侧插入字符的命令是( A)A.aB.AC.iD.I11.在vi编辑器的命令模式中,删除一行的命令是( B )A.yyB.ddC.ppD.xx12.以下输出重定向命令中,覆盖存在文件的是( B )A.>>B.>C.<D.<<13.在GRUB的配置文件grub.conf中,“timeout=-1”的含义是( C )A.不等待用户选择,直接启动默认的系统 C.一直等待用户选择要启动的系统B.在10秒钟内,等待用户选择要启动的系统 D.无效14.系统中文件系统的挂载配置文件是( A )A./etc/fstabB./usr/fstabC./etc/mountD./usr/mount15.在挂载文件系统的时候,如果想要以只读的方式挂载,需要的参数是( A )A.-o roB.-o rwC.-a roD.-a rw16.要给文件file1加上其他人可执行属性的命令是( C )A.chmod a+xB.chown a+xC.chmod o+xD.chown o+x17.添加用户“user”的命令是( B )er usereradd userC.add userD.adduser18.删除用户“user”及其主目录下所有文件的命令是( B )erdel –p usererdel –r usererdel –a usererdel –z user 19.查看系统当中所有进程的命令是( D )A.ps allB.ps aixC.ps aufD.ps aux20.显示系统启动时间的命令是( B )A.updateB.uptimeC.dateD.time21.显示后台用户所执行程序的命令是( B )A.bgB.jobsC.fgD.uptime22.配置主机网卡IP地址的配置文件是( A )A./etc/sysconfig/network-scripts/ifcfg-eth0B./etc/sysconfig/networkC./etc/resolv.confD./etc/host.conf23.指定系统主机名的配置文件是( C )A./etc/hostsB./etc/host.confC./etc/sysocnfig/networkD./etc/resolv.conf 24.快速启动网卡“eth0”的命令是( D )A.ifconfig eth0 noshutB.ipconfig eth0 noshutC.ifnoshut eth0D.ifup eth0 25.记录13台根域服务器IP地址的文件是( B )A./etc/named.caB./var/named/named.caC./var/named/named.localD./etc/named.local26.DNS别名记录的标志是( C )A.AB.PTRAMED.MZ27.dhcp的租约文件默认保存在( C )目录下A./etc/dhcpd/B./var/log/dhcpd/C./var/lib/dhcp/D./var/lib/dhcpd/28.在默认的安装中,Apache把自己的配置文件放在了( B )目录中A./etc/httpd/B./etc/httpd/conf/C./etc/D./etc/apache/29.如果要修改默认的www服务的端口号为8080,则需要修改配置文件中的(D)一行A.pidfile 80 B.timeout 80 C.keepalive 80 D.listen 8030.要完成虚拟主机的配置,需要在DNS服务器中添加( C )记录A.SRVB.HINFOAMED.PTR31.普通用户能否读取位于自己主目录中、权限是“400”的、属于root用户的文件的内容B A.能 B.不能32.能实现Windows和Linux系统之间文件和打印机共享的Linux服务是( A)A.SAMBAB.NFSC.NISD.HTTPS33.添加samba帐户的命令是( C )eraddB.smbuseraddC.smbadduserD.addsmbuser34.目前使用的X Window System是( A )版A.X11R6B.X6R11C.X12R5D.X5R1135.要阻止用户用“CTRL-ALT-DELETE”组合键重新启动系统,需要修改的文件是(B )A./etc/rc.d/inittab B./etc/inittabC./etc/init.d/inittabD./etc/sysconfig/inittab二、多项选择题36.以下命令可以重新启动计算机的是( ABCD )A.rebootB.haltC.shutdownD.init 637.DNS服务所采用的TCP/IP协议的端口号是( AB )A.TCP 53B.UDP 53C.TCP 54D.UDP 5438.X的基本元素包括( ABCD )A.serverB.clientC.通讯通道D.窗口管理器和桌面环境39.Red Hat Linux可以使用的安装方式有( ABCD )A.HTTPB.NFSC.FTPD.CDROM40.Linux系统能够直接读取的分区类型是( BCD )A.NTFSB.FAT16C.FAT32D.ext341.对于所有用户都能读的文件权限是( ABC )A.777B.444C.644D.64042.下列命令能启动DNS服务的是( AB )A.service named startB./etc/init.d/named startC.service dns startD./etc/init.d/dns restart43.以下属于DNS记录类型的是( ABC )A.AB.SRVC.HINFOD.URL44.DHCP服务器能提供给客户机( ABCD )配置A.IP地址B.子网掩码C.默认网关D.DNS服务器45.配置高安全级的匿名访问FTP服务器需要考虑哪些问题( ACD )A.仅仅允许匿名用户访问,不允许本地用户访问B.允许匿名用户上传文件C.配置安全日志D.配置总的并发连接数量46.Samba服务的两个进程名字是( AC )A.smbB.smbdC.nmbD.nmbd47.以下配置行需要写在ifcfg-eth0文件中的有( ABD )A.IPADDR=192.168.0.1B.BOOTPROTO=DHCPSERVER=192.168.0.1D.DEVICE=eth048.以下配置行属于httpd.conf文件的是( AB )er ApacheB.DocumentRoot “/var/www/html”C.local_enable=YESD.type master;49.Red Hat Linux的引导程序有( AB )A.LILOB.GRUBC.Boot ManagerD.Boot Loader50.以下DNS zone文件的配置行中,书写正确的是( BD )A.@ IN SOA . ROOT@.B.@ IN SOA . .C.@ IN SOA D.www IN A 192.168.0.1linux操作系统试题1.Linux是一个免费的类Unix操作系统,它最初是由芬兰人Linus Torvalds于( A )年开发出来的。
瀚高数据库快速安装

瀚⾼数据库快速安装先简单介绍下背景:近年来由于和美国打贸易战,我们国家对计算机基础设施和软件国产化的需求越来越强烈,⽬标是⾃主安全可控。
数据库作为基础软件,⾃然也迎来了发展的春天。
⽬前我国常⽤的国产数据库有⼈⼤⾦仓、南⼤通⽤、达梦、瀚⾼等。
瀚⾼数据库是基于postgres开源数据库开发的数据库。
⼀、瀚⾼数据库快速安装(快速测试⽤,⾮运维和性能测试⽤)瀚⾼数据库(highgo database)⽀持在Linux、Windows、国产硬件平台操作系统如龙芯+中标麒麟、飞腾+银河麒麟、兆芯+中科⽅德等环境上安装,并⽀持图形化安装、命令⾏安装、静默模式安装和rpm安装等各种安装⽅式。
以下以Redhat Enterprise Linux Server 7.3(Maipo), Kernel 3.10.0-514.el.x86-64 on an x86-64上的瀚⾼数据库企业版5.6.5的rpm安装为例进⾏快速安装(快速测试⽤,⾮运维⽤,不包含操作系统参数和数据库参数配置及调优。
参数配置可参考另⼀篇笔记)。
其他安装可参考官⽅安装⼿册。
1、下载安装包和⼿册。
从官⽹下载瀚⾼数据库安装包及安装⼿册。
瀚⾼数据库提供标准版、企业版和安全版三种版本。
主要使⽤的是企业版和安全版两种。
企业版可以试⽤⼀年。
下载企业版5.6.5(Linux版本)2、在虚拟机(Oracle VM VirtualBox)上安装rpm包。
虚拟机安装Redhat Enterprise 64bit,使⽤UltraISO将rpm打包成iso⽂件,在VM设置⾥将光驱点开选择该iso⽂件,如下图所⽰:在vm命令⾏⾥挂载光盘⽂件:mount /dev/sr0 /media/cdrom进⼊光盘挂载⽬录并安装rpm:cd /media/cdromrpm -ivh hgdb5.6.5-enterprise-rhel7-x86-64.rpmrpm安装完成,数据库⽬录已建⽴(/opt/HighGo5.6.5),超级管理员highgo已建⽴,密码⽆,进程可通过ps –ef|grep postgres查到,端⼝号默认为5866。
Java8中LocalDate和java.sql.Date的相互转换操作

Java8中LocalDate和java.sql.Date的相互转换操作⼀、简述⾸先,Java 8引⼊了java.time.LocalDate来表⽰⼀个没有时间的⽇期。
其次,使⽤Java 8版本,还需要更新java.sql.Date,以便为LocalDate提供⽀持,包括toLocalDate和valueOf(LocalDate)等⽅法。
⼆、java.time.LocalDate转换为java.sql.Datejava.sql.Date.valueOf( localDate )package insping;public class Test {public static void main(String[] args) {java.time.LocalDate date = java.time.LocalDate.now();System.out.println("java.time.LocalDate = " + date);java.sql.Date sqlDate = java.sql.Date.valueOf(date);System.out.println("java.sql.Date = " + sqlDate);}}结果:java.time.LocalDate = 2017-06-16java.sql.Date = 2017-06-16三、java.sql.Date转换为java.time.LocalDatesqlDate.toLocalDate()public class Test {public static void main(String[] args) {java.sql.Date sqlDate = java.sql.Date.valueOf("2017-06-16");System.out.println("java.sql.Date = " + sqlDate);java.time.LocalDate localDate = sqlDate.toLocalDate();System.out.println("java.time.LocalDate = " + localDate);}}结果:java.sql.Date = 2017-06-16java.time.LocalDate = 2017-06-16补充知识:Java8中 Date和LocalDateTime的相互转换⼀、在Java 8中将Date转换为LocalDateTime⽅法1:将Date转换为LocalDatetime,我们可以使⽤以下⽅法:1.从⽇期获取ZonedDateTime并使⽤其⽅法toLocalDateTime()获取LocalDateTime2.使⽤LocalDateTime的Instant()⼯⼚⽅法⽰例:package insping;import java.time.Instant;import java.time.LocalDateTime;import java.time.ZoneId;import java.util.Date;public class Test {public static void main(String[] args) {Date date = new Date();Instant instant = date.toInstant();ZoneId zoneId = ZoneId.systemDefault();LocalDateTime localDateTime = instant.atZone(zoneId).toLocalDateTime();System.out.println("Date = " + date);System.out.println("LocalDateTime = " + localDateTime);}}结果:Date = Fri Jun 16 15:35:26 CST 2017LocalDateTime = 2017-06-16T15:35:26.970⽅法2:我们也可以使⽤LocalDateTime的FactoryInput()⽅法使⽤系统的默认时区。
pxe技术

本节来介绍下完全anaconda安装程序,严格上讲完全anaconda服务器需要dhcp,tftp,nfs,dns,vftpd或者http服务器,本节中虽然不涉及dns部分,但也能完成基本的anaconda,这个之前也在CentOS上实践过,现在有必要重新整理整理…[root@yang ~]# mount /dev/cdrom /mnt //将红帽关盘挂载并做为yum库,红帽5.4的光盘可直接使用,而不用执行createrepo操作mount: block device /dev/cdrom is write-protected, mounting read-only[root@yang ~]# cat /etc/yum.repos.d/local.repo[cdrom]name=dvd for rhel5.4baseurl=file:///mnt/Servergpgcheck=0[root@yang ~]# yum -y install dhcp tftp-server //安装dhcp和tftp服务器,dhcp解决地址分配问题,tftp则用来传输内核初始化闪存盘等[root@yang ~]#cat /etc/dhcpd.conf //dhcp配置文件option domain-name ""; //定义默认域名,若有dns服务器,可以联动default-lease-time 6000; //默认地址租约过期时间,全局选项max-lease-time 11400; //地址租约最长过期时间,全局选项authourtative; //定义该服务器为网络中的权威dhcp服务器next-server 192.168.0.200; //pxe中使用的nfs服务器地址ddns-update-style ad-hoc; //这个style参数必须是ad-hoc、interim或者nonelog-facility local7; //日志类型,使用/etc/syslog.conf中自定义的日志local7subnet 192.168.0.0 netmask 255.255.255.0{ //在192.168.0.0/24位网络中使用dhcp range 192.168.0.10 192.168.0.100; //dhcp服务器的地址范围option domain-name-servers 192.168.0.200; //为客户端提供的dns服务器IPoption domain-name ""; //为客户端提供的域名option netbios-name-servers 192.168.0.200; //为客户端提供的netbios服务器IPoption routers 192.168.0.1; //为客户端提供的网关地址option broadcast-address 192.168.0.255; //为客户端提供的广播地址default-lease-time 6000; //默认地址租约过期时间,局部选项max-lease-time 11400; //地址租约最长过期时间,局部选项filename "/pxelinux.0"; //指定客户端启动要载入的初始启动文件,改文件位于tftp服务器根目录下}本机网卡配置:[root@yang ~]# ifconfig |grep 'inet addr'inet addr:10.0.0.200 Bcast:10.255.255.255 Mask:255.0.0.0inet addr:192.168.0.200 Bcast:192.158.0.255 Mask:255.255.255.0inet addr:127.0.0.1 Mask:255.0.0.0tftp服务器配置:[root@yang ~]# cd /tftpboot/[root@yang tftpboot]# cp -rv /mnt/isolinux/* ./ //拷贝关盘下的所有文件到该目录下[root@yang tftpboot]# mkdir pxelinux.cfg //创建一个pxelinux.cfg目录,并将isolinux.cfg复制到该目录,并重命名为default[root@yang tftpboot]# cp isolinux.cfg ./pxelinux.cfg/default[root@yang tftpboot]# cp /usr/lib/syslinux/pxelinux.0 ./ //该文件为启动镜像启动tftp服务器和dhcp服务器,设置开机自启动:[root@yang ~]# service dhcpd startStarting dhcpd: [ OK ][root@yang ~]# chkconfig dhcpd on[root@yang ~]# chkconfig xinetd on[root@yang ~]# chkconfig tftp on配置nfs服务器并启动:[root@yang ~]# cat /etc/exports/mnt 192.168.0.0/24(ro,sync,no_root_squash) //no_root_squash选项表示如果使用root用户访问NFS共享目录,那么对于这个共享目录就具有root 的权限[root@yang ~]# service portmap restartStopping portmap: [ OK ]Starting portmap: [ OK ][root@yang ~]# service nfs startStarting NFS services: [ OK ]Starting NFS quotas: [ OK ]Starting NFS daemon: [ OK ]Starting NFS mountd: [ OK ][root@yang ~]# chkconfig portmap on[root@yang ~]# chkconfig nfs on查看配置:[root@yang ~]# showmount -e 127.0.0.1Export list for 127.0.0.1:/mnt 192.168.0.0/24安装kickstart图形工具包:[root@yang ~]# yum -y install system-config-kickstart //kickstart工具在使用的时候包组会读取/etc/yum.repo.d/下的配置文件,而配置文件中必须存在【base】,否则会报错生成ks.cfg文件:[root@yang ~]# cat ks.cfg#platform=x86, AMD64, or Intel EM64T# System authorization informationauth --useshadow --enablemd5 //密码验证启用shadow和MD5# System bootloader configurationbootloader --location=mbr //启动引导,也就是Grub安装在mbr上# Partition clearing informationclearpart --all --initlabel //删除磁盘上的所有分区# Use graphical installgraphical //使用图形方式安装,text则代表文本方式安装# Firewall configurationfirewall --enabled //启用防火墙# Run the Setup Agent on first bootfirstboot --disablekey --skip //跳过序列号# System keyboardkeyboard us //使用美国键盘# System languagelang en_US //安装语言使用英语# Installation logging levellogging --level=info //日志级别,安装日志记录在/root/install.log中# Use NFS installation medianfs --server=192.168.0.200 --dir=/mnt //安装源位置# Network informationnetwork --bootproto=dhcp --device=eth0 --onboot=on //网络使用dhcp来配置#Root passwordrootpw --iscrypted $1$3H./fEFJ$RvktBflwaUfPGtk2A8ImH1 //root用户的密码,这里使用了MD5加密# SELinux configurationselinux --enforcing //启用selinux# System timezonetimezone --isUtc Asia/Shanghai //时区使用上海,utc# Install OS instead of upgradeinstall //代表安装而不是升级# X Window System configuration informationxconfig --defaultdesktop=GNOME --depth=8 --resolution=800x600 //配置显示的分辨率# Disk partitioning informationpart swap --bytes-per-inode=4096 --fstype="swap" --size=512 //分区的设定,默认以MB 为单位part /boot --bytes-per-inode=4096 --fstype="ext3" --size=100part / --bytes-per-inode=4096 --fstype="ext3" --size=10000%postreboot //安装完成后重启%packages //安装的包组@base-x@gnome-desktop@development-libs@development-tools安装ftp服务器,并将ks.cfg文件发布出去:[root@yang ~]# yum -y install vsftpd[root@yang ~]# cp ks.cfg /var/ftp/pub/[root@yang ~]# cat /tftpboot/pxelinux.cfg/defaultdefault linuxprompt 1timeout 1 //1秒后超时display boot.msg //显示的菜单,这些菜单文件都存放在/tftp目录下F1 boot.msgF2 options.msgF3 general.msgF4 param.msgF5 rescue.msglabel linuxkernel vmlinuzappend ks=ftp://192.168.0.200/pub/ks.cfg initrd=initrd.img //指定anaconda文件位置label textkernel vmlinuzappend ks=ftp://192.168.0.200/pub/ks.cfg initrd=initrd.imglabel kskernel vmlinuzappend ks initrd=initrd.imglabel locallocalboot 1label memtest86kernel memtestappend -启动ftp服务器,关闭防火墙:[root@yang ~]# service vsftpd startStarting vsftpd for vsftpd: [ OK ][root@yang ~]# service iptables stop查看日志:[root@yang ~]# tail -f /var/log/xferlogSat Mar 13 16:44:11 2010 1 192.168.0.100 1216 /pub/ks.cfg b _ o a rhinstall@ ftp 0 * c。
String类型转localDate,date转localDate的实现代码

String类型转localDate,date转localDate的实现代码看代码吧~String 类型转localDateLocalDate beginDateTime = LocalDate.parse(beginDate, DateTimeFormatter.ofPattern(“yyyy-MM-dd”));date类型转localDateDate dates = new SimpleDateFormat(“yyyyMM”).parse(cycle);Instant instant = dates.toInstant();ZoneId zoneId = ZoneId.systemDefault();LocalDate localDate = instant.atZone(zoneId).toLocalDate();补充知识:LocalDateTime与字符串互转/Date互转/LocalDate互转/指定⽇期/时间⽐较/循环Java 8中表⽰⽇期和时间的类有多个,主要的有:Instant:表⽰时刻,不直接对应年⽉⽇信息,需要通过时区转换LocalDateTime: 表⽰与时区⽆关的⽇期和时间信息,不直接对应时刻,需要通过时区转换LocalDate:表⽰与时区⽆关的⽇期,与LocalDateTime相⽐,只有⽇期信息,没有时间信息LocalTime:表⽰与时区⽆关的时间,与LocalDateTime相⽐,只有时间信息,没有⽇期信息ZonedDateTime:表⽰特定时区的⽇期和时间ZoneId/ZoneOffset:表⽰时区与字符串互转简单粗暴DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");LocalDateTime time = LocalDateTime.now();String localTime = df.format(time);LocalDateTime ldt = LocalDateTime.parse("2018-06-01 10:12:05",df);System.out.println("LocalDateTime转成String类型的时间:"+localTime);System.out.println("String类型的时间转成LocalDateTime:"+ldt);与Date互转java.util.Date date = new java.util.Date();Instant instant = date.toInstant();ZoneId zone = ZoneId.systemDefault();LocalDateTime localDateTime = LocalDateTime.ofInstant(instant, zone);LocalDateTime localDateTime = LocalDateTime.now();ZoneId zone = ZoneId.systemDefault();Instant instant = localDateTime.atZone(zone).toInstant();java.util.Date date = Date.from(instant);与LocalDate互转LocalDateTime now = LocalDateTime.now();LocalDate localDate = now.toLocalDate();LocalDate localDate = LocalDate.now();ZoneId zone = ZoneId.systemDefault();Instant instant = localDate.atStartOfDay().atZone(zone).toInstant();java.util.Date date = Date.from(instant);调整时间LocalDateTime now = LocalDateTime.now();//明天LocalDateTime plusDays = now.plusDays(1);//昨天LocalDateTime plusDays2 = now.plusDays(-1);//还有时分等同理时间⽐较LocalDateTime now = LocalDateTime.now();Long epochMilli = now.atZone(ZoneId.systemDefault()).toInstant().toEpochMilli();然后⽐较long就可以了默认时区是ZoneId.systemDefault()//北京时区ZoneId bjZone = ZoneId.of("GMT+08:00")间隔计算使⽤Duration进⾏ day,hour,minute,second等的计算使⽤Period进⾏Year,Month的计算Duration duration = Duration.between(localDateTime,localDateTime4);duration.toDays();duration.toHours();duration.toMinutes();Period period2 = Period.between(localDateTime.toLocalDate(),localDateTime4.toLocalDate());period2.getYears();period2.getMonths();period2.toTotalMonths();判断是否是今天或昨天String time = "2018-08-09 11:20:45";DateTimeFormatter dtf = DateTimeFormatter.ofPattern("uuuu-MM-dd HH:mm:ss");LocalDateTime localTime = LocalDateTime.parse(time, dtf);LocalDateTime startTime = LocalDate.now().atTime(0, 0, 0);LocalDateTime endTime = LocalDate.now().atTime(23, 59, 59);LocalDateTime startYesterday = LocalDate.now().plusDays(-1).atTime(0, 0, 0);LocalDateTime endYesterday = LocalDate.now().plusDays(-1).atTime(23, 59, 59);//如果⼩于昨天的开始⽇期if (localTime.isBefore(startYesterday)) {System.out.println("时间是过去");}//时间是昨天if (localTime.isAfter(startYesterday) && localTime.isBefore(endYesterday)) {System.out.println("时间是昨天");}//如果⼤于今天的开始⽇期,⼩于今天的结束⽇期if (localTime.isAfter(startTime) && localTime.isBefore(endTime)) {System.out.println("时间是今天");}//如果⼤于今天的结束⽇期if (localTime.isAfter(endTime)) {System.out.println("时间是未来");}}循环某段时间LocalDate start = LocalDate.of(2019, 4, 29);LocalDate end = LocalDate.of(2019, 7, 29);do {System.out.println(start);start = start.plusDays(1);} while (start.toEpochDay() <= end.toEpochDay());获取最近7天每天开始和结束时间戳LocalDate start = LocalDate.now().plusDays(-7);LocalDate end = LocalDate.now();do {start.atStartOfDay().atZone(ZoneId.systemDefault()).toInstant().toEpochMilli();start.atTime(LocalTime.MAX).atZone(ZoneId.systemDefault()).toInstant().toEpochMilli();start = start.plusDays(1);} while (start.toEpochDay() <= end.toEpochDay());以上这篇String类型转localDate,date转localDate的实现代码就是⼩编分享给⼤家的全部内容了,希望能给⼤家⼀个参考,也希望⼤家多多⽀持。
Wmic——精选推荐
WmicWmicWMIC扩展WMI(Windows Management Instrumentation,Windows管理⼯具),提供了从命令⾏接⼝和批命令脚本执⾏系统管理的⽀持wmic 分可交互和⾮交互操作1. ⾮交互wmin后直接跟命令的wmic nicconfig get macaddress2. 交互的C:\Users\admin>wmic进⼊交互模式wmic:root\cli>/?命令⾏帮助命令例⼦说明 /? 或 -? 显⽰所有全局开关和别名的语法 / /? /user /? 显⽰指定全局开关的信息 /? class /? 显⽰某个命令的信息 /? memcache /? 显⽰某个别名的信息 /? temperature get /? 显⽰别名与动词组合的信息 /?:Full irq get /?:Full 显⽰动词的帮助信息如:我要查看process命令的帮助,键⼊:process/?后显⽰如下:命令解析C:\Users\admin>wmicwmic:root\cli>/?WMIC 已弃⽤。
[全局开关] <命令>可以使⽤以下全局开关:/NAMESPACE 别名在其上操作的命名空间的路径。
/ROLE 包含别名定义的⾓⾊的路径。
/NODE 别名在其上操作的服务器。
/IMPLEVEL 客户端模拟级别。
/AUTHLEVEL 客户端⾝份验证级别。
/LOCALE 客户端应使⽤的语⾔ ID。
/PRIVILEGES 启⽤或禁⽤所有权限。
/TRACE 将调试信息输出到 stderr。
/RECORD 记录所有输⼊命令和输出内容。
/INTERACTIVE 设置或重置交互模式。
/FAILFAST 设置或重置 FailFast 模式。
/USER 会话期间要使⽤的⽤户。
/PASSWORD 登录会话时要使⽤的密码。
/OUTPUT 指定输出重定向模式。
/APPEND 指定输出重定向模式。
kickstart实现centos5.3自动安装
vmware+kickstart+vsftp+pxe实现centos5.3自动安装一.介绍:网上有很多关于kickstart+pxe+dhcp+vsftp/http实现centos/rhel全自动安装部署的文章,因此关于原理性的东西我这里就不写了,只说说我的理解和安装配置过程中遇到的错误以及解决办法。
首先简单介绍下kickstart全自动部署的实现流程:第一步:主机加电,并选择从网卡启动。
第二步:主机从dhcp server获取ip地址,并得到tftp服务器的ip地址和pxe 文件名。
(由dhcp.conf文件中的filename "/pxelinux.0";和next-server 192.168.168.1;两项指定。
)第三步:主机从tftp服务器下载pxelinux相关文件,并启动到安装方式选择界面,也就是“boot:”提示的地方。
第四步:最后主机从vsftp server下载到自动应答安装提问的ks.cfg文件以及RHEL或centos的源目录树。
我是在win7+vmware6.5+centos5.3(final)的环境下完成的实验:1台装好的centos5.3模拟右边的服务器,一台新创建的虚拟机(刚分配了虚拟的硬件)模拟左边的待安装主机,两者通过vmnet4虚拟网络连接,模拟直连或通过网络连接的服务器和客户端。
必要的条件:Dhcp server、tftp server、vsftp server以及由KickStart所生成的ks.cfg 配置文件,最后当然是带有一个 PXE 支持网卡的将安装的主机。
二.安装下面就根据以上图示进行相应服务器的安装(上述3个服务其实都装在一台centos5.3的虚拟机中)1.安装DHCP服务:[root@lfs ~]# yum install dhcp –y#因为yum会自动检查系统中是否已经安装了dhcp server,如果已安装,则会比较版本,如果有更新的版本,则会升级安装。
18个Java8日期处理的实践(太有用了)
18个Java8⽇期处理的实践(太有⽤了)Java 8 推出了全新的⽇期时间API,在教程中我们将通过⼀些简单的实例来学习如何使⽤新API。
Java处理⽇期、⽇历和时间的⽅式⼀直为社区所诟病,将 java.util.Date设定为可变类型,以及SimpleDateFormat的⾮线程安全使其应⽤⾮常受限。
新API基于ISO标准⽇历系统,java.time包下的所有类都是不可变类型⽽且线程安全。
⽰例1:Java 8中获取今天的⽇期Java 8 中的 LocalDate ⽤于表⽰当天⽇期。
和java.util.Date不同,它只有⽇期,不包含时间。
当你仅需要表⽰⽇期时就⽤这个类。
package com.shxt.demo02;import java.time.LocalDate;public class Demo01 {public static void main(String[] args) {LocalDate today = LocalDate.now();System.out.println("今天的⽇期:"+today);}}⽰例2:Java 8中获取年、⽉、⽇信息package com.shxt.demo02;import java.time.LocalDate;public class Demo02 {public static void main(String[] args) {LocalDate today = LocalDate.now();int year = today.getYear();int month = today.getMonthValue();int day = today.getDayOfMonth();System.out.println("year:"+year);System.out.println("month:"+month);System.out.println("day:"+day);}}⽰例3:Java 8中处理特定⽇期我们通过静态⼯⼚⽅法now()⾮常容易地创建了当天⽇期,你还可以调⽤另⼀个有⽤的⼯⼚⽅法LocalDate.of()创建任意⽇期,该⽅法需要传⼊年、⽉、⽇做参数,返回对应的LocalDate实例。
色调映射tonemapping
色调映射,是在有限动态范围媒介上近似显示高动态范围图像的一项计算机图形学技术。
打印结果、CRT 或者LCD 显示器以及投影仪等都只有有限的动态范围。
本质上来讲,色调映射是要解决的问题是进行大幅度的对比度衰减将场景亮度变换到可以显示的范围,同时要保持图像细节与颜色等对于表现原始场景非常重要的信息。
Tone Mapping原是摄影学中的一个术语,因为打印相片所能表现的亮度范围不足以表现现实世界中的亮度域,而如果简单的将真实世界的整个亮度域线性压缩到照片所能表现的亮度域内,则会在明暗两端同时丢失很多细节,这显然不是所希望的效果,Tone Mapping就是为了克服这一情况而存在的,既然相片所能呈现的亮度域有限则我们可以根据所拍摄场景内的整体亮度通过光圈与曝光时间的长短来控制一个合适的亮度域,这样既保证细节不丢失,也可以不使照片失真。
人的眼睛也是相同的原理,这就是为什么当我们从一个明亮的环境突然到一个黑暗的环境时,可以从什么都看不见到慢慢可以适应周围的亮度,所不同的是人眼是通过瞳孔来调节亮度域的。
而这个问题同样存在在计算机图形上,为了让图像更真实的显示在显示器上,同样需要Tone Mapping来辅助。
整个Tone Mapping的过程就是首先要根据当前的场景推算出场景的平均亮度,再根据这个平均亮度选取一个合适的亮度域,再将整个场景映射到这个亮度域得到正确的结果。
其中最重要的几个参数:Middle grey:整个场景的平均灰度,关系到场景所应处在亮度域。
Key:场景的Key将决定整个场景的亮度倾向,倾向偏亮亦或是偏暗。
首先我们需要做的是计算出整个场景的平均亮度,有很多种计算平均亮度的方法,目前常用的的是使用log-average亮度来作为场景的平均亮度,通过下面的公式可以计算得到:其中Lw(x,y)是像素点x,y的亮度,N是场景内的像素数,δ是一个很小的数用来应对像素点纯黑的情况。
上面的公式用来映射亮度域,α即是前面所讲的Key值,用来控制场景的亮度倾向,一般来说,会使用几个特定的值,0.18是一个适中的Key,0.36或者0.72相对偏亮,0.09甚至0.045则是偏暗。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2)OS Console-XSCF Shell 先后按[ENTERN键],[#键(就是shift+3)]以及[. 键]
Solaris Zones 软件分区技术提供了一种虚拟操作系统服务,以创建多个隔离运行环境的方法。在使用者看来,每一个Local Zone 就好比一台独立的机器,那么如何在LocalZone 中实现机器的一些常用功能成为一个突出的问题?针对那些最常见的问题,跟大家一起分享一下我找到的解决方案。
问题:怎样在Local Zone 中使用CDROM。 既然每一个Local Zone 都可以看作一台独立的机器,那如何在Local Zone 中使用外设就成为我们必须考虑的问题,这里我们就最常用的CDROM做一个讨论。CDROM是最常见的外设之一,大部分的软件安装都以CDROM 作为介质,因此如何在Local Zone 中使用CDROM是很多人关心的问题。就此我查询了一些资料,也做了很多的尝试,共找到了三种在Local Zone 中使用CDROM的方案,可供大家参考。
方法一:在Local Zone 中以Loopback 的方式挂接CDROM 1) 在zone 配置的时候,使用选项(ro, nodevices)把 /cdrom 以lofs 的方式挂载到LocalZone 中。 # zonecfg -z zone1 zonecfg:zone1> add fs zonecfg:zone1:fs> set dir=/mnt zonecfg:zone1:fs> set special=/cdrom zonecfg:zone1:fs> set type=lofs zonecfg:zone1:fs> add options [ro,nodevices] zonecfg:zone1:fs> end zonecfg:zone1> commit zonecfg:zone1> exit
2) 重启Local Zone # zoneadm -z zone1 reboot
3) 在Local Zone 中使用CDROM # zlogin zone1 #ls /mnt cdrom0 sol_10_606_sparc
可以看到CDROM挂接在了/mnt 下面, 和Global Zone 看到的一致。 删除的过程和挂接的过程类似, 1) 删除zone1 配置中关于CDROM 的部分, # zonecfg -z zone1 zonecfg:zone1> remove fs dir=/mnt zonecfg:zone1> commit zonecfg:zone1> exit
2) 重启Local Zone,再登陆zone1,CDROM 就已经不在了. # zoneadm -z zone1 reboot # zlogin zone1 #ls /mnt
方法二:在Local Zone 中直接添加设备CDROM 1) 找到与CDROM相匹配的设备,寻找rmformat 中和CDROM/DVD 相对应的logical node. # rmformat 1. Logical Node: /dev/rdsk/c0t0d0s2 Physical Node:/pci@0,0/pci-ide@6/ide@0/sd@0,0 Connected Device:MATSHITA DVD-RAM SW-9585 BZS3 Device Type: DVD Reader/Writer
2) 在zone 配置的时候, 直接把相应的设备导入到Local Zone 中 # zonecfg -z zone2 zonecfg:zone2> add device zonecfg:zone2:device> set match=/dev/*dsk/c0t0d0s* zonecfg:zone2:device> end zonecfg:zone2> verify zonecfg:zone2> commit zonecfg:zone2> exit
3) 重启Local Zone # zoneadm -z zone2 reboot
4) 在Local Zone 中,把 CDROM挂接到希望的位置,如 /mnt/cdrom. # zlogin zone2 # mkdir /mnt/cdrom # mount -F hsfs /dev/dsk/c0t0d0s2 /mnt/cdrom 注:因为它和Global zone 共享CDROM,因此这种共享设备的方式需要把Globalzone 中的CDROM停掉,这一步可以在开始的时候就做。0 0 0 0 0 0 0 # /etc/init.d/volmgt stop 删除的顺序和添加的顺序正好相反:
1)在Local zone 中解除挂接 # umount /mnt/cdrom
2)在Global zone 中删除zone2 配置中关于CDROM 设备的部分 # zonecfg -z zone2 zonecfg:zone2> remove device match=/dev/*dsk/c0t0d0s* zonecfg:zone2> commit zonecfg:zone2> exit
3) 重启Local Zone,再登陆zone2,CDROM 已经不在了,同时在Global zone 中重新启动volmgt # /etc/init.d/volmgt start
方法三:NFS share 还有一种比较传统的办法,采用NFS share,既然Local Zone 可以看作一台独立的机器,那机器间通过nfs 当然就可以实现共享了。 1) 打开nfs server 服务 # svcadm enable svc:/network/nfs/server:default
2) 把Global Zone 中的CDROM 共享出来 # share -F nfs -o ro /cdrom/cdrom0
3) 在Local Zone 中把CDROM给挂接上就可以了。 # zlogin zone3 # mkdir /mnt/cdrom # mount -F nfs globalzone:/cdrom/cdrom0 /mnt/cdrom
这里的globalzone 是在/etc/hosts 文件中定义的Global Zone 的名字,当然该方法要求Global Zone 和Local Zone 具有同一网段的地址(这里给Local Zone 配置网络的过程就不再详述了)。
小结 三种方法中最常用的是第一种,一次性配置完成后就不需要费心了,而且和GlobalZone 也没有任何的冲突。相反, 第二种方法用的人很少,虽然你可以在sun 关于zone 的文档中找到该方法,《系统管理员指南_容器资源管理和分区技术》,但因为卷管理的daemon 程序(vold)无法在Local Zone 中运行, 输出到Local Zone 中的CDROM 并不能被自动识别,仍需要手工mount,因此并不推荐。第三种方法感觉上挺方便的,如果是偶尔的 用一下CDROM,可以使用。 不过这三种方法都有一个共同的缺点,那就是你无法在Local Zone 中通过指令自动的弹出CDROM. 如果我们安装软件需要用到多张光盘,那安装脚本里的eject 指令在LocalZone 中就无法正常执行了。这里提供一个我使用的小办法,能缓解一下这个小矛盾,很希望有一天可以直接在Local Zone 中实现eject 的功能。 自己写了个eject 的脚本来取代/usr/bin/eject。脚本的内容很简单,就是通过rsh 调用Global Zone 中的eject。 rsh globalzone /usr/bin/eject 在Local Zone 中安装软件的时候还常遇到的一个问题就是如何显示图形界面,这里一并说了。 1) 在Global Zone 中把Local Zone 的host name 添加到可连接X server 的列表中,这里先确认Local Zone 的host name 已经在Global Zone 的/etc/hosts 文件中了。 # xhost + zone1 2) 为Local Zone 设置环境变量DISPLAY # DISPLAY=globalzone:0.0;export DISPLAY 设置完毕,这样就可以在Local Zone 中行无障碍的启动图形画面了,所有的窗口都被推到了Global Zone 中.
Solaris下CDROM的使用(总结与请教) 检查CDROM的设备名(不含盘片编号) #iostat –En
检测CDROM的型号 OK>probe-scsi-all or probe-ide (u5 u10) or devalias
检查CDROM是否存在 OK>show-devs (sunos 2.5.1下)
CDROM的传统设备名 在以往的sparc平台的solaris中,CDROM的传统逻辑设备名是/dev/dsk/c0t6d0sx 例如常见的c0t6d0s2。
所有磁盘都使用通用命名方案进行编号。此系统包含四个部分: c 控制器编号 t 目标 ID(对于 SCSI 设备,此编号与 SCSI-ID 对应) d 驱动器编号或 RAID 设备的 LUN(一个 ID,多个磁盘) s 片、分区编号
检查CDROM是否已mount上 #df -k
自动mount光盘 sol9 下自动mount 光盘,但需要启动vold后台进程 #/etc/init.d/volmgr start or stop 检查vold进程 #ps –ef |grep vold
强行弹出cdrom #eject –f cdrom