MysqlLimit出现误差?

在一段更新数据库的代码中,居然出现了虚假的更新动作。

数据库用的是MySql,测试环境是局域网,4核机器,Mysql无事务机制,无存储过程;PHP5.2.x。

 

这段代码需要更新超过300条记录。

每次更新完自己后,需要调用JobManage::synchroJobStatus做同步,同步过程中有一次数据库操作。

 

 < php
$ibegin=0;
while (true) {
$sql = "SELECT JI_ID FROM tb_job_info WHERE JI_CompanyID={$companyID} LIMIT {$ibegin},100";
$jobList = DB::sql($sql, DBName_company);

 if (empty($jobList)) {
	break;
 }

foreach ($jobList as $job){
	$data = array(
		'JS_IsAdminChecked'   => $status,
		'JS_AdminCheckedRemark' => $remark,
		'JS_AdminCheckedTime' => time(),
	);

$where = array('JS_JobID' => $job["JI_ID"]);
$statusInfo = DB::getRow('tb_job_status', $where, DBName_company,'JS_JobID');
if(empty($statusInfo)){
	$iRnt = $this->addJobStatus($job['JI_ID'],$status,$remark);
	if($iRnt<0){
		return 0;
	}
}
$iRtn += DB::edit('tb_job_status', $data, $where, DBName_company);
$statusInfo = array_merge($statusInfo,$data);

$data = array(
	'LC_Type' => $isAdminCheck,
	'LC_AdminID'=>$checkAdminID,
	'LC_CheckStatus' => $status,
	'LC_HitWords'  => $remark,
	'LC_UpdateTime' => time()
);
$where = array('LC_CompanyID' => $companyID,'LC_JobID' =>$job["JI_ID"]);
$exist = DB::getRow('tb_log_checkjob',$where,DBName_company,'LC_CompanyID');
if(!empty($exist)){
	DB::edit('tb_log_checkjob',$data,$where,DBName_company);
}else{
	$data = array_merge($data,$where,array('LC_AddTime' => time()));
	$result = DB::add('tb_log_checkjob',$data,DBName_company);
}

JobManage::synchroJobStatus($statusInfo);
}

 $ibegin+=100;

 }
 >

更新的语句关键是这条:DB::edit(‘tb_job_status’, $data, $where, DBName_company);

 上面的问题是:

1.查询数据库,一轮300多条记录中,有100多条记录的该语句没有生效。
2.这条语句每次都返回了更新成功。

3.数据能够完整的读取,没有遗漏。

 

经过修改:

 < php
//$ibegin=0;
//while (true) {
$sql = "SELECT JI_ID FROM tb_job_info WHERE JI_CompanyID={$companyID}";// LIMIT {$ibegin},100";
$jobList = DB::sql($sql, DBName_company);

 //if (empty($jobList)) {
//	break;
 //}

foreach ($jobList as $job){
	$data = array(
		'JS_IsAdminChecked'   => $status,
		'JS_AdminCheckedRemark' => $remark,
		'JS_AdminCheckedTime' => time(),
	);

$where = array('JS_JobID' => $job["JI_ID"]);
$statusInfo = DB::getRow('tb_job_status', $where, DBName_company,'JS_JobID');
if(empty($statusInfo)){
	$iRnt = $this->addJobStatus($job['JI_ID'],$status,$remark);
	if($iRnt<0){
		return 0;
	}
}
$iRtn += DB::edit('tb_job_status', $data, $where, DBName_company);
$statusInfo = array_merge($statusInfo,$data);

$data = array(
	'LC_Type' => $isAdminCheck,
	'LC_AdminID'=>$checkAdminID,
	'LC_CheckStatus' => $status,
	'LC_HitWords'  => $remark,
	'LC_UpdateTime' => time()
);
$where = array('LC_CompanyID' => $companyID,'LC_JobID' =>$job["JI_ID"]);
$exist = DB::getRow('tb_log_checkjob',$where,DBName_company,'LC_CompanyID');
if(!empty($exist)){
	DB::edit('tb_log_checkjob',$data,$where,DBName_company);
}else{
	$data = array_merge($data,$where,array('LC_AddTime' => time()));
	$result = DB::add('tb_log_checkjob',$data,DBName_company);
}

JobManage::synchroJobStatus($statusInfo);
}

 //$ibegin+=100;

 //}
 >

 

问题不再存在· · 

何种原因,导致这个错误出现呢?

初步断定 Limit 出现了这个误差!

具体如何产生的,还有待分析。

 

linux部署tomcat到管理tomcat常用

相关传输命令:

zip -r myzip.zip  /root/myfolder

unzip myzip

cp -r /root/back  /root/…./ROOT

whereis httpd

weget http://….jdk.bin

ps -aux | grep java 查看进程
kill -9 12345 【-9 强制】

定时任务【数据库备份命令】

安装字体【生成PDF文件使用】
/usr/share/fonts/truetype/simsun/simsun.ttc

=============
java环境变量
生成PDF字体安装
MYSQL备份脚本
MYSQL数据库添加
APACHE代理设置
TOMCAT端口设置
jmagick安装

自动启动TOMCAT vi /etc/rc.d/rc.local

export JDK_HOME=/usr/local/java/jdk1.6.0_13
export JAVA_HOME=/usr/local/java/jdk1.6.0_13
/usr/local/java/tomcat-sinykk/bin/startup.sh

=====================================================================
mysql 操作

查看mysql状态: service mysqld status;

查看所有用户
select user,host,password from mysql.user;

创建用户
GRANT ALL PRIVILEGES ON xiaochun51itsns.* TO xiaochun51itsns@”%”  IDENTIFIED BY “xiaochun51itsns123” ;

mysql> GRANT ALL ON *.* TO admin@’%’ IDENTIFIED BY ‘admin’ WITH GRANT OPTION;     
mysql> flush privileges;

1>这句话的意思 ,允许任何IP地址(上面的 % 就是这个意思)的电脑 用admin帐户  和密码(admin)来访问这个MySQL Server     

2>必须加类似这样的帐户,才可以远程登陆。 root帐户是无法远程登陆的,只可以本地登陆 

mysql> create database uch_blog character set utf8;
mysql> use uch_blog;
mysql> set names utf8;
mysql> source e:/sinykk_db.sql;

==========================================
关机命令:
1、halt 立刻关机
2、poweroff 立刻关机
3、shutdown -h now 立刻关机(root用户使用)
4、shutdown -h 10 10分钟后自动关机
如果是通过shutdown命令设置关机的话,可以用shutdown -c命令取消重启

重启命令:
1、reboot
2、shutdown -r now 立刻重启(root用户使用)
3、shutdown -r 10 过10分钟自动重启(root用户使用)
4、shutdown -r 20:35 在时间为20:35时候重启(root用户使用)
如果是通过shutdown命令设置重启的话,可以用shutdown -c命令取消重启

=============================
cron服务提供crontab命令来设定cron服务的,以下是这个命令的一些参数与说明:

  crontab -u //设定某个用户的cron服务,一般root用户在执行这个命令的时候需要此参数

  crontab -l //列出某个用户cron服务的详细内容

  crontab -r //删除没个用户的cron服务

  crontab -e //编辑某个用户的cron服务

  比如说root查看自己的cron设置:crontab -u root -l

  再例如,root想删除fred的cron设置:crontab -u fred -r

  在编辑cron服务时,编辑的内容有一些格式和约定,输入:crontab -u root -e

========================
安装imagemagick

yum install ImageMagick

convert aa.jpg bb.jpg

================================================

查看IP,VM无线这个可能不能查
ifconfig

查看linux版本

cat /proc/version

用硬件检测程序kuduz探测新硬件:service kudzu start ( or restart)
查看CPU信息:cat /proc/cpuinfo
查看板卡信息:cat /proc/pci
查看PCI信息:lspci (相比cat /proc/pci更直观)
查看内存信息:cat /proc/meminfo
free
查看USB设备:cat /proc/bus/usb/devices
查看键盘和鼠标:cat /proc/bus/input/devices
查看系统硬盘信息和使用情况:fdisk & disk – l & df
查看磁盘分区表及分区结构 fdisk -l
查看硬盘信息 df -lh
查看各设备的中断请求(IRQ):cat /proc/interrupts
查看启动硬件检测信息日志:dmesg more /var/log/dmesg

c#带参数的sql语句写入mysql,

下面是别人解决问题的总结:

问题解决了。总结一下:
1.mysql数据库驱动有两种:mysql-connector-odbc和mysql-connector-net,
前者不支持参数,后者支持,这是我测试的结果;
2.参数变量使用跟SqlServer一样,只需把@变为?,
如,mysql中写为:insert into test values ( id, title, type,now())”;
3.使用mysql-connector-net驱动很简单,到网上下载mysql-connector-net-5.2.3-src,
解压后,把mysql.data.dll添加到项目的bin文件夹即可使用;
4.连接本机mysql数据库方法例子如下—mysql-connector-net:

1)Using Web.config

<connectionstrings>
<add name=”WhateverName” connectionString=”server=localhost;user id=root; password=yourPassword;database=yourDatabase;;charset=utf8;“/>
</connectionstrings>

charset=utf8字符集

2)using statements

using MySql.Data.MySqlClient;

下面附上测试通过的代码:
string connStr = WebConfigurationManager.
ConnectionStrings[“WhateverName”].ConnectionString;
MySqlConnection conn = new MySqlConnection(connStr);
if (conn != null)
conn.Open();
else
return;

string SQL_INSERT_TOPIC = “insert into test values (null, title, type,now())”;
string PARM_TITLE = ” title”;
string PARM_TYPE = ” type”;
MySqlParameter[] parms = new MySqlParameter[]
{
new MySqlParameter(PARM_TITLE,MySqlDbType.VarChar,80),
new MySqlParameter(PARM_TYPE,MySqlDbType.VarChar,1)
};
parms[0].Value = “welcome to beijing”;
parms[1].Value = “C”;

MySqlCommand cmd = new MySqlCommand();
cmd.Connection = conn;
cmd.CommandType = CommandType.Text;
cmd.CommandText = SQL_INSERT_TOPIC;

foreach (MySqlParameter pram in parms)
cmd.Parameters.Add(pram);

cmd.ExecuteNonQuery();
conn.Close();

5.连接本机mysql数据库方法例子如—mysql-connector-odbc

 

转自:

http://dotnetperls.com/Content/OdbcConnection-Example.aspx

MYSQL导入导出.sql文件

一.MYSQL的命令行模式的设置:
桌面->我的电脑->属性->环境变量->新建->
PATH=“;path\mysql\bin;”其中path为MYSQL的安装路径。
二.简单的介绍一下命令行进入MYSQL的方法:
1.C:\>mysql -h hostname -u username -p
按ENTER键,等待然后输入密码。这里hostname为服务器的名称,如localhost,username为MYSQL的用户名,如root。
进入命令行后可以直接操作MYSQL了。
2.简单介绍一下MYSQL命令:
   mysql->CREATE DATABASE dbname;//创建数据库
   mysql->CREATE TABLE tablename;//创建表
   mysql->SHOW DATABASES;//显示数据库信息,有那些可用的数据库。
  mysql->USE dbname;//选择数据库
   mysql->SHOW TABLES;//显示表信息,有那些可用的表
   mysql->DESCRIBE tablename;//显示创建的表的信息
三.从数据库导出数据库文件:
1.将数据库mydb导出到e:\mysql\mydb.sql文件中:
打开开始->运行->输入cmd    进入命令行模式
c:\>mysqldump -h localhost -u root -p mydb >e:\mysql\mydb.sql
然后输入密码,等待一会导出就成功了,可以到目标文件中检查是否成功。
2.将数据库mydb中的mytable导出到e:\mysql\mytable.sql文件中:
c:\>mysqldump -h localhost -u root -p mydb mytable>e:\mysql\mytable.sql
3.将数据库mydb的结构导出到e:\mysql\mydb_stru.sql文件中:
c:\>mysqldump -h localhost -u root -p mydb –add-drop-table >e:\mysql\mydb_stru.sql
四.从外部文件导入数据到数据库中:
从e:\mysql\mydb2.sql中将文件中的SQL语句导入数据库中:
1.从命令行进入mysql,然后用命令CREATE DATABASE mydb2;创建数据库mydb2。
2.退出mysql 可以输入命令exit;或者quit;
3.在CMD中输入下列命令:
c:\>mysql -h localhost -u root -p mydb2 < e:\mysql\mydb2.sql
然后输入密码,就OK了。
五.下面谈一下关于导入文件大小限制问题的解决:
默认情况下:mysql 对导入文件大小有限制的,最大为2M,所以当文件很大时候,直接无法导入,下面就这个问题的解决列举如下:
1.在php.ini中修改相关参数:
影响mysql导入文件大小的参数有三个:
    memory_limit=128M,upload_max_filesize=2M,post_max_size=8M
修改upload_max_filesize=200 M  这里修改满足你需要的大小,
可以同时修改其他两项memory_limit=250M  post_max_size=200M
这样就可以导入200M以下的.sql文件了。

MySQL资源设置

max_connections=500
wait_timeout=10
max_connect_errors = 100

连接最大个数是在第一行中进行管理的。与 Apache 中的 MaxClients 类似,其想法是确保只建立服务允许数目的连接。要确定服务器上目前建立过的最大连接数,请执行

SHOW STATUS LIKE ‘max_used_connections’。

第 2 行告诉 mysqld 终止所有空闲时间超过 10 秒的连接。在 LAMP 应用程序中,连接数据库的时间通常就是 Web 服务器处理请求所花费的时间。有时候,如果负载过重,

连接会挂起,并且会占用连接表空间。如果有多个交互用户或使用了到数据库的持久连接,那么将这个值设低一点并不可取!

最后一行是一个安全的方法。如果一个主机在连接到服务器时有问题,并重试很多次后放弃,那么这个主机就会被锁定,直到 FLUSH HOSTS 之后才能运行。默认情况下,

10 次失败就足以导致锁定了。将这个值修改为 100 会给服务器足够的时间来从问题中恢复。如果重试 100 次都无法建立连接,那么使用再高的值也不会有太多帮助,

可能它根本就无法连接。

转:mysql用户与权限

MYSQL用户与权限

http://www.cublog.cn/u3/118426/showart_2344972.html
 
在MYSQL中,你可以根据自己的需要定制不同的用户。比如,定制来自某些IP地址的用户可以访问,并且给这些
用户设置密码。搭配权限的设置,你还可以进一步限定用户的权限范围,比如说仅仅让一个用户只能访问某一个库,并且只能对这个数据库拥有insert和
select权限。
1.添加一个mysql用户
有两种方式来添加mysql用户:
①使用grant语句
②使用mysql授权表

实上,MYSQL中所有关于用户的信息都保存在名字为mysql的这个库中对应的表当中。使用GRANT语句添加用户,实际上是把你在语句中设定的内容写
入mysql库中对应的表里面。因此,直接操作mysql库中对应的表也可以添加用户。不过推荐大家使用GRANT语句来创建新用户,因为这样更加方便。
使用grant语句添加用户
mysql> GRANT ALL PRIVILEGES ON *.* TO 

‘aaa’@’192.168.0.254’


    -> IDENTIFIED BY ‘123456’ WITH GRANT OPTION;
其中,ALL PRIVILEGES 就是所有权限的意思
      ON 语句指定这些权限应用于哪些库和表。*.*代表的是所有的库的所有表
      TO  确定了这些权限给与哪个用户,这里我们把权限赋予给

‘aaa’@’192.168.0.254’

这个用户,aaa是用户名,@符号后面确定了只允许该用户通过192.168.0.254这个ip地址访问。
      IDENTIFIED BY 语句是设定用户密码,在这里用户密码设定为123456
      WITH GRANT OPTION 的意思是允许aaa这个用户把它拥有的权限再赋予其他用户
2.删除一个用户
DROP USER语句用于删除一个或多个MySQL账户。要使用DROP USER,您必须拥有mysql数据库的全局CREATE USER权限或DELETE权限。
例:
mysql> DROP USER
aaa@192.168.0.254

;
3.mysql用户权限管理
刚才,我们使用了GRANT语句来创建用户。实际上,GRANT语句本身是具有双重用途的。当GRANT语句中指定的用户不存在时,将创建该用户并赋予权限;当GRANT语句中指
定的用户存在时,仅仅赋予该用户指定的权限。
在MYSQL中可以赋予用户很多种权限。通过刚才的例子,大家应该知道:想要赋予一
个用户权利,只要在GRANT语句的后面跟上权限就可以了。在下面的表格中列出了MYSQL
中可以为用户设定的权限和它们的含义:

mysql>grant all on bookshop.* to
aaa@192.168.0.254

;//定义了aaa用户只可以对bookshop有操作的权利
如果只允许aaa用户对bookshop数据库只能查看和添加,其他的什么也不能干,命令如下
mysql>grant select,insert on bookshop.* to
aaa@192.168.0.254

在赋予权限之后,不要忘记执行一下FLUSH PRIVILEGES命令刷新权限缓存,来让你的设置立即生效。
mysql> FLUSH PRIVILEGES;
如果你想对某个用户收回某些权限的话,就要用revoke语句,revoke语句和grant语句类似,例如收回aaa用户的select和insert权限
mysql> revoke select,insert on bookshop.* from
aaa@192.168.0.254

;
4.修改用户密码
修改用户密码的方法有很多种,首先介绍用grant后面跟identified by 语句后面写入新密码,例如:
mysql> grant usage on bookshop.* to
aaa@192.168.0.254

identified by ‘654321’;
//这里我们给了aaa一个usage权限,usage的意思就是没权限,然后这样我们就仅仅更该了aaa的密码,没有覆盖权限。
另一个方法是使用 update user 语句,使用这条语句必须切换到mysql库中,因为这条语句实际上就是更新库中的user表内的数据。例如,同样将aaa密码修改成654321
mysql> use mysql;
Database changed
mysql> update user set password=password(‘654321’) where user=”aaa”;
Query OK, 0 rows affected (0.00 sec)
Rows matched: 1 Changed: 0 Warnings: 0

5.忘记root密码怎么办 
如果某些普通用户忘记了自己的密码的话,应对的方法很简单,给他重新设置一个密码就好了。可是如果你不小心忘记了root用户的密码,那真的是非常的糟糕。因为只有root用户自己才有权利更改root用户密码的权利。那么该怎么办呢?
首先你需要停掉mysql服务:
#service mysqld stop
或者KILL掉mysql进程
#killall -term mysql
接下来使用mysqld_safe这个命令加上—skip-grant-tables来重新启动mysql。
特别需要提醒你的是,这样启动mysql将允许任何人以root用户和空密码访问mysql服务器!因此,如果你不能断开网络连接的话,那么接下来的所有操作,你必须尽可能的快的去完成。
# mysqld_safe –skip-grant-tables &
# mysql
mysql> use msyql;
mysql> update user set password=password( ‘new_pass’) where user=”root”;
mysql> exit
# service mysqld restart

开发网站使用MySQL的GPL协议问题

今天有花了很长时间看GPL协议的问题,终于有眉目了。我关心的不是分发或者卖我的软件该怎么绕开GPL协议,只是想知道我要开发一个网站,数据库用到了GPL的MySQL,那我也要遵守GPL协议,但是我该不该公布我的源代码?该不该开放整个网站的源代码?

网上的讨论很激烈,但是能解决问题的很少,很多是集中在我想用人家GPL的源代码在自己的程序里,或者用GPL的library,等等,其实,要想真的搞懂GPL,最好是乖乖地去看GPL的官方网站,这是我的最终感受。

http://www.gnu.org/licenses/gpl.html

这里有两个误区:

1. GPL与免费

很多人在网上搜索时包括我在内都在用类似的关键词查找“xxx GPL 免费” “XXX GPL free license”。其实GPL强调的是权利,具有GPL授权的软件的权利,“你可以自由使用;你可以获得源代码;你可以修改;你需要公布自己的源代码(在某种条件下)…” 听起来都很美,但是,它没有提到钱的问题,实际上它只关心你的权利和义务(right, not price),才不管你收不收费呢。假如你遵守GPL并且发布软件及源码,你硬要收费,那也行。只要有人肯付钱就行。所以很多GPL软件收费最多的其实是服务,而不是GPL软件本身。

2. 遵守GPL,就要开源 (至少是我的误区)

这里最最最关键的一点就是你有没有分发(distribute),传播(propagate),发布(convey)你的软件?如果没有,就不需要开源。有,就要开源。以我的例子:

我为公司开发网站用到GPL的MySQL,要开源我的网站系统吗?不用。因为我没有分发。作为GPL软件的使用者,我有权利运行使用它,覆盖它(cover),修改它,只要我不传播出去。

以下是我在官方网站上找到的证明:

引用
http://www.gnu.org/licenses/gpl-faq.html

A company is running a modified version of a GPL’ed program on a web site. Does the GPL say they must release their modified sources 

The GPL permits anyone to make a modified version and use it without ever distributing it to others. What this company is doing is a special case of that. Therefore, the company does not have to release the modified sources.

It is essential for people to have the freedom to make modifications and use them privately, without ever publishing those modifications. However, putting the program on a server machine for the public to talk to is hardly “private” use, so it would be legitimate to require release of the source code in that special case. Developers who wish to address this might want to use the GNU Affero GPL for programs designed for network server use.

Is making and using multiple copies within one organization or company “distribution” 

No, in that case the organization is just making the copies for itself. As a consequence, a company or other organization can develop a modified version and install that version through its own facilities, without giving the staff permission to release that modified version to outsiders.

However, when the organization transfers copies to other organizations or individuals,  that is distribution. In particular, providing copies to contractors for use off-site is distribution.

If I only make copies of a GPL-covered program and run them, without distributing or conveying them to others, what does the license require of me 

Nothing. The GPL does not place any conditions on this activity.

JDBC连接常用数据库

1、Oracle8/8i/9i数据库(thin模式)

    Class.forName(“oracle.jdbc.driver.OracleDriver”).newInstance();

    String url=”jdbc:oracle:thin:@localhost:1521:orcl”;

    //orcl为数据库的SID

    String user=”test”;

    String password=”test”;

    Connection conn= DriverManager.getConnection(url,user,password);

    2、DB2数据库

    Class.forName(“com.ibm.db2.jdbc.app.DB2Driver “).newInstance();

    String url=”jdbc:db2://localhost:5000/sample”;

    //sample为你的数据库名

    String user=”admin”;

    String password=””;

    Connection conn= DriverManager.getConnection(url,user,password);

    3、Sql Server7.0/2000数据库

    Class.forName(“com.microsoft.jdbc.sqlserver.SQLServerDriver”).newInstance();

    String url=”jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=mydb”;

    //mydb为数据库

    String user=”sa”;

    String password=””;

    Connection conn= DriverManager.getConnection(url,user,password);

    4、Sybase数据库

    Class.forName(“com.sybase.jdbc.SybDriver”).newInstance();

    String url =” jdbc:sybase:Tds:localhost:5007/myDB”;

    //myDB为你的数据库名

    Properties sysProps = System.getProperties();

    SysProps.put(“user”,”userid”);

    SysProps.put(“password”,”user_password”);

    Connection conn= DriverManager.getConnection(url, SysProps);

    5、Informix数据库

    Class.forName(“com.informix.jdbc.IfxDriver”).newInstance();

    String url =

    “jdbc:informix-sqli://123.45.67.89:1533/myDB:INFORMIXSERVER=myserver;

    user=testuser;password=testpassword”;

    //myDB为数据库名

    Connection conn= DriverManager.getConnection(url);

    6、MySQL数据库

    Class.forName(“org.gjt.mm.mysql.Driver”).newInstance();

    String url =”jdbc:mysql://localhost/myDB user=soft&password=soft1234&useUnicod

    e=true&characterEncoding=8859_1″

    //myDB为数据库名

    Connection conn= DriverManager.getConnection(url);

    7、PostgreSQL数据库

    Class.forName(“org.postgresql.Driver”).newInstance();

    String url =”jdbc:postgresql://localhost/myDB”

    //myDB为数据库名

    String user=”myuser”;

    String password=”mypassword”;

    Connection conn= DriverManager.getConnection(url,user,password);

Linux下配置java、tomcat、mysql环境

1.到sun官网下载jdk:jdk-6u22-linux-i586-rpm.bin  http://java.sun.com http://www.oracle.com/technetwork/java/index.html

安装命令:./jdk-6u22-linux-i586-rpm.bin

#set java_environment

JAVA_HOME=jdk路径

export JAVA_HOME

CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib

export CLASSPATH

PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH:$HOME/bin

export PATH

2.下载tomcat http://tomcat.apache.org/ 解压后既可使用

3.下载mysql http://www.mysql.com/

下载client与servet即可

MySQL-client-5.1.52-1.glibc23.i386.rpm

MySQL-server-5.1.52-1.glibc23.i386.rpm