红米hm1std刷机怎样才能获得root

如果你的IPTABLES基础知识还不了解,建议先去看看. 开始配置 我们来配置一个filter表的防火墙. (1)查看本机关于IPTABLES的设置情况 [root@tp ~]# iptables -L -n Chain INPUT (policy ACCEPT) target&&&&&& prot opt source&&&&&&&&&&&&&&&& destination&&&&&&&&& Chain FORWARD (policy ACCEPT) target&&&&&& prot opt source&&&&&&&&&&&&&&&& destination&&&&&&&&& Chain OUTPUT (policy ACCEPT) target&&&&&& prot opt source&&&&&&&&&&&&&&&& destination&&&&&&&&& Chain RH-Firewall-1-INPUT (0 references) target&&&&&& prot opt source&&&&&&&&&&&&&&&& destination&&&&&&&&& ACCEPT&&&&&& all&&& --&&& 0.0.0.0/0&&&&&&&&&&&&& 0.0.0.0/0&&&&&&&&&&& ACCEPT&&&&&& icmp --&&& 0.0.0.0/0&&&&&&&&&&&&& 0.0.0.0/0&&&&&&&&&&&& icmp type 255
ACCEPT&&&&&& esp&&& --&&& 0.0.0.0/0&&&&&&&&&&&&& 0.0.0.0/0&&&&&&&&&&& ACCEPT&&&&&& ah&&&& --&&& 0.0.0.0/0&&&&&&&&&&&&& 0.0.0.0/0&&&&&&&&&&& ACCEPT&&&&&& udp&&& --&&& 0.0.0.0/0&&&&&&&&&&&&& 224.0.0.251&&&&&&&&&& udp dpt:5353
ACCEPT&&&&&& udp&&& --&&& 0.0.0.0/0&&&&&&&&&&&&& 0.0.0.0/0&&&&&&&&&&&& udp dpt:631
ACCEPT&&&&&& all&&& --&&& 0.0.0.0/0&&&&&&&&&&&&& 0.0.0.0/0&&&&&&&&&&&& state RELATED,ESTABLISHED
ACCEPT&&&&&& tcp&&& --&&& 0.0.0.0/0&&&&&&&&&&&&& 0.0.0.0/0&&&&&&&&&&&& state NEW tcp dpt:22
ACCEPT&&&&&& tcp&&& --&&& 0.0.0.0/0&&&&&&&&&&&&& 0.0.0.0/0&&&&&&&&&&&& state NEW tcp dpt:80
ACCEPT&&&&&& tcp&&& --&&& 0.0.0.0/0&&&&&&&&&&&&& 0.0.0.0/0&&&&&&&&&&&& state NEW tcp dpt:25
REJECT&&&&&& all&&& --&&& 0.0.0.0/0&&&&&&&&&&&&& 0.0.0.0/0&&&&&&&&&&&& reject-with icmp-host-prohibited
可以看出我在安装linux时,选择了有防火墙,并且开放了22,80,25端口. 如果你在安装linux时没有选择启动防火墙,是这样的
[root@tp ~]# iptables -L -n Chain INPUT (policy ACCEPT) target&&&&&& prot opt source&&&&&&&&&&&&&&&& destination&&&&&&&&& Chain FORWARD (policy ACCEPT) target&&&&&& prot opt source&&&&&&&&&&&&&&&& destination&&&&&&&&& Chain OUTPUT (policy ACCEPT) target&&&&&& prot opt source&&&&&&&&&&&&&&&& destination&& 什么规则都没有. (2)清除原有规则. 不管你在安装linux时是否启动了防火墙,如果你想配置属于自己的防火墙,那就清除现在filter的所有规则.
[root@tp ~]# iptables -F&&&&&&& 清除预设表filter中的所有规则链的规则 [root@tp ~]# iptables -X&&&&&&& 清除预设表filter中使用者自定链中的规则 我们在来看一下 [root@tp ~]# iptables -L -n Chain INPUT (policy ACCEPT) target&&&&&& prot opt source&&&&&&&&&&&&&&&& destination&&&&&&&&& Chain FORWARD (policy ACCEPT) target&&&&&& prot opt source&&&&&&&&&&&&&&&& destination&&&&&&&&& Chain OUTPUT (policy ACCEPT) target&&&&&& prot opt source&&&&&&&&&&&&&&&& destination&&&&&& 什么都没有了吧,和我们在安装linux时没有启动防火墙是一样的.(提前说一句,这些配置就像用命令配置IP一样,重起就会失去作用),怎么保存. [root@tp ~]# /etc/rc.d/init.d/iptables save
这样就可以写到/etc/sysconfig/iptables文件里了.写入后记得把防火墙重起一下,才能起作用. [root@tp ~]# service iptables restart
现在IPTABLES配置表里什么配置都没有了,那我们开始我们的配置吧 (3)设定预设规则 [root@tp ~]# iptables -p INPUT DROP [root@tp ~]# iptables -p OUTPUT ACCEPT [root@tp ~]# iptables -p FORWARD DROP 上面的意思是,当超出了IPTABLES里filter表里的两个链规则(INPUT,FORWARD)时,不在这两个规则里的数据包怎么处理呢,那就是DROP(放弃).应该说这样配置是很安全的.我们要控制流入数据包 而对于OUTPUT链,也就是流出的包我们不用做太多限制,而是采取ACCEPT,也就是说,不在着个规则里的包怎么办呢,那就是通过. 可以看出INPUT,FORWARD两个链采用的是允许什么包通过,而OUTPUT链采用的是不允许什么包通过. 这样设置还是挺合理的,当然你也可以三个链都DROP,但这样做我认为是没有必要的,而且要写的规则就会增加.但如果你只想要有限的几个规则是,如只做WEB服务器.还是推荐三个链都是DROP. 注:如果你是远程SSH登陆的话,当你输入第一个命令回车的时候就应该掉了.因为你没有设置任何规则. 怎么办,去本机操作呗! (4)添加规则. 首先添加INPUT链,INPUT链的默认规则是DROP,所以我们就写需要ACCETP(通过)的链 为了能采用远程SSH登陆,我们要开启22端口. [root@tp ~]# iptables -A INPUT -p tcp --dport 22 -j ACCEPT [root@tp ~]# iptables -A OUTPUT -p tcp --sport 22 -j ACCEPT (注:这个规则,如果你把OUTPUT 设置成DROP的就要写上这一部,好多人都是望了写这一部规则导致,始终无法SSH.在远程一下,是不是好了. 其他的端口也一样,如果开启了web服务器,OUTPUT设置成DROP的话,同样也要添加一条链: [root@tp ~]# iptables -A OUTPUT -p tcp --sport 80 -j ACCEPT ,其他同理.) 如果做了WEB服务器,开启80端口. [root@tp ~]# iptables -A INPUT -p tcp --dport 80 -j ACCEPT 如果做了邮件服务器,开启25,110端口. [root@tp ~]# iptables -A INPUT -p tcp --dport 110 -j ACCEPT [root@tp ~]# iptables -A INPUT -p tcp --dport 25 -j ACCEPT 如果做了FTP服务器,开启21端口 [root@tp ~]# iptables -A INPUT -p tcp --dport 21 -j ACCEPT [root@tp ~]# iptables -A INPUT -p tcp --dport 20 -j ACCEPT 如果做了DNS服务器,开启53端口 [root@tp ~]# iptables -A INPUT -p tcp --dport 53 -j ACCEPT 如果你还做了其他的服务器,需要开启哪个端口,照写就行了. 上面主要写的都是INPUT链,凡是不在上面的规则里的,都DROP 允许icmp包通过,也就是允许ping, [root@tp ~]# iptables -A OUTPUT -p icmp -j ACCEPT (OUTPUT设置成DROP的话) [root@tp ~]# iptables -A INPUT -p icmp -j ACCEPT&&& (INPUT设置成DROP的话)
允许loopback!(不然会导致DNS无法正常关闭等问题) IPTABLES -A INPUT -i lo -p all -j ACCEPT (如果是INPUT DROP) IPTABLES -A OUTPUT -o lo -p all -j ACCEPT(如果是OUTPUT DROP)
下面写OUTPUT链,OUTPUT链默认规则是ACCEPT,所以我们就写需要DROP(放弃)的链. 减少不安全的端口连接 [root@tp ~]# iptables -A OUTPUT -p tcp --sport 31337 -j DROP [root@tp ~]# iptables -A OUTPUT -p tcp --dport 31337 -j DROP 有些些特洛伊木马会扫描端口3(即黑客语言中的 elite 端口)上的服务。既然合法服务都不使用这些非标准端口来通信,阻塞这些端口能够有效地减少你的网络上可能被感染的机器和它们的远程主服务器进行独立通信的机会 还有其他端口也一样,像:3、2 NetBus、9(smb),2049(NFS)端口也应被禁止,我在这写的也不全,有兴趣的朋友应该去查一下相关资料.
当然出入更安全的考虑你也可以包OUTPUT链设置成DROP,那你添加的规则就多一些,就像上边添加 允许SSH登陆一样.照着写就行了.
下面写一下更加细致的规则,就是限制到某台机器 如:我们只允许192.168.0.3的机器进行SSH连接 [root@tp ~]# iptables -A INPUT -s 192.168.0.3 -p tcp --dport 22 -j ACCEPT 如果要允许,或限制一段IP地址可用 192.168.0.0/24 表示192.168.0.1-255端的所有IP. 24表示子网掩码数.但要记得把 /etc/sysconfig/iptables 里的这一行删了. -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT 因为它表示所有地址都可以登陆. 或采用命令方式: [root@tp ~]# iptables -D INPUT -p tcp --dport 22 -j ACCEPT 然后保存,我再说一边,反是采用命令的方式,只在当时生效,如果想要重起后也起作用,那就要保存.写入到/etc/sysconfig/iptables文件里. [root@tp ~]# /etc/rc.d/init.d/iptables save 这样写 !192.168.0.3 表示除了192.168.0.3的ip地址 其他的规则连接也一样这么设置.
在下面就是FORWARD链,FORWARD链的默认规则是DROP,所以我们就写需要ACCETP(通过)的链,对正在转发链的监控. 开启转发功能,(在做NAT时,FORWARD默认规则是DROP时,必须做) [root@tp ~]# iptables -A FORWARD -i eth0 -o eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT [root@tp ~]# iptables -A FORWARD -i eth1 -o eh0 -j ACCEPT 丢弃坏的TCP包 [root@tp ~]#iptables -A FORWARD -p TCP ! --syn -m state --state NEW -j DROP 处理IP碎片数量,防止攻击,允许每秒100个 [root@tp ~]#iptables -A FORWARD -f -m limit --limit 100/s --limit-burst 100 -j ACCEPT 设置ICMP包过滤,允许每秒1个包,限制触发条件是10个包.
[root@tp ~]#iptables -A FORWARD -p icmp -m limit --limit 1/s --limit-burst 10 -j ACCEPT 我在前面只所以允许ICMP包通过,就是因为我在这里有限制.
二,配置一个NAT表放火墙 1,查看本机关于NAT的设置情况 [root@tp rc.d]# iptables -t nat -L Chain PREROUTING (policy ACCEPT) target&&&&&& prot opt source&&&&&&&&&&&&&&&& destination&&&&&&&&& Chain POSTROUTING (policy ACCEPT) target&&&&&& prot opt source&&&&&&&&&&&&&&&& destination&&&&&&&&& SNAT&&&&&&&& all&&& --&&& 192.168.0.0/24&&&&&&&& anywhere&&&&&&&&&&&&& to:211.101.46.235
Chain OUTPUT (policy ACCEPT) target&&&&&& prot opt source&&&&&&&&&&&&&&&& destination&&&& 我的NAT已经配置好了的(只是提供最简单的代理上网功能,还没有添加防火墙规则).关于怎么配置NAT,参考我的另一篇文章 当然你如果还没有配置NAT的话,你也不用清除规则,因为NAT在默认情况下是什么都没有的 如果你想清除,命令是 [root@tp ~]# iptables -F -t nat [root@tp ~]# iptables -X -t nat [root@tp ~]# iptables -Z -t nat
2,添加规则 添加基本的NAT地址转换,(关于如何配置NAT可以看我的另一篇文章), 添加规则,我们只添加DROP链.因为默认链全是ACCEPT. 防止外网用内网IP欺骗 [root@tp sysconfig]# iptables -t nat -A PREROUTING -i eth0 -s 10.0.0.0/8 -j DROP [root@tp sysconfig]# iptables -t nat -A PREROUTING -i eth0 -s 172.16.0.0/12 -j DROP [root@tp sysconfig]# iptables -t nat -A PREROUTING -i eth0 -s 192.168.0.0/16 -j DROP 如果我们想,比如阻止MSN,QQ,BT等的话,需要找到它们所用的端口或者IP,(个人认为没有太大必要) 例:
禁止与211.101.46.253的所有连接 [root@tp ~]# iptables -t nat -A PREROUTING&&& -d 211.101.46.253 -j DROP
禁用FTP(21)端口
[root@tp ~]# iptables -t nat -A PREROUTING -p tcp --dport 21 -j DROP 这样写范围太大了,我们可以更精确的定义. [root@tp ~]# iptables -t nat -A PREROUTING&&& -p tcp --dport 21 -d 211.101.46.253 -j DROP
这样只禁用211.101.46.253地址的FTP连接,其他连接还可以.如web(80端口)连接.
按照我写的,你只要找到QQ,MSN等其他软件的IP地址,和端口,以及基于什么协议,只要照着写就行了.
最后: drop非法连接 [root@tp ~]# iptables -A INPUT&&&& -m state --state INVALID -j DROP [root@tp ~]# iptables -A OUTPUT&&& -m state --state INVALID -j DROP [root@tp ~]# iptables-A FORWARD -m state --state INVALID -j DROP 允许所有已经建立的和相关的连接 [root@tp ~]# iptables-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT [root@tp ~]# iptables-A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
[root@tp ~]# /etc/rc.d/init.d/iptables save 这样就可以写到/etc/sysconfig/iptables文件里了.写入后记得把防火墙重起一下,才能起作用. [root@tp ~]# service iptables restart
别忘了保存,不行就写一部保存一次.你可以一边保存,一边做实验,看看是否达到你的要求,
上面的所有规则我都试过,没有问题. 写这篇文章,用了我将近1个月的时间.查找资料,自己做实验,希望对大家有所帮助.如有不全及不完善的地方还请提出. 因为本篇文章以配置为主.关于IPTABLES的基础知识及指令命令说明等我会尽快传上,当然你可以去网上搜索一下,还是很多的.转自:/JemBai/archive//1416364.html
Linux操作系统的安全性是众所周知的,所以,现在很多企业的服务器,如文件服务器、WEB服务器等等,都采用的是Linux的操作系统。笔者所 在的企业,有包括Oracle数据库服务器、文件备份服务器、邮件服务器、WEB服务器也都是采用Linux的服务器系统。今天,我就谈谈Linux是通 过哪些技术来保障服务器的安全,来加强对网络的访问控制。   Linux内置防火墙主要是通过包过滤的手段来提高对网络的管理控制功能,从而提高网络与服务器的安全。   一、 Linux防火墙的工作原理   我们设想一下,一台Linux主机一般会作哪些数据包相关的工作。其实,我们可以把一台Linux形象的比喻成一个地铁车站。一个地铁车站一般 有三个口子,一个是进口,乘客需要去做地铁的话,必须通过这个地铁的进口,而且必须凭合法的票子才能进去。第二个是出口,若乘客需要离开地铁站的话,则也 必须凭着票子出站。三是一个中转的接口,也就是说,在地铁的中转站中,你可以直接通过过道到另外一条线上去。   而一台Linux主机也有三个口子。一个是进口(INPUT),到这台主机的任何数据包都需要通过这个接口才能够进入Linux系统的应用程序 空间。第二个是出口(OUTPUT),从应用程序发送出去的任何数据包都必须通过这个出口,才能够进入到Linux系统的内核,让它把数据发送出去。第三 个是转发接口(FORWARD),主要用来进行数据包的转发。   在Linux主机上要实现包过滤,其实也就是在这三个口子上添加包过滤条件。这就好像在每个口子上设置“验票员”。当“乘客”手里的票是合法 的,则“验票员”就允许其通过;若这票是不允许的,则“验票员”就会拒绝其通过这个口子。通过这种方式,我们网络管理员就可以很好的管理网络中传递的数据 包,并且对于一些服务器的防问权限进行合理且有效的控制。   如有时候我们为了防止DDOS攻击,我们就可以设置让所有主机都拒绝ICMP协议。如此的话,任何一台主机企图ping局域网内的任何一台 Linux电脑的话,局域网内的任何主机都不会有响应。而若有黑客把局域网内的主机当作肉鸡,企图通过他们来实现DOS攻击的时候,由于我们在出站接口 (OUTPUT接口)过滤了ICMP协议,所以,这个PING命令也根本不会传递到局域网中去。如此的话,就可以从根源上保护网络的安全。   二、 Linux防火墙的配置方法   Linux防火墙基本上是通过一条iptables命令来实现具体的配置。如我们现在为了防止局域网内的机器使用ping命令。这是一种很好的 防止DDOS攻击的方法。应为要实现DDOS攻击的话,则首先需要在局域网内部寻找肉鸡,让多台肉鸡同时采用PING命令PING服务器,直到服务器因为 资源耗竭而当机。现在若把所有Linux主机的PING命令都禁用掉的话,则就可以最大程度的防治DDOS攻击的危害。   Iptables –A OUTPUT –P icmp –j DROP   通过这条命令,就可以实现禁用本机的PING命令。   命令iptables就是防火墙包过滤策略的配置命令。防火墙的过滤规则,就是通过这个简单的命令来实现的。后面的参数-A则表示添加一个过滤 条件;-P表示一种协议类型;-J表示我们的目标。上面的这条命令的意思就是在Linux主机的出口上,加上一条过滤语句,当数据包的协议类型是ICMP 的话,则全部丢弃。   不过ICMP有一个特性。我们一般PING一台主机的话,则对于这台主机来说,首先其需要通过进站接口,把数据包传递到上层;然后,又要利用出 站接口,把回应信息发送出去。如果任何一个接口不通,如只收到信息而没有回应的话,则对与主ping方来说,就显示的是目的地不可大的信息。   以上这个条命令我们是在出口上加了限制语句,上面我们说过,一共可以在Linux主机上的三个接口,包括进站进口、出站接口与转发接口,在内的 任何一个接口上配置包过滤条件,以实现对防火墙的管理控制。在下面例子中,笔者将给大家举一个WEB服务器的例子,看看如何通过Linux主机的防火墙来 管理WEB服务器,提高其安全性。   三、 Linux防火墙的配置实例   我们该如何利用Linux操作系统自带的防火墙来提高网络的管理控制功能呢?具体的来说,我们可以分三步走。一是先在Linux服务器上开一个 后门,这个后门是专门给我们网络管理员管理服务器用的。二是把所有的进站、出站、转发站接口都关闭,此时,只有通过我们上面开的后门,管理员才能够远程连 接到服务器上,企图任何渠道都不能连接到这台主机上。三是根据我们服务器的用途,把一些需要用到的接口开放出去。   下面笔者就以一个WEB服务器为例,谈谈如何设置防火墙,才能够提高这台服务器的安全性,并且,在提高安全性的同时,也不影响我们网络管理员对其的访问控制。   第一步:开后门   网络管理员一般是通过SSH方式来管理Linux操作系统。所以,我们首先需要开一个后门,允许网络管理员通过SSH方式远程登录到服务器,对这台服务器进行必要的维护与管理。   为了达到这个目的,我们可以利用两条语句来实现。我们这里假设我们WEB服务器的IP地址为192.168.0.2。   Iptables –A INPUT –P tcp –d 192.168.0.2 –dport 22 –j ACCEPT   Iptables –A OUTPUT –P tcp –S 192.168.0.2 –dport 22 –j ACCEPT   第一条语句的意思是,在进站接口上,允许网络管理员通过TCP协议与22号端口,访问主机。一般SSH方式采用的就是22号端口与TCP协议。 这条语句的作用就是让网络管理员可以连接到WEB服务器上去。但是,这还不够,我们若想要远程管理WEB服务器的话,则就需要实现相互交互的功能。也就是 说,我们还需要WEB服务器能够给我们回应一些消息。此时,我们就还需要配置第二条语句。   上面第二条语句的意识就是允许WEB服务器通过22号端口与TCP协议,发送一些数据出去。如此的话,我们网络管理员就可以受到WEB服务器的一些回应信息。   第二步:关闭所有接口   Iptables –P INPUT –j DROP   Iptables –P OUTPUT –j DROP   Iptables –P FORWARD –j DROP   以上三条命令的作用就是把WEB服务器上的三个接口全部关闭。但是,此时因为我们在第一步开了一个后门,所以,事后网络管理员仍然可以通过 SSH这个方式登录到服务器上去,对其进行远程访问。采用这些命令把各个接口关闭后,我们就无法通过HTTP、FTP等方式访问服务器。   第三步:分析服务器的用途并添加允许条件   把各个接口关不后,我们还需要为其添加一些必要的条件,允许某些特定类型的数据包通过。否则的话,其他人不是不能通过网络访问WEB服务器,那不是白搭了吗?   所以,接下去的任务,我们就是需要分析服务器的类型。我们现在配置的是一台WEB服务器,而WEB服务器一般是通过HTTP方式与80端口进行 访问的。默认情况下,其用到的就是TCP协议与80端口。所以,我们只需要在进口与出口上,允许协议是TCP、端口号是80的数据包通过,就可以实现我们 的目标了。   Iptables –A INPUT –P tcp –d 192.168.0.2 –dport 80 –j ACCEPT   Iptables –A OUTPUT –P tcp –S 192.168.0.2 –dport 80 –j ACCEPT   通过如上的配置,就可以实现我们的需求   四、 Linux防火墙的配置需要注意的地方   在使用Linux防火墙来管理企业网络的时候,笔者给大家提一些建议。   一是根据最小权限的安全与控制设计原则,我们在防火墙设计的时候,需要先把所有的接口先全部禁用掉。然后,再根据服务器的类型,添加一些允许数 据包通过的语句。如此的目的,是为了保障服务器上只允许一些特定的协议与数据包通过。如此做的话,就可以最大限度的保障服务器与企业网络的安全。如通过上 面如此配置的服务器,无法使用FTP协议访问服务器,也就杜绝了非法访问者企图利用FTP漏洞来攻击WEB服务器。同时,也禁止了ICMP协议,如此的 话,就可以有效的防止DDOS攻击等等。   二是有时候会碰到应用程序与防火墙无法协作的问题。如在Linux服务器上部署一个ERP服务器,若同时打开了防火墙的话,则可能就无法连接上 服务器。其实,这不是防火墙或者ERP服务器产生了什么冲突,而是我们没有配置好防火墙而已。一般情况下,笔者建议先把防火墙禁用掉,把ERP服务器先配 置成功、其他用户可以连接上服务器后,再启用防火墙。在启用防火墙的时候,我们需要清楚,这个ERP服务器到底采用了哪些协议与端口来进行数据包的传递, 然后再配置防火墙。大部分的时候,都是因为我们不熟悉某个服务器到底在采用哪些协议与端口,才造成客户端连接的错误。转自:/Article/web05/Linux/.shtml
C++读二进制文件 及 C++设置double精度&&
22:28:35|&&分类:
如果谁说他的Linux从来没有遇到“疑难杂症”,我觉得是不可信的,就算是操作界面最友好的Window XP也时常遇到各种各样的问题,有的问题实在蹊跷到只有更换硬件才能解决!Linux也是这样的,而且他的自由性,更是加大出问题的频繁程度。当然也是因 为Linux开源的特点,不管出了什么问题,你都可以在源代码级找到症结所在,这正是Linux魅力所在。
  1、在不登录情况下,获得root权限
  如果没有设置GRUB密码,那我们可以使用最简单的方法,首先启动电脑,等待GRUB菜单,如果GRUB菜单隐藏,可以按Esc调出, 选择Ubuntu, kernel 2.6.12-*-* (recovery mode),也就是“恢复模式”按Enter启动就可以了。      另外一个办法是用Ubuntu安装盘获得root权限,用Ubuntu安装盘启动电脑,当显示“boot:”时,输入“rescue”
  boot: rescue
  按屏幕提示操作就可以了。
  2、通过改变内核启动参数获得根权限
  启动电脑,等待GRUB菜单,如果GRUB菜单隐藏,可以按Esc调出,如果设置了GRUB密码,按p来解锁,比如我们选择了 Ubuntu, kernel 2.6.12-8-386,按e在启动前编辑启动参数,选择kernel /boot/vmlinuz-2.6.12-8-386 root=/dev/hda2 ro quiet splash,按e编辑选定的启动菜单项,在参数最后添加rw init=/bin/bash,即改为如下命令行:
  grub edit& kernel /boot/vmlinuz-2.6.12-8-386 root=/dev/hda2 ro quiet splash rw init=/bin/bash
  按b启动即可。
  3、忘记了root用户/主用户密码
  按照第一项:在不登录情况下,获得root权限后,在命令行输入:
  passwd root      按照提示,输入两次密码就可以设定root用户密码了.
  要更改主用户密码:
  passwd system_main_username
  按照提示,输入两次密码就可以了。
  4、忘记了GRUB菜单密码
  在命令行输入
  grub   等提示符变为grub& 后,输入:   md5crypt   这是计算密码的md5值,也就是加密值,然后在提示Password:后,输入新密码:   Password: ****** (ubuntu)   系统会计算出加密值:   Encrypted: $1$ZWnke0$1fzDBVjUcT1Mpdd4u/T961   按quit退出
  然后备份并编辑文件menu.lst: sudo cp /boot/grub/menu.lst /boot/grub/menu.lst_backup sudo gedit /boot/grub/menu.lst
  password --md5 $1$gLhU0/$aW78kHK1QfV3P2b2znUoe/
  替换为
  password --md5 $1$ZWnke0$1fzDBVjUcT1Mpdd4u/T961 (这是我们上面计算出的加密值)
  保存文件即可。
  5、在安装Windows后恢复GRUB启动菜单
  经常出现的情况是,我们想重装一下windows系统,但是重装会把启动Linux的菜单冲掉,这是个让人头疼的问题,我们这样来解决它:   首先按照第一项,用Ubuntu安装盘获得root权限,我们假定 /dev/hda 为 /boot 所在分区,然后在提示符输入:
# grub-install /dev/hda
  这样grub-install程序会为我们安装grub菜单。
  6、在Windows中读取Linux分区(ext2, ext3)   我们用软件Ext2fs可以在Windows中读取Linux分区,软件官方首页:http://www.fs- driver.org/index.html,下载地址是:http://www.fs- driver.org/download/Ext2IFS_1_10b.exe
  7、 开机时,某些服务启动太慢
  比如Configuring network interfaces...和Synchronizing clock to ntp.ubuntulinux.org...可能要长时间才能启动,对于这些服务,我们可以用Ctrl+C在启动时暂时跳过一些服务的启动
  也可以运行服务设置:系统-&系统管理-&服务,清除勾选“时钟同步服务(ntpdate)”等服务,然后 确定。
  8、把系统时间从UTC (GMT)改回来
  如果你装linux系统时,设置启用UTC (GMT),那么每当重启到了我的 windws 分区,系统时间总是和本地时间有 N 小时的误差。在 Ubuntu 下我这样解决这个问题呢。
  编辑文件 /etc/default/rcS ,在命令行输入: sudo cp /etc/default/rcS /etc/default/rcS_backup sudo gedit /etc/default/rcS
  UTC=yes
  替换为
  UTC=no
  保存文件,在系统-&系统管理-&日期和时间中,设置为正确的日期和时间,在命令行输入下面的命令重启时间:
  sudo /etc/init.d/hwclock.sh restart
  9、给Flash配置声音
  如果你播放Flash是没有声音,在命令行输入这个命令:
  sudo ln -fs /usr/lib/libesd.so.0 /usr/lib/libesd.so.1
  10、强制清空回收站
  如果你点了清空回收站,但还是有垃圾的话,你可以运行这个命令:
  sudo rm -fr $HOME/.Trash/
  Ubuntu Linux的回收站就是一个隐藏文件夹,在主目录的.Trash/下,rm -fr命令的意思是强制、递归的删除。
  11、清除GNOME菜单中的重复项如果菜单中出现重复项,不能像windows里一样,直接删去,我们要启动Applications Menu Editor:应用程序-&系统工具-& Applications Menu Editor,逐个删除重复项即可。 转载自:作者是个牛人啊。。。
向文件尾加入内容有多种方法,常见的方法有两种:
RandomAccessFile类可以实现随机访问文件的功能,可以以读写方式打开文件夹的输出流
public void seek(long pos)可以将读写指针移到文件尾,参数Pos表示从文件开头以字节为单位测量的偏移位置,在该位置文件指针。
public void write(int pos)将数据写到读写指针后面,完成文件的追加。参数pos表示要写入的Byte
通过FileWrite打开文件输出流,构造FileWrite时指定写入模式,是一个布尔量,为真时表示写入的内容添加到已有文件的内容的后面,为假时表示重新写文件,以前的记录被清空,默认的值为假。
具体的例子可以参看以下的代码:
import java.io.BufferedRimport java.io.Fimport java.io.FileRimport java.io.FileWimport java.io.IOEimport java.io.RandomAccessF
public class CharactersDemo_03 {&// 使用RandomAccessFile实现文件的追加,其中:fileName表示文件名;content表示要追加的内容&public static void appendMethod_one(String fileName, String content) {&&try {&&&// 按读写方式创建一个随机访问文件流&&&RandomAccessFile raf = new RandomAccessFile(fileName, "rw");&&&long fileLength = raf.length();// 获取文件的长度即字节数&&&// 将写文件指针移到文件尾。&&&raf.seek(fileLength);&&&// 按字节的形式将内容写到随机访问文件流中&&&raf.writeBytes(content);&&&// 关闭流&&&raf.close();&&} catch (IOException e) {&&&e.printStackTrace();&&}&}&// 使用FileWriter实现文件的追加,其中:fileName表示文件名;content表示要追加的内容&public static void appendMethod_two(String fileName, String content) {&&try {&&&// 创建一个FileWriter对象,其中boolean型参数则表示是否以追加形式写文件&&&FileWriter fw = new FileWriter(fileName, true);&&&// 追加内容&&&fw.write(content);&&&// 关闭文件输出流&&&fw.close();&&} catch (IOException e) {&&&e.printStackTrace();&&}&}&public static void showFileContent(String fileName) {&&File file = new File(fileName);&&BufferedReader reader =&&try {&&&System.out.println("以行为单位读取文件内容,一次读一整行:");&&&reader = new BufferedReader(new FileReader(file));&&&String tempString =&&&int line = 1;&&&// 一次读入一行,直到读入null为文件结束&&&while ((tempString = reader.readLine()) != null) {&&&&// 显示行号&&&&System.out.println(line + ": " + tempString);&&&&line++;&&&}&&&reader.close();&&} catch (IOException e) {&&&e.printStackTrace();&&} finally {&&&if (reader != null) {&&&&try {&&&&&reader.close();&&&&} catch (IOException e1) {&&&&}&&&}&&}&}&public static void main(String[] args) {&&String fileName = "C:/temp/append.txt";&&String content = "Successful operation!";&&System.out.println(fileName + "文件的内容如下:");&&CharactersDemo_03.showFileContent(fileName); // 显示文件内容&&// 按RandomAccessFile的形式追加文件&&System.out.println("\n按RandomAccessFile的形式追加文件后的内容如下:");&&CharactersDemo_03.appendMethod_one(fileName, content);&&CharactersDemo_03.appendMethod_one(fileName, "\n Game is Over! \n");&&CharactersDemo_03.showFileContent(fileName); // 显示文件内容&&// 按FileWriter的形式追加文件&&System.out.println("\n按FileWriter的形式追加文件后的内容如下:");&&CharactersDemo_03.appendMethod_two(fileName, content);&&CharactersDemo_03.appendMethod_two(fileName, "\n Game is Over! \n");&&CharactersDemo_03.showFileContent(fileName); // 显示文件内容&}}转载:
1.关于终端的快捷键: Tab:tab键是比较常用的一个快捷键,它的作用是补全文件名或者路径。举例 来说,输入” /ho”在按一下tab键,终端里就会显示”cd /home”了。如果您的文件夹下,有两个名字开头部分相同的文件,比如有”picture001.bmp”和”picture002.bmp”两个文 件,输入” pic”以后按下tab键,就会补全成”rm picture”,您可以接着输入剩下的名字。使用tab键补全还支持对于扩展名的识别,比如您的文件夹下有”TH2AD_CHS.e文件和 TH2AD_CHS.ini文件,当您输入”wine TH”再按下tab后,会补全成”wine TH2AD_CHS.exe”而不会补全.ini文件,因为wine和.exe文件是关联的。 Cl+C:这个键可不是用来复制的,在中端下,按下Ctrl+C就代表结速当前终端执行的程序,按下的时候一定要慎重。 Ctrl+A:将光标移动到行的开始处。 Ctrl+E:将光标移动到命行令的结尾处。 Ctrl+U:删除行首到光标出的字符。 Ctrl+Z:把当前进程送到后台处理。 Ctrl+Alt+F1:切换到第一个文本终端。在Linux下你可以有多达六个不同的终端。 Ctrl+Alt+F7:切换到第一个图形用户界面(一般来说X-window在第七个终端)。 ~:~好像不能算一个快捷键吧?~的作用是代替您的主文件夹,比如您的用户名是user,那么 “/home/user/桌面” 和 “~/桌面” 是等价的。 CTRL+INSERT :复制 SHIFT+INSERT:粘贴
2.Gnome下的快捷键: Alt + F1:类似Windows下的Win键,在GNOME中打开”应用程序”菜单(Appliions)(在KDE下同样适用。) Alt + F2:类似Windows下的Win + R组合键,在GNOME中运行应用程序 Ctrl + Alt + D:类似Windows下的Win + D组合键,显示桌面。 Ctrl + Alt + L:锁定桌面并启动屏幕保护程序,取消锁定时需要输入密码。(在KDE下有效。) Alt + Tab:同Windows下的Alt + Tab组合键,在不同程序窗口间切换。 PrintScreen:全屏抓图,由于这个功能的反应有点慢,请不要反复按这个键,否则可能会死机。 Alt + PrintScreen:当前窗口抓图,弹出抓图对话框。(在KDE下会将图片报存到剪贴板中。) Ctrl + Alt + → / ←:在不同工作台间切换。(在KDE下使用 Ctrl+Tab 键完成这个功能。) Ctrl + Alt + Shift + → / ←:移动当前窗口到不同工作台 Ctrl+Alt+Shift+Fn:终端N或模拟终端N(n和N为数字1-6) Ctrl+Alt+F7:返回桌面,如果您用 Ctrl+Alt+F1 Alt + F4:关闭窗口 Alt + F5:取消最大化窗口 (恢复窗口原来的大小) Alt + F7:移动窗口 (注: 在窗口最大化的状态下无效) Alt + F8:改变窗口大小 (注: 在窗口最大化的状态下无效) Alt + F9:最小化窗口 Alt + F10:最大化窗口 Alt + Space:打开窗口的控制菜单 (点击窗口左上角图标出现的菜单) 单击鼠标滚轮:当您选中一段文字后,按下鼠标滚轮键,可以将选中的文字复制到鼠标所指的位置,在中端中也有效。(KDE中未测试。) Atl+单击鼠标拖动:移动窗口的位置。(在KDE和Compiz中同样有效。) 3.Firefox的快捷键: Alt+左方向键 或 Backspace:后退。Shift+Backspace 或 Alt+右方向键:前进。Alt+Home:首页。(这里指的是用户自定义的首页)Ctrl+O:打开文件。F5 或 Ctrl+R:重新载入。Ctrl+F5 或 Ctrl+Shift+R:重新载入 (忽略缓存)。Esc:停止。 End:到页面底部。Home:到页面顶部。F6 :移到下一帧。Shift+F6:移到上一帧。Ctrl+U:页面源代码。Ctrl+P:打印。Ctrl+S:页面另存为。Ctrl+”+”:放大文字。Ctrl+”-”:缩小文字。Ctrl+0:恢复文本大小。 Ctrl+F:本页查找。F3:再次查找。‘:输入查找链接。/:输入查找文本。Shift+F3:查找。Ctrl+K 或 Ctrl+E:网页搜索。 Ctrl+W 或 Ctrl+F4:关闭标签。Ctrl+Shift+W 或 Alt+F4:关闭窗口。Ctrl+左方向键 或 Ctrl+上方向键:向左移动标签。Ctrl+右方向键 或 Ctrl+下方向键:向右移动标签。Ctrl+Home:移动标签到开头。Ctrl+End:移动标签到结尾。Ctrl+T:新建标签页。Ctrl+N:新建窗口。Ctrl+Tab 或 Ctrl+PageDown:下一个标签页。Alt+Enter:在新标签页打开网址。Ctrl+Shift+Tab 或 Ctrl+PageUp:前一个标签页。Ctrl+Shift+T:撤销关闭标签页。[1 到 8]: Ctrl+[1 到 8]:选择标签页。Ctrl+9:选择最后标签页。 Ctrl+Shift+D:添加所有为书签。Ctrl+D:添加当前为书签。Ctrl+B 或 Ctrl+I:打开书签。F7:插入浏览。Ctrl+J:下载。Ctrl+H:历史。Ctrl+Shift+Del:清除私有数据。 Ctrl+Enter:补全 .com 地址。Shift+Enter:补全 .net 地址。Ctrl+Shift+Enter:补全 .org 地址。Del:删除选定的自匹配输入。F11:全屏。Alt+D 或 F6 或 Ctrl+L:选择地址条。Alt+上方向键 或 Alt+下方向键 或 F4:选择或管理搜索引擎。 Shift+向上滚动滚轮:前进。Shift+向下滚动滚轮:后退。在标签上按鼠标中键:关闭标签页。Ctrl+滚动滚轮:改变页面比例。在标签页栏双击鼠标:新建标签页。Ctrl+Left-click 或 点击鼠标中键:在后台打开标签页。Shift+Ctrl+Left-click 或 Shift+点击鼠标中键:在前台打开标签页。Shift+Left-click:在新窗口打开。Shift+Reload button:刷新 (覆盖缓存)。Alt+Left-click:保存页面为。Alt+滚轮:逐行滚动。 ##################################### Ubuntu操作基本快捷键 * 打开主菜单 = Alt + F1 * 运行 = Alt + F2 * 显示桌面 = Ctrl + Alt + d * 最小化当前窗口 = Alt + F9 * 最大化当前窗口 = Alt + F10 * 关闭当前窗口 = Alt + F4 * 截取全屏 = Print Screen * 截取窗口 = Alt + Print Screen 默认特殊快捷键 * 展示所有窗口程序 = F10 * 展示当前窗口最上层程序 = F11 * 展示当前窗口所有程序 = F12 * 切换窗口 = Alt + Tab * 旋转3D桌面 = Ctrl + Alt + 左/右箭头(也可以把鼠标放在标题栏或桌面使用滚轮切换) * 旋转3D桌面( 活动窗口跟随) = Ctrl + Shift + Alt + 左/右箭头 * 手动旋转3D桌面 = Ctrl + Alt + 左键单击并拖拽桌面空白处 * 窗口透明/不透明 = possible with the “trans” utility or Alt + 滚轮 * 放大一次 = 超级键 + 右击 * 手动放大 = 超级键 + 滚轮向上 * 手动缩小 = 超级键 + 滚轮向下 * 移动窗口 = Alt + 左键单击 * 移动窗口时贴住边框 = 左键开始拖动后再 Ctrl + Alt * 调整窗口大小 = Alt + 中击 * Bring up the window below the top window = Alt + mdle-click * 动态效果减速 = Shift + F10 * 水纹 = 按住 Ctrl+超级键 * 雨点 = Shift-F9 * 桌面展开= Ctrl + Alt + 下箭头,然后按住 Ctrl + Alt 和左/右箭头选择桌面 Alt + Shift+ Up Arrow - 以很酷的方式显示当前窗口 Nautilus 11. Shift+Ctrl+N - 新建文件夹, 很有用 12. Alt + Enter - 查看选择文件/文件夹的属性,代替单击右键选择属性 13. Ctrl + 1/2 - 改变文件夹视图查看方式,图标视图/列表视图 14. Ctrl + W - 关闭当前Nautilus窗口 15. Ctrl + Shift + W - 关闭所有Nautilus窗口 16. Ctrl+T - 在Nautilus中新建一个标签 17. Alt + Up/Down Arrow - 移动到父文件夹/选择的文件夹 18. Alt + Left/Right Arrow - 后退/前进 19. Alt + Home -直接移动到主文件夹 20. F9 - 开关显示Nautilus侧边栏 21. Ctrl + H -开关显示隐藏文件夹 程序中常用的快捷键: Ctrl+N 新建 Ctrl+X 剪切 Ctrl+C 复制 Ctrl+V 粘贴 Ctrl+Z 撤销 Ctrl+S 保存 Ubuntu Gnome的桌面技巧: ===键盘类=== 1.先同时按住 Alt + Ctrl 键,再按键盘上的左 右光标 键 可以切换工作区 2.web时按 "/" 键 等于 查找功能,桌面或者目录时按" /" 等于"打开.." 3.当前目录下快速文件(夹)定位, 直接输入文件(夹)名字 4.shift键 可以对scim的中英输入快速切换,windows下的智能ABC一样 5.alt+左右可以前进后退页面 6.屏幕锁定: Alt+Ctrl+L 等价于Windows中的Win键 + L, ctrl+alt+d 相当于Windows中的Win键 +D ——换句话说,Alt+Ctrl相当于Win键—— 7.Ctrl+Alt+Shift+左右方向键,可以把当前窗口移到上一个或下一个桌面 8.Alt+Tab向左切换窗口,Alt+Shift+Tab向友切换窗口 ===鼠标类=== 1.直接拖拉在最大化时的窗口标题可以还原窗口大小,再拖放回去就最大化 2.在音量控制处用鼠标滚轮滚动可以直接调整音量,在任务栏中滚动滚轮可以切换任务栏,工作区则切换工作区 3.浏览网页的时候直接把图片落到保存目录既可下载 4.按鼠标滚轮即张贴, 同时按下鼠标 左右键等价于按鼠标中键 --&引伸到,在web上选中文字,直接双键(中键)可以张贴选中的文字 5.工作区里的小窗口可以在不同工作区内拖拉,即移动到....(工作区)的功能 6.shift + 鼠标滚轮 可以后退页面 7.鼠标中键点标题栏可以隐藏当前窗口 8.按住shift 拖动窗口可以吸附上下边缘的移动 9.直接将 文件管理器 中的文件拖到 GNOME终端 中就可以在终端中得到完整的路径名 10.修改目录图标:可将文件管理器中的图片直接拖到文件夹属性所在的图标上. 11.鼠标中键直接单击 滚动条 的空白处,屏幕即滚动到那处。 12.中键拖动图片到桌面,可选择设为墙纸 其他 22. Ctrl + Alt + L -锁屏 23. Alt + F1 - 打开应用程序菜单 24. Alt + F2 - 打开运行应用程序对话框 25. Win + 鼠标滚轮 - 放大/缩小屏幕
先来是GNOME下的快捷键,其实的kde和Xfce我用得比较少通用快捷键 Alt + F1 类似Windows下的Win键,在GNOME中打开"应用程序"菜单(Applications) Alt + F2 类似Windows下的Win + R组合键,在GNOME中运行应用程序 Ctrl + Alt + D 类似Windows下的Win + D组合键,显示桌面 ! Ctrl + Alt + L 锁定桌面并启动屏幕保护程序 Alt + Tab 同Windows下的Alt + Tab组合键,在不同程序窗口间切换 PrintScreen 全屏抓图 Alt + PrintScreen 当前窗口抓图 Ctrl + Alt + → / ← 在不同工作台间切换 Ctrl + Alt + Shift + → / ← 移动当前窗口到不同工作台 Ctrl+Alt+Shift+Fn 终端N或模拟终端N(n和N为数字1-6) Ctrl+Alt+F7 返回桌面 Ctrl+Alt+Shift+F8 未知(终端或模拟终端) 窗口操作快捷键 Alt + F4 关闭窗口 Alt + F5 取消最大化窗口 (恢复窗口原来的大小) Alt + F7 移动窗口 (注: 在窗口最大化的状态下无效) Alt + F8 改变窗口大小 (注: 在窗口最大化的状态下无效) Alt + F9 最小化窗口 Alt + F10 最大化窗口 Alt + Space 打开窗口的控制菜单 (点击窗口左上角图标出现的菜单) 应用程序中的常用快捷键 (注: 并不适用于所有程序) 基本和win没什么区别 Ctrl+N 新建窗口 Ctrl+X 剪切 Ctrl+C 复制 Ctrl+V 粘贴 Ctrl+Z 撤销上一步操作 Ctrl+Shift+Z 重做刚撤销的一步操作 Ctrl+S 保存 文件浏览器(部分) Ctrl+H 显示隐藏文件(切换键) Ctrl+T 新建标签 Ctrl+W 关闭标签 Ctrl+Page Up 上一个标签 Ctrl+Page Down 下一个标签 Alt+N 切换到第N个标签(N为数字) 在Ubuntu中自定义快捷键 访问“System&Preferees&Keyboard Shorts”,选定想要设置的项目,然后键入快捷键即可生效。 还有一些终端输命令时常用到的快捷键 tab=补全 ctrl+a=开始位置 ctrl+e=最后位置 ctrl+k=删除此处至末尾所有内容 ctrl+u=删除此处至开始所有内容 ctrl+d=删除当前字母 ctrl+w=删除此处到左边的单词 ctrl+y=粘贴由ctrl+u,ctrl+d,ctrl+w删除的单词 ctrl+r=正在测试,还没弄明白,呵呵。 ctrl+l=相当于 ctrl+b=向回移动 ctrl+f=向前移动 ctrl+p=向上显示缓存命令 ctrl+n=向下显示缓存命令 ctrl+d=关闭终端 shift+上或下=终端上下滚动 shift+pgup或pgdown=终端上下翻页滚动 ctrl+shift+f=全屏(仅限于konsole) ctrl+shift+n=新终端(terminal和konsole有所不同) ctrl+c=终止
1. Win+E - 显示所有桌面,方便的左右选择。2. Alt+Ctrl+Left/Right Arrow -切换桌面3. Alt+Ctrl+Shift+Left/Right Arrow - 移动当前窗口到其他桌面4. Alt + Shift+ Up Arrow - 以很酷的方式显示当前窗口5. Alt+F9/F10 - 最小化/最大化当前窗口6. Alt+F5 -不最大化当前窗口7. Alt+F7 - 激活当前窗口的移动选项,你可以使用方向键移动当前窗口,甚至移动到其他桌面。8. Alt+F8 - 用方向键调整当前窗口大小9. Ctrl + Alt + D - 显示桌面/恢复当前窗口10. Alt+ Tab - 切换窗口Nautilus11. Shift+Ctrl+N - 新建文件夹, 很有用12. Alt + Enter - 查看选择文件/文件夹的属性,代替单击右键选择属性13. Ctrl + 1/2 - 改变文件夹视图查看方式,图标视图/列表视图14. Ctrl + W - 关闭当前Nautilus窗口15. Ctrl + Shift + W - 关闭所有Nautilus窗口16. Ctrl+T - 在Nautilus中新建一个标签17. Alt + Up/Down Arrow - 移动到父文件夹/选择的文件夹18. Alt + Left/Right Arrow - 后退/前进19. Alt + Home -直接移动到主文件夹20. F9 - 开关显示Nautilus侧边栏21. Ctrl + H -开关显示隐藏文件夹其他22. Ctrl + Alt + L -锁屏23. Alt + F1 - 打开应用程序菜单24. Alt + F2 - 打开运行应用程序对话框25. Win + 鼠标滚轮 - 放大/缩小屏幕转自:/linuxpeixun/10203.html
首先简介一下在安装tpc_w时我们需要安装的软件&jdk,tomcat,ant,jdbc,servlet,mysql,tpc_w下面是具体的安装步骤&一、安装jdk&下载jdk-7u5-linux-i586.tar.gz&下载地址:/otn-pub/java/jdk/7/jdk-7-linux-i586.tar.gz&安装jdk&解压刚才下载的jdk-7u5-linux-i586.tar.gz&然后在配置环境变量,命令如下:&sudo gedit /etc/profile& 在文件后面添加如下环境变量:&export JAVA_HOME=/jdk/jdk1.7.0&export JRE_HOME=${JAVA_HOME}/jre&export CATALINA_HOME=/tomcat/tomcat-7.0.30&export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATH&export PATH=${JAVA_HOME}/bin:$PATH保存,关闭profile文件,然后时当前配置生效,使用命令如下:&source /etc/profile &然后再使用命令查看是否安装成功,命令如下:&& java -version&会打印如下信息:&java version "1.7.0_05"&Java(TM) SE Runtime Environment (build 1.7.0_05-b05)&Java HotSpot(TM) Client VM (build 23.1-b03, mixed mode)说明已经安装成功了。二、安装tomcat& 首先下载apache-tomcat-7.0.30.tar.gz& 然后解压上面的文件,&配置环境变量  $ cd programs/tomcat7/bin&&&&&&&&& #进入tomcat安装目录下的bin目录  $ sudo gedit ./catalina.sh&&&&&&& #在打开的文本编辑器中加入编辑catalina.sh文件,在cygwin=falsedarwin=falseos400=false前面加入一下语句  JAVA_HOME=/home/newbie/jdk7&&&&& #/home/newbie/jdk7 为jdk的安装路径  JAVA_OPTS="-server -Xms512m -Xmx1024m -XX:PermSize=600M -XX:MaxPermSize=600m -Dcom.sun.management.jmxremote"&&&&&& #这句也可以没有  保存退出  在tomcat7/bin目录下  $ sudo ./startup.sh 若显示Using CATALINA_BASE:&& /tpc_w_all/tomcat7.0.30/apache-tomcat-7.0.30Using CATALINA_HOME:&& /tpc_w_all/tomcat7.0.30/apache-tomcat-7.0.30Using CATALINA_TMPDIR: /tpc_w_all/tomcat7.0.30/apache-tomcat-7.0.30/tempUsing JRE_HOME:&&&&&&& /tpc_w_all/jdk1.7/jdk1.7.0_05Using CLASSPATH:&&&&&& /tpc_w_all/tomcat7.0.30/apache-tomcat-7.0.30/bin/bootstrap.jar:/tpc_w_all/tomcat7.0.30/apache-tomcat-7.0.30/bin/tomcat-juli.jar 浏览器 输入 http://localhost:8080/ 可见缺省页面。配置成功。三、 ant安装& 1. 运行:&&& sudo apt-get install ant&2. 查看成够安装否root@ub-virtual-machine:~# ant -version&&&&&&&&&&&& #查看ant版本Apache Ant(TM) version 1.8.2 compiled on August 19 2011 root@ub-virtual-machine:~# ant&&&&&&&&&&&&&& #使用antBuildfile: build.xml does not exist!Build failed若出现以上信息信息,则代表成够安装。四、jdbc和server安装& 首先我们要下载mysql-connector-java-5.1.22.tar.gz& 然后解压给文件,然后在解压目录下找到mysql-connector-java-5.1.22-bin.jar& servlet-api.jar在我们安装tomcat的路径下lib目录下即可找到& 然后将该这两个jar包添加到我们的环境变量中,这里我们同样使用& sudo gedit /etc/profile& 在profile文件中的CLASSPATH环境变量中添加mysql-connector-java-5.1.22-bin.jar所在路径信息,在我本机中为:export CLASSPATH=.:${CATALINA_HOME}/lib/servlet-api.jar:${CATALINA_HOME}/webapps/tpcw/WEB-INF/lib/mysql-connector-java-5.1.22-bin.jar:${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATH五、mysql的安装下载地址:/downloads/mysql/1、添加用户组#& groupadd mysql2、添加用户#& useradd -r -g mysql mysql3、切换目录#& cd /usr/local4、解压(mysql-5.5.22-linux2.6-i686.tar.gz已经复制到/usr/local下)#& tar zxvf mysql-5.5.22-linux2.6-i686.tar.gz5、创建软链接#& ln -s mysql-5.5.22-linux2.6-i686 mysql6、删除压缩包(可操作)#& rm mysql-5.5.22-linux2.6-i686.tar.gz7、进入mysql目录#& cd mysql8、改变用户权限和组权限#& chown -R mysql .#& chgrp -R mysql .9、初始化数据库&1& 保证在/etc/目录下面没有my.cnf、mysql文件夹,如果有请删除&2& 安装libaio1.so 执行sudo apt-get install libaio1 安装了则跳过#& scripts/mysql_install_db --user=mysql初始化成功则出现如下提示:Installing MySQL system tables...OKFilling help tables...OKTo start mysqld at boot time you have to copysupport-files/mysql.server to the right place for your systemPLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !To do so, start the server, then issue the following commands:./bin/mysqladmin -u root password 'root'./bin/mysqladmin -u root -h VWmare password 'new-password'Alternatively you can run:./bin/mysql_secure_installationwhich will also give you the option of removing the testdatabases and anonymous user created by default.& This isstrongly recommended for production servers.See the manual for more instructions.You can start the MySQL daemon with:cd . ; ./bin/mysqld_safe &You can test the MySQL daemon with mysql-test-run.plcd ./mysql- perl mysql-test-run.plPlease report any problems with the ./bin/mysqlbug script!10、修改权限#& chown -R root .#& chown -R mysql data11、复制配置文件#& cp support-files/f /f#& cp support-files/mysql.server /etc/init.d/mysql.server12、启动数据库#& bin/mysqld_safe --user=mysql &13、查看是否有3306端口启动#& netstat -nat14、设置密码#& ./bin/mysqladmin -u root password 'new-password'或者#& ./bin/mysql_secure_installation15、使用mysql#& cd bin &#& ./mysql -u root -p16、设置开机自动启动#& cd /etc/init.d/sudo update-rc.d mysql.server defaults17、设置默认编码为UTF8登录MySQL,执行编码显示:show variables like 'character%';QUOTE:+--------------------------+----------------------------+| Variable_name | Value |+--------------------------+----------------------------+| character_set_client | latin1 || character_set_connection | latin1 || character_set_database | latin1 || character_set_filesystem | binary || character_set_results | latin1 || character_set_server | latin1 || character_set_system | utf8 || character_sets_dir | /usr/share/mysql/charsets/ |+--------------------------+----------------------------+sudo vi /etc/f找到[client] 添加:default-character-set=utf8找到[mysqld] 添加:character_set_server = utf8init_connect='SET NAMES utf8'修改好后,重新启动mysql 即可.sudo/etc/init.d/mysql.server restart若启动异常则把[mysqld]处修改为default-character-set=utf8init_connect='SET NAMES utf8'查询一下show variables like 'character%';QUOTE:+--------------------------+----------------------------+| Variable_name | Value |+--------------------------+----------------------------+| character_set_client | utf8 || character_set_connection | utf8 || character_set_database | utf8 || character_set_filesystem | binary || character_set_results | utf8 || character_set_server | utf8 || character_set_system | utf8 || character_sets_dir | /usr/share/mysql/charsets/ |+--------------------------+----------------------------+六、tpcw_w安装&& 首先下载tpcw-java-dist-1.0.zip,下载网址:http://mitglied.multimania.de/jankiefer/tpcw/index.html&& 然后将该文件进行解压&& 然后修改其中的main.properties、tpcw.properties 文件下面时我的main.properties文件的内容(最后的dbName制定数据库名,在数据库里新建一个数据库名是用tpcw的数据库)############################################################################### main.properties for build.xml.# Copyright 2003 by Jan Kiefer.## This file is distributed "as is". It comes with no warranty and the # author takes no responsibility for the consequences of its use.## Usage, distribution and modification is allowed to everyone, as long # as reference to the author(s) is given and this license note is included.###############################################################################&!-- Path to servlet.jar, change this ... --&cpServ=/tomcat/tomcat-7.0.30/lib/servlet-api.jar#&!-- Path to the JDBC driver for your DBMS, change this ... --&cpJDBC=/tomcat/tomcat-7.0.30/webapps/tpcw/WEB-INF/lib/mysql-connector-java-5.1.22-bin.jar#&!-- Directory where tpcw.war will be put with task 'inst' --&webappDir=/tomcat/tomcat-7.0.30/webapps/tpcw#&!-- Path to the Perl interpreter. --&perlPath=/usr/bin/perl#&!-- Directory where the Images will be put with task genimg. --&imagesDir=${webappDir}/Images#&!-- Filter file for SQL queries, change this if needed --&sqlFilter=sql-mckoi.properties#dbName=stddbName=tpcw&以及我的tpcw.properties:############################################################################### tpcw.properties for build.xml.# Copyright 2003 by Jan Kiefer.## This file is distributed "as is". It comes with no warranty and the # author takes no responsibility for the consequences of its use.## Usage, distribution and modification is allowed to everyone, as long # as reference to the author(s) is given and this license note is included.############################################################################### set the JDBC parametersjdbc.driver=com.mysql.jdbc.Driver#jdbc.driver=com.mckoi.JDBCDriverjdbc.path=jdbc:mysql://localhost:3306/tpcw?user=root&password=ajdbc.connPoolMax=100sql.bigCharType=varchar(500)#sql.bigCharType=tinyblob# set the values you want for tpcwnum.item=1000num.eb=10# use the right session string for your servlet container#sessionIdString=$sessionid$sessionIdString=jsessionid=standardUrl=http://localhost:8080#servletUrlPath=/servletservletUrlPath=/tpcwUrlPath=/tpcw& 在解压后的tpc-w路径下将TPCW_Database.std.java文件改名为TPCW_Database.tpcw.java&修改函数名&/home/liova/download/tpcw/tpc-w/src/rbe/util/Debug.java中&public class Debug {& public static void assert(boolean assertCond, String message)&把assert改成你自己想要的名字,我是改成assert1。&接着以下三个文件中所有出现的Debug.assert中的assert都改成你自己修改函数名,我这里改完是Debug.assert1&/home/liova/download/tpcw/tpc-w/src/rbe/EB.java&/home/liova/download/tpcw/tpc-w/src/rbe/util/CharSetStrPattern.java&/home/liova/download/tpcw/tpc-w/src/rbe/util/Histogram.java&修改代码:tpc-w\tpcw\servlets\TPCW_Database.java&&& Class.forName(driverName); 改为:Class.forName(driverName).newInstance();//Class.forName(driverName); &&&&&&&&&&& &&& ant(1)执行命令&& ant dist&&&&&&& (这条命令用来编译servlets以及rbe java文件)&& ant inst&&&&&&& (这命令执行后,将把tpcw.war包移动到tomcat的tpcw目录下) &(2)创建数据库中的表及记录,执行&& ant gendb&&&&&&& (这命令将调用TPCW_populate.class)(3)创建图像&& ant genimg&&&& (这命令将用make编译图像生成工具,用perl去运行图像生成脚本,复制静态图像到tomcat主目录)然后在主目录下新建一个tpcw目录和文件&新建如下路径& \tpcw\Images&&&&&&&& #将ant genimg生成的图片复制到该路径 & \tpcw\WEB-INF& \tpcw\WEB-INF\classes&& #将ant dist生成的servlet的字节文件拷贝到该路径下,就是src\serverts下的.class文件& \tpcw\WEB-INF\lib&&&&& #将mysql-connector-java-5.1.22-bin.jar放到该路径(环境变量中如果有就不需要了)& \tpcw\WEB-INF\web.xml&& web.xml文件如下:&?xml version="1.0" encoding="ISO-8859-1"?&&web-app xmlns="/xml/ns/j2ee"&&& xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"&&& xsi:schemaLocation="/xml/ns/j2ee /xml/ns/j2ee/web-app_2_4.xsd"&&& version="2.4"&& &display-name&TPC-W&/display-name&& &description&&&& TPC-W Java Implementation& &/description&& &servlet&&&& &servlet-name&TPCW_home_interaction&/servlet-name&&&& &servlet-class&TPCW_home_interaction&/servlet-class&& &/servlet&& &servlet&&&& &servlet-name&TPCW_shopping_cart_interaction&/servlet-name&&&& &servlet-class&TPCW_shopping_cart_interaction&/servlet-class&& &/servlet&& &servlet&&&& &servlet-name&TPCW_order_inquiry_servlet&/servlet-name&&&& &servlet-class&TPCW_order_inquiry_servlet&/servlet-class&& &/servlet&& &servlet&&&& &servlet-name&TPCW_order_display_servlet&/servlet-name&&&& &servlet-class&TPCW_order_display_servlet&/servlet-class&& &/servlet&& &servlet&&&& &servlet-name&TPCW_search_request_servlet&/servlet-name&&&& &servlet-class&TPCW_search_request_servlet&/servlet-class&& &/servlet&& &servlet&&&& &servlet-name&TPCW_execute_search&/servlet-name&&&& &servlet-class&TPCW_execute_search&/servlet-class&& &/servlet&& &servlet&&&& &servlet-name&TPCW_new_products_servlet&/servlet-name&&&& &servlet-class&TPCW_new_products_servlet&/servlet-class&& &/servlet&& &servlet&&&& &servlet-name&TPCW_best_sellers_servlet&/servlet-name&&&& &servlet-class&TPCW_best_sellers_servlet&/servlet-class&& &/servlet&& &servlet&&&& &servlet-name&TPCW_product_detail_servlet&/servlet-name&&&& &servlet-class&TPCW_product_detail_servlet&/servlet-class&& &/servlet&& &servlet&&&& &servlet-name&TPCW_customer_registration_servlet&/servlet-name&&&& &servlet-class&TPCW_customer_registration_servlet&/servlet-class&& &/servlet&& &servlet&&&& &servlet-name&TPCW_buy_request_servlet&/servlet-name&&&& &servlet-class&TPCW_buy_request_servlet&/servlet-class&& &/servlet&& &servlet&&&& &servlet-name&TPCW_buy_confirm_servlet&/servlet-name&&&& &servlet-class&TPCW_buy_confirm_servlet&/servlet-class&& &/servlet&& &servlet&&&& &servlet-name&TPCW_admin_request_servlet&/servlet-name&&&& &servlet-class&TPCW_admin_request_servlet&/servlet-class&& &/servlet&& &servlet&&&& &servlet-name&TPCW_admin_response_servlet&/servlet-name&&&& &servlet-class&TPCW_admin_response_servlet&/servlet-class&& &/servlet&& &servlet-mapping&&&& &servlet-name&TPCW_home_interaction&/servlet-name&&&& &url-pattern&/TPCW_home_interaction&/url-pattern&& &/servlet-mapping&& &servlet-mapping&&&& &servlet-name&TPCW_shopping_cart_interaction&/servlet-name&&&& &url-pattern&/TPCW_shopping_cart_interaction&/url-pattern&& &/servlet-mapping&& &servlet-mapping&&&& &servlet-name&TPCW_order_inquiry_servlet&/servlet-name&&&& &url-pattern&/TPCW_order_inquiry_servlet&/url-pattern&& &/servlet-mapping&& &servlet-mapping&&&& &servlet-name&TPCW_order_display_servlet&/servlet-name&&&& &url-pattern&/TPCW_order_display_servlet&/url-pattern&& &/servlet-mapping&& &servlet-mapping&&&& &servlet-name&TPCW_search_request_servlet&/servlet-name&&&& &url-pattern&/TPCW_search_request_servlet&/url-pattern&& &/servlet-mapping&& &servlet-mapping&&&& &servlet-name&TPCW_execute_search&/servlet-name&&&& &url-pattern&/TPCW_execute_search&/url-pattern&& &/servlet-mapping&& &servlet-mapping&&&& &servlet-name&TPCW_new_products_servlet&/servlet-name&&&& &url-pattern&/TPCW_new_products_servlet&/url-pattern&& &/servlet-mapping&& &servlet-mapping&&&& &servlet-name&TPCW_best_sellers_servlet&/servlet-name&&&& &url-pattern&/TPCW_best_sellers_servlet&/url-pattern&& &/servlet-mapping&& &servlet-mapping&&&& &servlet-name&TPCW_product_detail_servlet&/servlet-name&&&& &url-pattern&/TPCW_product_detail_servlet&/url-pattern&& &/servlet-mapping&& &servlet-mapping&&&& &servlet-name&TPCW_customer_registration_servlet&/servlet-name&&&& &url-pattern&/TPCW_customer_registration_servlet&/url-pattern&& &/servlet-mapping&& &servlet-mapping&&&& &servlet-name&TPCW_buy_request_servlet&/servlet-name&&&& &url-pattern&/TPCW_buy_request_servlet&/url-pattern&& &/servlet-mapping&& &servlet-mapping&&&& &servlet-name&TPCW_buy_confirm_servlet&/servlet-name&&&& &url-pattern&/TPCW_buy_confirm_servlet&/url-pattern&& &/servlet-mapping&& &servlet-mapping&&&& &servlet-name&TPCW_admin_request_servlet&/servlet-name&&&& &url-pattern&/TPCW_admin_request_servlet&/url-pattern&& &/servlet-mapping&& &servlet-mapping&&&& &servlet-name&TPCW_admin_response_servlet&/servlet-name&&&& &url-pattern&/TPCW_admin_response_servlet&/url-pattern&& &/servlet-mapping&& &welcome-file-list&&&& &welcome-file&index.html&/welcome-file&& &/welcome-file-list&&/web-app&然后在tomcat的安装路径下 conf/Catalina/localhost/& 目录下新建tpcw.xml文件,文件内容如下:&?xml version="1.0" encoding="UTF-8"?&&Context path="/tpcw" docBase="/tpcw" reloadable="true"/&做到这里就安装好了,可以运行了。可以访问http://127.0.0.1:8080/tpcw/TPCW_home_interaction页面测试是否安装成功。运行TPC-W& 1.cd /home/liova/download/tpcw/tpc-w/dist/& 2.java rbe.RBE -EB rbe.EBTPCW1Factory 30 -OUT run1.m -RU 100 -MI 1000 -RD 100 -WWW http://localhost:8080/tpcw/ -CUST 10000 -ITEM 10000& 命令的解释可参考/home/liova/download/tpcw/tpc-w/docs/use.html以及/home/liova/download/tpcw/tpc-w/dist& /doc/readme-rbe.txt& 输出的结果在/home/liova/download/tpcw/tpc-w/dist/下的run1.m文件中(名字自己在参数的指定)参考:http://tcloud./wiki/index.php/TPCW_INSTALL http://tcloud./wiki/index.php/Wooo:Building_TPCw /eastson/archive//2543489.html http://www.itpub.net/thread--1.html http://blog.csdn.net/cybercode/article/details/6737415
http://www.blogjava.net/cenwenchu/archive//211712.html/art/884.htm两篇好文章,作者很牛啊。。。
默认情况下,如果系统只有一个版本的ubuntu,grub菜单是不显示的。最近由于显示驱动方面的问题,有时候因为花屏导致无法进入系统,一次使用U盘进入,一次是ssh远程进入,为了避免类似尴尬的局面,打算显示grub菜单。步骤如下:首先备份/etc/default/grub文件打开/etc/default/grub文件,找到GRUB_HIDDEN_TIMEOUT=0这行,使用#注释掉,变成#GRUB_HIDDEN_TIMEOUT=0找到GRUB_TIMEOUT=10把10变成3,意思是等待3秒钟。GRUB_TIMEOUT=3保存后,执行命令sudo update-grub现在启动的时候就会显示grub菜单了,如果3秒内不选择,则会自动进入系统。转自:http://blog.chinaunix.net/uid--id-3212263.html
linux3.0内核已经支持xen了,所以不用再编译内核了(对于那些内核支持的系统都不用重新编译内核)。
第一步:安装需要的软件包
安装编译 Xen 和 Linux xen kernel 所需要的软件包: $ sudo apt-get install gcc g++ make patch libssl-dev bzip2 gettext \ zlib1g-dev python libncurses5-dev libjpeg62-dev libx11-dev \ libgcrypt11-dev pkg-config bridge-utils bcc bin86 libpci-dev \ libsdl-dev python-dev texinfo libc6-dev uuid-dev bison flex fakeroot \ build-essential crash kexec-tools makedumpfile
libncurses5 \ libncurses5-dev iasl gawk
第二步:安装xen vmm 32位和64位系统的区别也很重要。64位按下面步骤很简单,32位就不同,因为xen需要开启pae,默认是没有开启的,所以32位ubuntu首先得执行下面这个命令: sudo apt-get install linux-image-server
sudo apt-get install xen-hypervisor-4.1-amd64 xen-utils-4.1 xenwatch xen-tools xen-utils-common xenstore-utils 这里xen-hypervisor-4.1要分32位、64位,64位系统用xen-hypervisor-4.1-amd64,32位用xen-hypervisor-4.1-i386.
第三步:安装libvirt和Virtual Manager
sudo apt-get install virtinst python-libvirt virt-viewer virt-manager
第四步:重启机器,选择有xen的内核启动,进入系统之后,再检查一下 Xen 是否已经成功安装: $ sudo xm list Name
Time(s) Domain-0
出现上面的信息,则代表安装成功。
第五步:修改配置文件
sudo gedit
/etc/xen/xend-config.sxp 将/etc/xen/xend-config.sxp文件中的“#(xend-unix-server no)”注释去掉 即把“#”去掉,并把“no”改成“yes”,保存即可。 然后重启xend服务
sudo gedit ~/.bashrc ,在打开的.bashrc文件中添加下面这句话 export VIRSH_DEFAULT_CONNECT_URI="xen:///"
第六步:打开Virtual Manage时,但是创建时因为相关资源路径问题可能会报以下错误
******/usr/lib/xen/bin/qemu-dm:****路径中xen应该是xen-4.1,解决办法如下 mkdir /usr/lib/xen -pcp /usr/lib/xen-4.1/* -r /usr/lib/xen/ 6.2
****** libvirtError: POST操作失败: xend_post:来自 xen 守护进程的错误:****查看日志 /var/log/xen/xend.log 和 /var/log/xen/qemu-dm-demo.log日志显示/usr/share/qemu/keymaps/en-us could not be found, the keymaps ***路径中qemu应该是qemu-linaro,解决办法如下 cp -r /usr/share/qemu-linaro/ /usr/share/qemu 这样创建过程基本没有问题了.
第七步:通过libvirt查看xen的版本信息,确认libvirt和xen都已经安装成功
# virsh version
Compiled against library: libvir 0.9.8 Using library: libvir 0.9.8 Using API: Xen
0.9.8 Running hypervisor: Xen 4.1
共9页:&&2&&&&&&&&
2015年11月
2526272829303112345678910111213141516171819202122232425262728293012345
阅读排行榜
评论排行榜

我要回帖

更多关于 hm1std参数 的文章

 

随机推荐