- 创建一个更大的磁盘;
- 将新创建的磁盘添加到虚拟客户机上;
- 将Ghost光盘插入客户机;
- 启动客户机;
- 使用Ghost 将原磁盘克隆至新创建的磁盘;
- 克隆完成后,关机;
- 从客户机上摘去原磁盘;
- 从新启动客户机;
Tuesday, 21 December 2010
如何扩大VirtualBox磁盘容量?
Sunday, 19 December 2010
如何将RHEL5.5的Java升级至1.5?
下载jdk-1_5_0_22-linux-amd64-rpm.bin
[root@localhost ~]# chmod 775 jdk-1_5_0_22-linux-amd64-rpm.bin
[root@localhost ~]# ./jdk-1_5_0_22-linux-amd64-rpm.bin
vi /etc/profile.d/java.sh 加入下述两行:
export JAVA_HOME=/usr/java/jdk1.5.0_22
export PATH=$JAVA_HOME/bin:$PATH
[root@localhost ~]# source /etc/profile.d/java.sh
[root@localhost ~]# alternatives --install /usr/bin/java java /usr/java/jdk1.5.0_22/bin/java 2
运行下述命令,并选择2:
[root@localhost ~]# alternatives --config java
[root@localhost ~]# chmod 775 jdk-1_5_0_22-linux-amd64-rpm.bin
[root@localhost ~]# ./jdk-1_5_0_22-linux-amd64-rpm.bin
vi /etc/profile.d/java.sh 加入下述两行:
export JAVA_HOME=/usr/java/jdk1.5.0_22
export PATH=$JAVA_HOME/bin:$PATH
[root@localhost ~]# source /etc/profile.d/java.sh
[root@localhost ~]# alternatives --install /usr/bin/java java /usr/java/jdk1.5.0_22/bin/java 2
运行下述命令,并选择2:
[root@localhost ~]# alternatives --config java
Friday, 17 December 2010
如何在RHEL5.5上更改PostgreSQL的数据目录?
检查缺省数据目录的属性
# ls -lZ /var/lib/pgsql
drwx------ postgres postgres system_u:object_r:postgresql_db_t data
生成新的数据目录
# mkdir -p /opt/postgresql/data
检查新生成的数据目录属性
# ls -lZ /opt/postgresql/
drwxr-xr-x root root root:object_r:usr_t data
更改新生成数据目录的所有权
# chown -R postgres:postgres /opt/postgresql
修改启动代码中的相关路径
# vi /etc/rc.d/init.d/postgresql
PGDATA=/opt/postgresql/data
PGLOG=/opt/postgresql/data/pgstartup.log
创建新的数据区
# su - postgres -c "initdb -D /opt/postgresql/data"
为新数据区添加SELINUX标签
# semanage fcontext -a -t postgresql_db_t "/opt/postgresql(/.*)?"
检查新添标签是否到位
# grep -i postgresql /etc/selinux/targeted/contexts/files/file_contexts.local
/opt/postgresql(/.*)? system_u:object_r:postgresql_db_t:s0
为新数据区贴标签
# restorecon -R -v /opt/postgresql
验证更改后数据库服务能否启动
# service postgresql start
Starting postgresql service: [ OK ]
将数据库服务设置为自动启动
# chkconfig postgresql on
# chkconfig --list | grep post
postgresql 0:off 1:off 2:on 3:on 4:on 5:on 6:off
# ls -lZ /var/lib/pgsql
drwx------ postgres postgres system_u:object_r:postgresql_db_t data
生成新的数据目录
# mkdir -p /opt/postgresql/data
检查新生成的数据目录属性
# ls -lZ /opt/postgresql/
drwxr-xr-x root root root:object_r:usr_t data
更改新生成数据目录的所有权
# chown -R postgres:postgres /opt/postgresql
修改启动代码中的相关路径
# vi /etc/rc.d/init.d/postgresql
PGDATA=/opt/postgresql/data
PGLOG=/opt/postgresql/data/pgstartup.log
创建新的数据区
# su - postgres -c "initdb -D /opt/postgresql/data"
为新数据区添加SELINUX标签
# semanage fcontext -a -t postgresql_db_t "/opt/postgresql(/.*)?"
检查新添标签是否到位
# grep -i postgresql /etc/selinux/targeted/contexts/files/file_contexts.local
/opt/postgresql(/.*)? system_u:object_r:postgresql_db_t:s0
为新数据区贴标签
# restorecon -R -v /opt/postgresql
验证更改后数据库服务能否启动
# service postgresql start
Starting postgresql service: [ OK ]
将数据库服务设置为自动启动
# chkconfig postgresql on
# chkconfig --list | grep post
postgresql 0:off 1:off 2:on 3:on 4:on 5:on 6:off
Thursday, 16 December 2010
如何让yum使用RHEL5.5光盘安装软件?
插入RHEL5光盘
登录为root
[root@localhost ~]# mkdir dvd
[root@localhost ~]# cd /media/RHEL-5.5\ i386\ DVD/Server/
[root@localhost Server]# rpm -i createrepo-0.4.11-3.el5.noarch.rpm
[root@localhost Server]# cd /root/dvd
[root@localhost dvd]# createrepo -vpo . /media/RHEL-5.5\ i386\ DVD/
[root@localhost dvd]# ln -s /media/RHEL-5.5\ i386\ DVD/Server/ Server
[root@localhost dvd]# vi /etc/yum.repos.d/DVD.repo 并加入下述内容:
name=RHEL5 DVD
baseurl=file:///root/dvd
enabled=1
gpgcheck=0
[root@localhost dvd]# yum update
例如,安装PostgreSQL
[root@localhost ~]# yum install postgresql84 postgresql84-server postgresql84-contrib postgresql84-devel postgresql84-docs postgresql84-test
[root@localhost ~]# chkconfig postgresql on
[root@localhost ~]# service postgresql initdb
[root@localhost ~]# service postgresql start
Update 1: I found this URL is more comprehensive.
Update 2: Here is another way, which is much simpler:
copy the ISO image, e.g. rhel-server-6.5-x86_64-dvd.iso, to the server under /root;
mount -o loop -t iso9660 /root/rhel-server-6.5-x86_64-dvd.iso /mnt/
vi /etc/yum.repos.d/dvd.repo and add following content:
[dvd]
name=DVD
baseurl=file:///mnt/Server
enabled=1
gpgcheck=0
登录为root
[root@localhost ~]# mkdir dvd
[root@localhost ~]# cd /media/RHEL-5.5\ i386\ DVD/Server/
[root@localhost Server]# rpm -i createrepo-0.4.11-3.el5.noarch.rpm
[root@localhost Server]# cd /root/dvd
[root@localhost dvd]# createrepo -vpo . /media/RHEL-5.5\ i386\ DVD/
[root@localhost dvd]# ln -s /media/RHEL-5.5\ i386\ DVD/Server/ Server
[root@localhost dvd]# vi /etc/yum.repos.d/DVD.repo 并加入下述内容:
name=RHEL5 DVD
baseurl=file:///root/dvd
enabled=1
gpgcheck=0
[root@localhost dvd]# yum update
例如,安装PostgreSQL
[root@localhost ~]# yum install postgresql84 postgresql84-server postgresql84-contrib postgresql84-devel postgresql84-docs postgresql84-test
[root@localhost ~]# chkconfig postgresql on
[root@localhost ~]# service postgresql initdb
[root@localhost ~]# service postgresql start
Update 1: I found this URL is more comprehensive.
Update 2: Here is another way, which is much simpler:
copy the ISO image, e.g. rhel-server-6.5-x86_64-dvd.iso, to the server under /root;
mount -o loop -t iso9660 /root/rhel-server-6.5-x86_64-dvd.iso /mnt/
vi /etc/yum.repos.d/dvd.repo and add following content:
[dvd]
name=DVD
baseurl=file:///mnt/Server
enabled=1
gpgcheck=0
Thursday, 9 December 2010
如何为Linux虚拟机设置VirtualBox共享文件夹?
设置共享文件夹Temp后,在Linux虚拟机上运行如下命令:
mount -t vboxsf temp /mnt
即可在/mnt下看到共享文件夹的内容。
mount -t vboxsf temp /mnt
即可在/mnt下看到共享文件夹的内容。
Saturday, 30 October 2010
如何使服务器免受网络攻击?
方法1:限制客户端的连接。例如,只允许指定的客户按指定的协议连接到指定的端口等等。这种方法可以大大减小服务器遭受攻击的可能性。但是,客户端如果是动态地址,身份认证成问题。
方法2:使用网络入侵侦测防止系统(IDS/IPS/NIPS),例如SNORT。并辅之以其他方法,例如关闭不用的服务、采用虚拟的用户等等。
方法2:使用网络入侵侦测防止系统(IDS/IPS/NIPS),例如SNORT。并辅之以其他方法,例如关闭不用的服务、采用虚拟的用户等等。
Thursday, 28 October 2010
如何设定FC6的网址?
将 /etc/sysconfig/network-scripts/ifcfg-eth0 内容改为:
DEVICE=eth0
IPADDR=192.168.1.100
NETMASK=255.255.255.248
BOOTPROTO=static
ONBOOT=yes
DEVICE=eth0
IPADDR=192.168.1.100
NETMASK=255.255.255.248
BOOTPROTO=static
ONBOOT=yes
如何显示Linux命令行历史的时间?
add following into .bashrc
export HISTTIMEFORMAT='%F %T '
Friday, 1 October 2010
如何查看Ingres与Glassfish之间的JDBC对话?
1.创建iijdbc.properties文件,包括如下行:
ingres.jdbc.trace.log=../logs/iijdbc.log
ingres.jdbc.trace.timestamp=true
ingres.jdbc.trace.drv=5
2.将上述文件拷贝到如下目录下:
glassfish\domains\domain1\lib\classes
3.重新启动Glassfish
4.查看glassfish\domains\domain1\logs目录下的iijdbc.log文件
ingres.jdbc.trace.log=../logs/iijdbc.log
ingres.jdbc.trace.timestamp=true
ingres.jdbc.trace.drv=5
2.将上述文件拷贝到如下目录下:
glassfish\domains\domain1\lib\classes
3.重新启动Glassfish
4.查看glassfish\domains\domain1\logs目录下的iijdbc.log文件
Friday, 10 September 2010
如何判断MySQL引擎是否支持Transaction?
简单测试方法:
BEGIN;
UPDATE table1 SET col1='new value' WHERE row_id='row1';
SELECT * FROM table1; -- 行row1列col1的值已经改为'new value'
ROLLBACK;
SELECT * FROM table1; -- 行row1列col1的值应该改为原来的值
MyISAM不支持,InnoDB支持。使用如下命令查看table1使用的引擎类型:
mysql> show create table table1;
BEGIN;
UPDATE table1 SET col1='new value' WHERE row_id='row1';
SELECT * FROM table1; -- 行row1列col1的值已经改为'new value'
ROLLBACK;
SELECT * FROM table1; -- 行row1列col1的值应该改为原来的值
MyISAM不支持,InnoDB支持。使用如下命令查看table1使用的引擎类型:
mysql> show create table table1;
Thursday, 9 September 2010
如何升级MySQL(4.0.15至5.1.50)?
将MySQL4.0.15数据库下载至文件:
mysqldump -p foo > foo1.sql;
删除开头的长注释行:
sed -e '/^----------[\-]*$/d' foo1.sql > foo2.sql
用下述命令将数据库转换为使用INNODB引擎:
echo 'SET AUTOCOMMIT = 0;' > foo.sql
sed -e 's/TYPE=MyISAM/TYPE=INNODB/g' foo2.sql >> foo.sql
echo 'COMMIT;' >> foo.sql
(或者,使用ALTER TABLE t ENGINE = MYISAM;逐个表转换。)
为了保证任何新生成的数据库使用INNODB引擎,在/etc/my.cnf中添加下述参数:
[mysqld]
default-storage-engine=INNODB
为了使旧版本的ODBC能够与新版本的数据库通讯,在 /etc/my.cnf 中添加如下参数:
[mysqld]
old-passwords
此外,还需将有关用户的口令设为旧的格式:
mysql> update user set password=OLD_PASSWORD('pass1') where user='user1';
在MySQL5.1.50生成用户boo并确认数据库foo不存在;
将文件foo.sql上载到MySQL5.1.50:mysql -u boo -p < foo.sql
mysqldump -p foo > foo1.sql;
删除开头的长注释行:
sed -e '/^----------[\-]*$/d' foo1.sql > foo2.sql
用下述命令将数据库转换为使用INNODB引擎:
echo 'SET AUTOCOMMIT = 0;' > foo.sql
sed -e 's/TYPE=MyISAM/TYPE=INNODB/g' foo2.sql >> foo.sql
echo 'COMMIT;' >> foo.sql
(或者,使用ALTER TABLE t ENGINE = MYISAM;逐个表转换。)
为了保证任何新生成的数据库使用INNODB引擎,在/etc/my.cnf中添加下述参数:
[mysqld]
default-storage-engine=INNODB
为了使旧版本的ODBC能够与新版本的数据库通讯,在 /etc/my.cnf 中添加如下参数:
[mysqld]
old-passwords
此外,还需将有关用户的口令设为旧的格式:
mysql> update user set password=OLD_PASSWORD('pass1') where user='user1';
在MySQL5.1.50生成用户boo并确认数据库foo不存在;
将文件foo.sql上载到MySQL5.1.50:mysql -u boo -p < foo.sql
Wednesday, 8 September 2010
如何安装VirtualBox虚拟机?
安装VirtualBox之前,别忘了启用BIOS中的VT-x/AMD-v开关。
生成虚拟机时,不用担心缺省的硬盘尺寸太大,与VMware Server不同VirtualBox是根据实际需要确定硬盘文件大小。所设定的尺寸只是上限。上限设置过小,容量不够会很难改。
生成虚拟机时,不用担心缺省的硬盘尺寸太大,与VMware Server不同VirtualBox是根据实际需要确定硬盘文件大小。所设定的尺寸只是上限。上限设置过小,容量不够会很难改。
如何安装MySQL ODBC 5.1.7驱动程序?
下载并安装
mysql-connector-odbc-5.1.7-win32.msi
下载并安装补丁
ftp.mysql.com/pub/mysql/download/myodbc5S5_1_7with56233patchR926win32.zip
mysql-connector-odbc-5.1.7-win32.msi
下载并安装补丁
ftp.mysql.com/pub/mysql/download/myodbc5S5_1_7with56233patchR926win32.zip
Monday, 6 September 2010
如何在RHEL5上安装VirtualBox?
安装RHEL5时必须注意勾选'Software Development'平台类型,否则安装VirtualBox时,SDL库会找不到。
此外,如果是64位机,务必下载AMD64版本的包,并使用rpm安装,例如:
rpm -i VirtualBox-4.1-4.1.0_73009_rhel5-1.x86_64.rpm
最后,vi /etc/group 将用户加入vboxusers组。
此外,如果是64位机,务必下载AMD64版本的包,并使用rpm安装,例如:
rpm -i VirtualBox-4.1-4.1.0_73009_rhel5-1.x86_64.rpm
最后,vi /etc/group 将用户加入vboxusers组。
Saturday, 4 September 2010
如何让MySQL服务器允许远程连接?
首先,更新mysql.user表,使得root用户登录必须使用口令;其次,删除无名本地用户;最后,添加普通用户并且将其host设为%。
此外,防火墙必须允许端口3306自内向外的新连接。
此外,防火墙必须允许端口3306自内向外的新连接。
Wednesday, 25 August 2010
如何备份MySQL数据库?
Download a database from the source server, use following command:
mysqldump -u user_name -p database_name > backup_file_name
Create the database in the destination server if it does not exist:
create database database_name
Upload the database onto the destination server, user following command:
mysql -u user_name -D database_name -p < backup_file_name
mysqldump -u user_name -p database_name > backup_file_name
Create the database in the destination server if it does not exist:
create database database_name
Upload the database onto the destination server, user following command:
mysql -u user_name -D database_name -p < backup_file_name
Tuesday, 24 August 2010
如何将汉字转换成Unicode?
使用JDK自带的命令行程序native2ascii进行转换。
例如,
1.将需要转换的词汇放在input.txt文件内;
2.运行native2ascii -encoding utf-8 input.txt output.txt
3.文件output.txt中即包含转换后的UTF-8编码
如果需要做逆转换,可运行native2ascii -encoding utf-8 -reverse output.txt input.txt
注意:文本文件的编码建议采用“UTF-8 without BOM”
例如,
1.将需要转换的词汇放在input.txt文件内;
2.运行native2ascii -encoding utf-8 input.txt output.txt
3.文件output.txt中即包含转换后的UTF-8编码
如果需要做逆转换,可运行native2ascii -encoding utf-8 -reverse output.txt input.txt
注意:文本文件的编码建议采用“UTF-8 without BOM”
如何在Glassfish中设置Ingres的JDBC资源?
将 iijdbc.jar 复制到 domain1\lib 目录下;
重启 Glassfish;
创建一个 JDBC connection pool 并填入如下信息:
Name=foo_pool
Resource Type=javax.sql.ConnectionPoolDataSource
Datasource Classname=com.ingres.jdbc.IngresCPDataSource
及下述附加属性:
serverName
portName
databaseName
userName
password
创建一个 JDBC 资源并填入如下信息:
JNDI Name=jdbc/foo
Pool Name=foo_pool
重启 Glassfish;
创建一个 JDBC connection pool 并填入如下信息:
Name=foo_pool
Resource Type=javax.sql.ConnectionPoolDataSource
Datasource Classname=com.ingres.jdbc.IngresCPDataSource
及下述附加属性:
serverName
portName
databaseName
userName
password
创建一个 JDBC 资源并填入如下信息:
JNDI Name=jdbc/foo
Pool Name=foo_pool
攻与防
虽然门是用来通行的,而墙是阻止通行的,精心设防的门要比不设防的墙坚固得多。从战争的角度看,只有傻瓜才会往对手设下的圈套里钻。别忘了,系统通常是在最薄弱点(内部的或外部的)被攻破的。
确定性
对于未来而言,世上只有一件事是确定的,那就是‘今天将成为过去,永不再来’。
成功的基本要素是直奔目标、不顾枝节;否则,到‘万事俱备’时东风已吹过了。
何况做到‘万事俱备’是不可能的。因为,人生的任何决策都面临不确定因素。
不打无准备之仗是对的。但是,准备不可能做到必胜无疑。
成功的基本要素是直奔目标、不顾枝节;否则,到‘万事俱备’时东风已吹过了。
何况做到‘万事俱备’是不可能的。因为,人生的任何决策都面临不确定因素。
不打无准备之仗是对的。但是,准备不可能做到必胜无疑。
Subscribe to:
Comments (Atom)