解决Win8.1无法识别U盘的问题

先说一下,升级了Typecho 1.0后多了很多垃圾评论,只能升级到最新的10.10版本试试。。。

最近一直在找一个制作Win8.1 USB安装盘的方法,因为用Win7 USB/DVD DOWNLOAD TOOL制作USB启动盘的方法已经无法在Win8.1的安装盘上使用了。(其实很多网站还一直在XX的转这种文章)

试了无数个方法工具,最后被一个软件把U盘的分区给擦了,我以为要跟陪伴了我数年的Sandisk 说拜拜了,后来在win7下试却正常,只是Win8.1无法识别,插上U盘看不到信息也分配不了盘符,手动分配报“找不到系统文件”。我只想爆粗。。。

想想分区被擦之后是用Win8.1 下的磁盘管理做的分区,应该是分区的问题,于是用系统自带的diskpart来为它重新分区,最后系统成功重新识别到U盘。其中有个信息是,原来的分区偏移量是32,而新的分区是1024,分好后可用容量也少了一点点,可能原因就在这里。为啥Windows现在越做兼容性越差,真的是要跟诺鸡鸭看齐的节奏吗。。。

不管怎样,最后还是成功制作出Win8.1 的安装U盘,把经验贴在下面。

  1. 用diskpart格式化U盘。

Windows系统中,右键“以管理员身份运行”命令提示符,在窗口内键入:
C:\Windows\system32>diskpart
DISKPART> list disk
注:将列出硬盘和U盘,需要看清楚,然后选择 U盘
DISKPART> select disk 1
注:如果只有一块硬盘,那么硬盘是disk 0,U盘是disk 1
DISKPART> clean
注:清空U盘的数据
DISKPART> create partition primary
注:创建主分区,必须
DISKPART> select partition 1
注:选择该主分区
DISKPART> active
注:激活分区,否则无法启动
DISKPART> format fs=ntfs quick
注:快速格式化分区为NTFS格式文件系统
DISKPART> assign
注:分配一个盘符
DISKPART> exit
注:退出,即可创建完成。

  1. 制作工具要选用Rufus, 工具的使用很简单,主要是ISO文件选正确就可以,其他的大部分会自动帮你分析做正确的选择。

本文完毕。

升级Typecho

好久没有update了,今晚抽空升级了Typecho。。。
事实说明,在换工作期间架博客是一种错误的决定,囧!

Redhat 6.3 手动安装Gnome桌面环境

安装Redhat的时候没有对包进行选择直接下一步,最后发现没有桌面环境。囧。。。
以下是安装Gnome桌面的流水账。

本地安装光盘安装时最快的。
先mount CDROM。

mkdir /mnt/cdrom
mount /dev/cdrom /mnt/cdrom

将源指向CDROM,在/etc/yum.repos.d/下面创建.repo的源文件,内容如下:

[rhel_6_iso]
name=local iso
baseurl=file:///mnt/cdrom
gpgcheck=1
gpgkey=file:///mnt/cdrom/RPM-GPG-KEY-redhat-release #该处的gpgkey文件应该改成iso镜像中的文件名

开始安装

yum groupinstall "X Window System"
yum groupinstall "Desktop"

如果上面的步骤导入密钥时出错,手动进行导入:

rpm --import /mnt/cdrom/RPM-GPG-KEY-redhat-release

安装成功后,可以输入startx进行桌面环境的一些配置,或者也可以用命令行创建桌面环境用的用户,因为默认root用户是禁止登陆桌面环境的。

另外,如果下次无法自动进入桌面环境,需要修改/etc/inittab中的值为5让系统自动进入图形桌面环境。各个数值的含义:

Default runlevel. The runlevels used are:
0 - halt (Do NOT set initdefault to this)
1 - Single user mode
2 - Multiuser, without NFS (The same as 3, if you do not have networking)
3 - Full multiuser mode
4 - unused
5 - X11
6 - reboot (Do NOT set initdefault to this)

参考:
http://hi.baidu.com/collick/item/576ff96226419d2368105b47
http://www.2cto.com/os/201104/88533.html
http://blog.csdn.net/lincy100/article/details/6803855
http://www.cnblogs.com/chinacloud/archive/2010/11/25/1887588.html
http://www.faultserver.com/q/answers-redhat-yum-install-gpg-key-retrieval-failed-525958.html

src.rpm源码包直接获取源代码

最近为了编译autoconf,终于找到了Redhat的ftp库:
ftp://ftp.redhat.com/pub/redhat/linux/enterprise/6Client/en/os/SRPMS/
上面只有src.rpm包,下载下来rpm -ivh后报错:

Src.rpm错误: group mockbuild does not exist

搜了很多结果都说只是权限问题,但是源码可以在/usr/src下面找到。 #$@%$^&%&^%#$%###&*& 为什么我就是无法找到 >_<
后来发现其实有方法可以直接取到里面的源码地:

[root@rhel6 src]# rpm2cpio autoconf-2.63-5.1.el6.src.rpm | cpio -id
2012 块

[root@rhel6 src]# ls -l
总用量 2024
-rw-r--r-- 1 root root 1033682 5月 19 21:44 autoconf-2.63-5.1.el6.src.rpm
-rw-rw-r-- 1 root root 1016280 5月 19 21:48 autoconf-2.63.tar.lzma
-rw-r--r-- 1 root root 1056 5月 19 21:48 autoconf-erlang_fix.diff
-rw-r--r-- 1 root root 11518 5月 19 21:48 autoconf.spec

这里可以看到有个tar.lzma,里面就是源码了。 ^.^

参考:
http://bbs.csdn.net/topics/360123665
http://www.litvip.com/94/

PHP动态编译挂载模块

最近在一台Redhat机器上修复一个phpldapadmin缺少gettext组件的问题的时候,学到一个动态编译挂载PHP模块的方法。

事情起因是这台服务器由前人装了openLDAP和phpldapadmin后,openLDAP是配置完成了,但是phpldapadmin却因为缺少gettext而无法正常运行。而且系统是老旧的Redhat6.1,不知道去哪里找到完整的包来重新编译PHP,所以在网上发现了这个方便的方法。

这种方式需要先找到两个命令:phpize,php-config。
可以通过locate找到它们。
我这里的路径分别是:
/usr/local/bin/phpize
/usr/local/bin/php-config

接着,例如需要编译gettext模块,cd到php源码里面的ext下的gettext目录,执行phpize命令:

[root@rhel6 gettext]# /usr/local/bin/phpize
Configuring for:
PHP Api Version: 20090626
Zend Module Api No: 20090626
Zend Extension Api No: 220090626

可以看到有一些信息输出,接着开始编译:

[root@rhel6 gettext]# ./configure --with-php-config=/usr/local/bin/php-config

最后修改php.ini的配置文件载入这个模块:

extension="gettext.so"
;extension=php_gmp.dll
;extension=php_intl.dll
;extension=php_imap.dll

去掉前面的分号后,记得把后缀改成.so,这种方式编译出来的后缀都是.so的。
重启服务器后用phpinfo便可以看到gettext已经载入成功。

参考:
http://bguncle.blog.51cto.com/3184079/1329895
http://lihuipeng007.blog.163.com/blog/static/121084388201071830423/