linux-批量替换文件内容,批量执行脚本命令

 

Debian 9 安装备注

Debian 9 默认取消root账户远程访问权限,开启:

Debian 9 默认不支持ifconfig,查看网卡改用ip a,其他命令对照:

Debian 9 默认网卡不再是eth0的规则,改名了。设置静态ip的规则:

Debian 9 默认不支持官方Mysql,首先按照一下官方源:

https://dev.mysql.com/get/mysql-apt-config_0.8.7-1_all.deb

在debian上安装go lang 1.8

 

debian 8 Jessie升级到debian 9 stretch指引

debian 9上个月发布了,代码stretch。

离发布 debian 8 有2年时间,变化很大

下面列一下升级步骤及遇到的坑。

首先更新现有版本,把jessie版本更新到最新:

备份apt源:

使用sed命令更新sources.list文件,把jessie全部替换为stretch:

更新新版本的源,开始升级:

执行完以后就是stretch版本了,重启,搞定。

 

===== 千年坑 ===========

原先是卸载了iptables的,使用ufw很方便,升级完以后iptables又回来了,需要卸掉。

升级后shadowsocks起不来了,原因是升级了openssl的类库,解决:

这个错误是由于 openssl 1.1.0 版本废弃了 EVP_CIPHER_CTX_cleanup 造成的。clowwindy 现在也不继续维护源代码了,所以只能自己修改一下。

在 shadowsocks/crypto/openssl.py 中,查找所有 EVP_CIPHER_CTX_cleanup,改成 EVP_CIPHER_CTX_reset 即可

shadowsocks恢复。

 

2017/08/17更新:如果你提前看完我的这篇文章《Debian 8 升级Debian 9后记:妥善解决MySQL的升级》再升级,下面剩下的内容就不用看了,可以成功避免:|。

 

升级后把mysql替换成mariadb了,然后,就瘫痪了。mariadb 5.x和mysql是同步的代码,文件直接拷过去是可以执行的,但debian9带的是mariadb10.1,和mysql不兼容,而且debian 9自带的mariadb版本和官方的配置文件还有出入。很坑,所以升级前千万要备份mysql的数据。重复解决一天都没解决,mariadb还自带脑残限制,如果data目录在/home下是不可以的,网友说明:

这时我发现,如果直接用mysqld_safemysqld命令,跳过systemctl启动进程,能够让MariaDB正常起来,于是就去检查mariadb.service

发现其中有一行

注释是

而我的datadir=/home/mysql

于是把它改成false,就能够正常启动服务了

 

我的解决方式是把之前的mysql卸载删除干净,mariadb也卸载删除干净,从mysql.com官网安装mysql,文件拷贝过去,重启,成功。

CentOS 7 安装Oracle JDK 1.8

在Oracle收购Sun之后加了一些条款协议,导致以往直接通过url下载失败。
所以在下载时需要做特殊处理,加上同意协议的cookie一起提交:

如果看到

即表示安装成功。

CentOS 7 修改epel扩展源

今天在开发环境安装RabbitMQ时,安装依赖项erlang总是报错,提示依赖包404。源是sohu的,后来改成aliyun的也依旧错误,可能是同步源有问题。在网上找到官方的源,改为官方源:

vi /etc/yum.repos.d/epel.repo
[epel]
name=epel
mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=epel-$releasever&arch=$basearch
enabled=1
gpgcheck=0

添加完成后,清除缓存:

yum clean all && yum update

对于默认源的修改:

wget http://mirrors.163.com/.help/CentOS7-Base-163.repo -O CentOS-Base.repo

可以替换为163的源。

还是debian好。。。

ZooKeeper集群搭建

系统基于Debian 8。

首先安装ZooKeeper:

安装之后的环境:

zookeeper配置文件目录:/etc/zookeeper
zookeeper实际安装目录:/usr/share/zookeeper
zookeeper日志目录:/var/log/zookeeper
默认配置数据目录:/disk2/zookeeper

需要注意默认配置的数据目录是不存在的,所以如果启动,会异常并停止。

默认的配置文件zoo.cfg应该包含以下配置项:

假设要配置一个基本的zookeeper集群,3个节点(只能基数,决定投票出主机)。

第一个节点的配置文件zoo.cfg:

第二个节点的配置文件zoo2.cfg:

第三个节点的配置文件zoo3.cfg:

配置完以后,把不存在的dataDir/dataLogDir都创建了。

找到实际安装目录/usr/share/zookeeper/bin,里面有zkEnv.sh,zkServer.sh,分别复制成3份,修改对应内容,配置文件对应刚才创建的3份*.cfg配置路径。

这样启动zkServer.sh,就启动了。

这时候查看zookeeper的日志,会互相连接,3个节点连接后,会选举出主机。

 

自此zookeeper集群搭建完毕,已正常运行。

dubbox搭建参照:

http://blog.csdn.net/u011282930/article/details/51017820

解决apache添加虚拟主机后,访问ip跑到第一个站点的问题

apache安装完后默认访问ip是一个it’s works的页面。在开启vhost配置文件,并添加虚拟站点后,再用ip访问,会发现跑第一个站点了。

apache网站解释为当一个请求到达的时候,服务器会首先检查它是否使用了一个能和NameVirtualHost相 匹配的IP地址。如果能够匹配, 它就会查找每个与这个IP地址相对应的<VirtualHost>配置段, 并尝试找出一个ServerName或ServerAlias配置项与请求的主机名相同的。 如果找到了,它就会使用这个服务器的配置。 否则,将使用符合这个IP地址的第一个列出的虚拟主机。

解决办法是把当前服务器ip设置成默认站点的serverName,重启apache即可。

Mac&linux下使用ImageMagick来处理图片

ImageMagick是一个处理图片的相关命令工具包,利用ImageMagick可以做的事情:

将当前目录下所有jpg图片全转为png格式:

将当前目录下所有jpg缩放至50%的尺寸:

旋转图片:

把所有图片合成一个pdf文件:

 

a

在debian7.0上安装zeroMQ的php环境

首先安装各种基本工具组件:

安装php插件:

可以看到一行信息,像我的提示是:

Installing shared extensions:     /usr/lib/php5/20100525/

然后在php.ini里增加zmq的扩展:

在最后一行增加:

extension=zmq.so

注意:

如果在非web环境,如shell中调用,还需要在cli的php.ini中添加扩展:

nano /etc/php5/cli/php.ini

对于windows客户端:http://windows.php.net/downloads/pecl/releases/zmq/1.1.2/

 

保存。

重启apache,打开phpinfo查找zmq,会看到有了:

屏幕快照 2014-04-24 下午6.14.46

 

OpenSSL安全漏洞“心脏出血(Heartbleed)”紧急修复方案

今天,OpenSSL爆出“心脏出血”(Heartbleed)漏洞。该漏洞致使使用某些最新OpenSSL版本的Web服务器会存储一些不受内存保护的数据。黑客可以获取这些数据,重建有关用户或密钥的信息,进而监视过去或将来的加密数据。该漏洞已存在2年时间。

存在漏洞的版本为OpenSSL1.0.1[a,b,c,d,e,f],及OpenSSL1.0.2-beta。老版本不受此影响。

检测方法是执行命令:

可看到版本号。

OpenSSL已经发布了最新版本OpenSSL1.0.1g(源码)来修复此漏洞。

各系统已发布紧急补丁来应对此事,对于我所熟悉的Debian系统来说,已经发布安全更新:

DSA-2896-1

Name DSA-2896-1
Description openssl – security update
Source Debian
References CVE-2014-0160
Debian/oldstable not known to be vulnerable.
Debian/stable package openssl is vulnerable.
Debian/testing not known to be vulnerable.
Debian/unstable not known to be vulnerable.

Vulnerable and fixed packages

The table below lists information on source packages.

Source Package Release Version Status
openssl (PTS) wheezy 1.0.1e-2+deb7u4 危险
wheezy (security) 1.0.1e-2+deb7u6 已修补

上面的信息是相对下面的版本发布的:.

Package Type Release Fixed Version Urgency Origin Debian Bugs
openssl source wheezy 1.0.1e-2+deb7u5

旧版本Debian 6.0(squeeze)由于使用OpenSSL 0.9.8版本,不受此漏洞影响;

当前版本Debian 7.0(wheezy)需要更新OpenSSL至1.0.1e-2+deb7u6版本(下载deb | 所有版本);

测试版jessie和当前开发中的不稳定版需要更新OpenSSL至版本1.0.1g-1(1.0.1g版本源代码下载);

对于其他系统,也已发布安全警告及修补办法: