问题记录

centos7使用Python3一直报UnicodeEncodeError

UnicodeEncodeError: ‘ascii’ codec can’t encode characters in position 34-42: ordinal not in range(128)

解决方法:

修改文件/etc/locale.conf,增加如下配置项:
LC_ALL="en_US.UTF-8"
LC_CTYPE="en_US.UTF-8"
LC_ALL和LC_CTYPE具体的值视情况,可以配置为zh_CN.UTF-8,或者 locale -a 命令返回的字符集

在centos7下安装libiconv-1.14.tar.gz时遇到如下错误:

./stdio.h:1010:1: error: 'gets' undeclared here (not in a function)
解决方法如下:

vi  srclib/stdio.h

找到

/* It is very rare that the developer ever has full control of stdin,
so any use of gets warrants an unconditional warning.  Assume it is
always declared, since it is required by C89.  */
_GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");

然后去掉:
_GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");

改成:
#if defined(__GLIBC__) && !defined(__UCLIBC__) && !__GLIBC_PREREQ(2, 16)
_GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
#endif

重新 make && make install, 问题解决。

安装了错误的源

  • 需要移除源 yum remove epel-release
  • 删除缓存 /var/cache/yum/   ...

## Linux 查看OS系统块的大小(默认4096 byte) 2011-04-08

查看os系统块的大小
[root]# /sbin/tune2fs -l /dev/sda1
查看os系统页的大小
[oracle@skate-test ~]$ getconf PAGESIZE
4096
修改块的大小:
   创建文件系统时,可以指定块的大小。如果将来在你的文件系统中是一些比较大的文件的话,
使用较大的块大小将得到较好的性能。将ext2文件系统的块大小调整为4096byte而不是缺省
的1024byte,可以减少文件碎片,加快fsck扫描的速度和文件删除以及读操作的速度。另
外,在ext2的文件系统中,为根目录保留了5%的空间,对一个大的文件系统,除非用作日志
文件,5%的比例有些过多。可以使用命令
mke2fs -b 4096 -m 1 /dev/hda6

将它改为1%并以块大小4096byte创建文件系统。

使用多大的块大小,需要根据你的系统综合考虑,如果系统用作邮件或者新闻服务器,使用较 大的块大小,虽然性能有所提高,但会造成磁盘空间较大的浪费。比如文件系统中的文件平均 大小为2145byte,如果使用4096byte的块大小,平均每一个文件就会浪费1951byte空间。如果 使用1024byte的块大小,平均每一个文件会浪费927byte空间。在性能和磁盘的代价上如何平衡 ,要看具体应用的需要。