存档

‘Linux’ 分类的存档

git reflog恢复git reset删除数据

2017年5月11日 没有评论

我经常用git reset来恢复自己的工作区,但是偶尔也会失误把错误的分支的commit记录给删除掉了。今天工作中也有遇到一次,本来要删除测试分支的commit记录,但是在操作时没有注意所在的分支,就把工作分支的内容误删除掉了。那么我们如何恢复这些commit记录哪?

当你 (在一个仓库下) 工作时,Git 会在你每次修改了 HEAD 时悄悄地将改动记录下来。当你提交或修改分支时,reflog 就会更新。因此我们就可以用reflog的记录来恢复我们的工作区。

查看reflog记录


git reflog

你会看到如下的内容:

229e8d31 HEAD@{1}: pull origin xx: Fast-forward
fd54ce35 HEAD@{2}: checkout: moving from xxx to xxxx
66010f88 HEAD@{3}: merge xxxxx8: Merge made by the 'recursive' strategy.
085b2dba HEAD@{4}: reset: moving to HEAD~1
0f0bfb7d HEAD@{5}: checkout: moving from xxxx to xxxxx
73e400ba HEAD@{6}: commit: xxxxxx
5e9d0305 HEAD@{7}: reset: moving to HEAD~1
2ef40139 HEAD@{8}: reset: moving to 2ef40139
5e9d0305 HEAD@{9}: reset: moving to HEAD~1
2ef40139 HEAD@{10}: checkout: moving from sit to xxx
0f0bfb7d HEAD@{11}: merge xxx: Merge made by the 'recursive' strategy.

恢复工作区
我们可以根据commit的SHA来用git reset恢复。

git reset --hard fd54ce35

这时我们被我们误操作的记录就已经被恢复了,可以用git log来查看git提交记录。

分类: git, Linux 标签:

centos7安装redis3.2

2016年9月27日 没有评论

最近在学习laravel框架,打算在虚拟机里面装个redis,使用yum安装时发现提供的版本是2.8。目前最新的版本是3.2,而3.0以后redis提供了cluster,对集群有很好的支持。在google了一番以后也没有找到redis3.2的源,于是就开始编译安装了。

redis官网下载最新版本的redis源码,然后开始编译安装,可以参考源码里面的README。


wget http://download.redis.io/releases/redis-3.2.4.tar.gz

tar -xvf redis-3.2.4.tar.gz

cd redis-3.2.4

cat README.md

make

make install

mkdir /etc/redis

cp utils/redis.conf /etc/redis/

redis-server /etc/redis/redis.conf

这时候用安装基本完成了,但是上面安装基本上按照默认的方式安装,但是有些地方可以自定义。比如redis安装位置,可以使用`make PREFIX=/some/other/directory install`,其中的“/some/other/directory”就是redis安装位置。

为了方面我们管理redis,我们可以写一个redis.service配置文件来方便我们管理redis。

这里我就给一个很简单的service配置文件例子:


[Unit]
Description=redis service file
Wants=network.target

[Service]
Type=forking
ExecStart=/usr/local/bin/redis-server /etc/redis/redis.conf
[Install]
WantedBy=multi-user.target

将上面的配置信息放入/lib/systemd/system/redis.service文件中,然后重新载入配置文件即可。还有一点就是需要修改/etc/redis/redis.conf中,将damonize改为yes,默认为no,即以守护进程的模式启动redis。


systemctl daemon-reload

#开机启动

systemctl enable redis.service

#启动redis

systemctl start redis.service

#关闭redis

systemctl stop redis.service

到此,redis的安装就完成了,可以使用redis-cli链接server了!

分类: Linux 标签:

mysql禁用validate-password插件

2016年8月17日 没有评论

近些版本的mysql做了很大的改动,在5.6.6以后的版本会开启validate-password插件。validate-password插件会对密码进行评估,如果不达标会提示你去进行修改.在生产环境这是非常不错的插件,弱口令就会消失,但是在开发环境就有些烦人了,谁都不想在每次等级都要输入一大串复杂的密码。所以我们可以选择降低validate-password对密码安全性的策略,或者直接就禁用它。

1 禁用validate-password

编辑my.cnf配置文件,在mysqld下面加入“validate-password=OFF”,然后重启mysql即可。

2 降低安全策略级别

首相我们来看一下validate-password相关的参数:

validate-password=ON/OFF/FORCE/FORCE_PLUS_PERMANENT: 决定是否使用该插件(及强制/永久强制使用)。

validate_password_dictionary_file:插件用于验证密码强度的字典文件路径。

validate_password_length:密码最小长度。

validate_password_mixed_case_count:密码至少要包含的小写字母个数和大写字母个数。

validate_password_number_count:密码至少要包含的数字个数。

validate_password_policy:密码强度检查等级,0/LOW、1/MEDIUM、2/STRONG。

validate_password_special_char_count:密码至少要包含的特殊字符数。

其中,关于validate_password_policy-密码强度检查等级:

0/LOW:只检查长度。

1/MEDIUM:检查长度、数字、大小写、特殊字符。

2/STRONG:检查长度、数字、大小写、特殊字符字典文件。

我们可以将安全策略降低为LOW,相信这样虽然还会有长度限制,但是已经足够简单了。

编辑my.cnf文件,在mysqld下面加入:


[mysqld]

validate_password_policy=LOW

然后重启mysql即可!

rencontre bateau

2016年4月14日 没有评论


 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
rencontre augc
www rencontres nc
rencontre sur bethune
rencontre avec un illuminati
prostituées vatican
rencontre palestinienne
langage des sons rencontre du 3eme type
la rencontre de moebius
conjugación del verbo rencontrer
la rencontre avec nausicaa
rencontre foret de rambouillet
rencontres interdisciplinaires autour de l optimisation
meet aude
dating femme croix
centre culturel de rencontre ambronay
rencontres équestres méditerranéennes beaucaire
rencontre femme sexe saint denis
etudiante cherche rencontre sur lille
rencontre a xv du 17 fevrier
prostitute boardwalk orangevale ca
quand matrix rencontre bollywood
rencontres femmes villefranche sur saone
10e rencontres nationales des conseils de développement
batifolage rencontre
rencontre wicca
quand un seducteur rencontre une seductrice
episode ncis rencontre ncis los angeles
les rencontres arles photographie
rencontre sur oyonnax
ma rencontre avec diable
badoo cite de rencontre
rencontre femmes blagnac
rencontre a deux mains
site de rencontre affinité
prostitute diary
rencontres solidaires bourg en bresse
rencontres 08
rencontres guerche bretagne
message internet explorer a rencontre un probleme
rencontre femme val de marne
rencontre femme alger
a la rencontre de philippe cle international
site de rencontre amicale lille
rencontres cernay
sexe aude
sites de rencontres gratuits aux usa
rencontre pouldreuzic
benzema prostitute
rencontres landespublic
annonce swing rencontre
rencontre serieuse mariage
prostitute divine
meilleur site de rencontre tout gratuit
pénalisation des clients de prostituées en suède
rencontres vent d’ouest 2011
belle rencontre love easy rencontres login
sit de rencontre free
pub rencontre adultere
les mots de la rencontre toi
sr social rencontre
club de rencontre jean regniers
27 rencontre de rhumatologie pratique
rencontre lusignan
dejeuner rencontre trois-rivieres
rencontres giono
ecrire est toujours un art plein de rencontres
club sud rencontre
rencontre etang de villepey
rencontre jeune femme madagascar
site de rencontre pour catholiques
rencontre femme notre dame gravenchon
rencontre femmes s ete
rencontres topvisage
prostituée bruxelles sonia
fille africaine rencontre
gagner une rencontre avec cristiano ronaldo
cafe rencontre moto 2012
pons rencontre
rencontre serieuse aube
rencontres grasse
rencontre fete de bayonne
rencontre femme port gentil
lieu rencontre saint quentin
rencontre de pediatrie pratique 2012
dating femmes gers
club rencontre plein air québec
meet saint dizier
guadeloupe rencontre
rencontres besancon gratuit
rencontre quarante ans
rencontres d arles offre d emploi
numero prostituée geneve
rencontre fourgon aménagé
rencontres roots
rencontres extra net-entreprises
rencontre wiesviller
comment dit on prostituée en italien
www rencontre tunisienne com
site maxi rencontre
comment faire des rencontres sur meetic

centos安装EPEL源

2016年4月7日 没有评论

在虚拟机里面使用我的one_shell_install_lnmp脚本安装lnmp环境的时候,发现报错了,提示缺少libmcrypt-devel包。以前我是在centos7下面测试过我的脚本的,是可以通过的,于是我就又检查了一下脚本,里面有安装libmcrypt-devel 这个选项。我又试着单独执行了一下安装libmcrypt-devel包的命令,依然是没有任何反应。刚开始我第一时间没有想到源的问题,类似以往的习惯去google,发现也有同学和我类似,说163源上面没有libmcrypt-devel这个包,于是就有了今天这个文章。当然这篇文章是笔记性质的,如果对你有帮助,十分荣幸,有问题也可以留言。

EPEL是什么

EPEL全名是Extra Packages for Enterprise Linux(epel wiki:https://fedoraproject.org/wiki/EPEL),是一个由特别兴趣小组创建、维护并管理的,针对 红帽企业版 Linux(RHEL)及其衍生发行版(比如 CentOS、Scientific Linux、Oracle Enterprise Linux)的一个高质量附加软件包项目。

其实我也是今天才了解的EPEL,以前虽然使用过它,但是对它没有什么系统了解,上面介绍它的内容也是摘自wiki。

EPEL安装

我写了一个install_epel.sh的shell脚本, 功能就是检测当前系统是否有epel源,如果不存在就安装。


#!/bin/bash

#检查epel源是否安装
yum repolist|egrep "epel" >& /dev/null
if [ $? -ne 0 ];then
epel_file="epel.noarch.rpm"
wget http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm -O $epel_file
rpm -ivh $epel_file
rm -f $epel_file
yum makecache
fi

关于yum或者epel其他介绍,请自行google!

分类: Linux 标签: ,

Systemd配置文件service小解

2015年11月30日 没有评论

最早看到systemd还是在微博上面看到陈浩在回答别人如何解决死掉的进程如何重启的,陈浩说systemd这个“神器”可以轻松解决这个问题。在那之前我对systemd还是一无所知的,所以特意google了一下systemd到底是个神马东西。

网上对systemd的评价毁誉参半,抵制systemd说它不稳定有时候可能crash,或者说脚本从原始Sysvinit移植到systemd会花费运维人员大量的时间(包含systemd的学习时间)之类的,甚至有人拿出来Unix的哲学“ do one thing and do it well”,说systemd做了系统启动等等很多工作,不见得都能把它做好。对于这些种种理由,我觉得没必要一一反击,看看这一篇《浅析 Linux 初始化 init 系统,第 3 部分: Systemd》。当然我觉得对开发和运维人员非常有必要学习systemd的原因是redhat7系列(centos7),debian系列等等linux主要衍生版本在他们的新版本中都在转投systemd怀抱,所以如果你是linux系统的使用者,我觉得学习了解systemd还是非常非常有必要的。

service配置样例

这是一个简单的脚本启动,进程终止以后会自动重启!

[Unit]
Description=a php im push script
Wants=network.target

[Service]
Type=simple
ExecStart=/path/to/your/script
Restart=always

[Install]
WantedBy=multi-user.target

Description是对服务的描述,方便记忆和阅读,一般来说这里可以随心所欲的。
Wants是服务项的启动依赖那些项。
Type是服务的类型,有simple,forking,oneshot,dbus,notify,idle。其中我们常用的类型有simple,forking,oneshot。simple 是默认,这是最简单的服务类型。意思就是说启动的程序就是主体程序,这个程序要是退出那么一切都退出。forking 标准 Unix Daemon 使用的启动方式。启动程序后会调用 fork() 函数,把必要的通信频道都设置好之后父进程退出,留下守护精灵的子进程。oneshot种服务类型就是启动,完成,没进程了。
ExecStart是启动脚本的路径和参数,参数和脚本之间用空格分割。
Restart是配置启动项是否需要重启,有no,on-success,on-failure,on-abnormal,on-watchdog,on-abort,always。这些选项就是他们字面意思,abnormal意思是反常的,看文档里面说除了信号SIGHUP,SIGINT,SIGTERM,SIGPIPE以外其他信号终止的,都是反常的包含code dump,操作超时等。
WantBy指服务在何种情况下面会被启动,例如上面multi-user.target指的是多用户环境。
当然我觉得这几个简单的配置项几乎就可以解决我们日常60%的问题了,其他特殊的需求可以查看文档。
如果你的英文还不错,可以查看下面2个英文手册,service手册unit手册

分类: Linux 标签:

ssh公钥登录centos

2015年4月18日 没有评论

折腾了好久,差不多2个小时,其实很简单的,而且网上的教程也很多,但是大多类似,需要注意的地方很少有人对新手提示。当然也可以归结我对系统还是不熟悉,下面整理一下我艰苦奋斗的结果吧!

测试环境

服务器:CentOS release 6.6 (Final)

客户端:win7

ssh软件:xshell5

ssh服务配置

sshd配置文件,一般位于“ /etc/ssh/sshd_config”,使用编辑器打开

vim /etc/ssh/sshd_config

注意以下配置文件内容:

#是否允许root登录
PermitRootLogin yes

#ssh使用Rsa登录允许
RSAAuthentication yes
#ssh允许公钥登入
PubkeyAuthentication yes
#公钥文件位置
AuthorizedKeysFile .ssh/authorized_keys

#是否允许密码登入,改为no就禁止密码登入
PasswordAuthentication yes

配置完成以后,重启sshd进程。

service sshd restart

至此服务端大致配置完成,接下来我们来用工具生成登陆的公钥吧。

xshell公钥

在xshell简体中文中的“工具->新建用户密钥生成向导”

类型选择rsa,长度1024即可。

然后是下一步下一步了
xshell1

这里的密码出于安全目的最好再设置一个,这样在你的密钥丢失的情况下不会让黑客十分容易的登入服务器。

xshell2

 

这里注意公钥格式可选有3种可选,具体就不介绍了。点击保存为文件,然后完成即可。

然后上传保存的公钥文件(pub格式的文件)到用户主目录的.ssh目录下面,若.ssh目录不存在,请自行新建。

cd ~/.ssh/
cat id_rsa_centos_1024.pub >> authorized_keys
chmod -R 777 ~/.ssh
service sshd restart

最后需要注意是请禁用你的selinux,如果不仅用,可能还是登入不了,我就被它困住了2个小时,一直提示我“用户密钥未在远程主机上注册”.

参考资料:http://codelife.me/blog/2012/09/01/ssh-session-profile-management-in-terminal-of-macos-x/

ubuntu14.10安装vlck

2015年2月13日 没有评论

自从系统更新到14.10以后,一直没有安装上vlc,使用软件中心安装时总是失败,使用apt安装时,提示一个依赖库版本不行,所以就这么一直耽误下来了。今天在搜http live streaming的时候又看到vlc,于是就想给电脑装上。

google了一下,分享一下经验:


#添加ppa

sudo add-apt-repository ppa:videolan/master-daily

sudo apt-get update

sudo apt-get install vlc

vlc是一款非常强力的播放器,enjoy it!

vlc

ubuntu 14.04解决gedit gb2312编码问题

2014年8月4日 没有评论

使用gedit打开gb2312或者gbk编码的文件时,如果文件过大,会导致gedit出现错误退出。这时候,可以通过修改gedit自动检测编码的顺序来解决这个问题。
执行下面的命令:


sudo gsettings set org.gnome.gedit.preferences.encodings auto-detected "['GB18030','UTF-8', 'CURRENT', 'ISO-8859-15', 'UTF-16']"

这条命令,把GB18030放到了gedit检测顺序的第一位,而GB18030编码可以保证GB2312和GBK编码文件的正常打开。

为了大家方面复制粘贴,我把代码内容粘贴到下面:

sudo gsettings set org.gnome.gedit.preferences.encodings auto-detected “[‘GB18030′,’UTF-8’, ‘CURRENT’, ‘ISO-8859-15’, ‘UTF-16’]”

原文地址:http://lxdlife.us/system/ubuntu-gedit.html

分类: Linux 标签: ,

Stardict-Ubuntu下不错的词典工具

2014年5月28日 没有评论

实话实说,一直对ubuntu下面没有找到一款类似有道词典或者金山词典这样的软件而苦恼,毕竟英文水平有点菜,看很多英文资料的时候很吃力,一些得力的工具帮忙可以有效提高阅读的效率!今天在Ubuntu软件中心终于被我找到一款类似的软件,拿来和大家分享一下-Stardict(星际译王)!

安装Stardict

apt-get安装:

sudo apt-get install stardict

软件中心安装:

在软件中心搜索stardict,然后选择安装即可!

安装离线词典

下载地址:

StarDict Dictionaries — 星际译王词库 词典下载,包括中文,日文,韩文词典等

zh_CN 简体中文词典,由上面的地址进入,包括汉英与英汉词典

推荐下载:朗道英汉字典,朗道汉英字典,牛津英汉双解美化版。前两个词典词汇量比较大,牛津的词典包括还包括英文解释。

点击词典后面的 tarball 就可以下载了。

stardict离线词典的保存位置在Ubuntu下面在“/usr/share/stardict/dic”,所以我们需要把下载好的词典解压到这个目录下面就可以在词典管理里面找到了。

现在将这三个词典解压到星际译王的词典目录下,终端输入命令:

tar  -xvf  stardict-oxford-gb-formated-2.4.2.tar.bz2  -C  /usr/share/stardict/dic

tar  -xvf  stardict-langdao-ce-gb-2.4.2.tar.bz2  -C  /usr/share/stardict/dic

#tar  -xvf  stardict-langdao-ec-gb-2.4.2.tar.bz2  -C  /usr/share/stardict/dic

设置星际译王

打开星际译王

d1

2.

进入词典管理,可以看到刚才下好的离线词典

stardict1

选择词典管理,可以调整词典的顺序,也就是翻译时,哪一个词典在前哪一个在后。

QQWry,Man,Dict.cn 这三个可以删掉了

stardict2

3.

进入首选项 -> 取词,可以根据需要将两个选项全部钩选。

选择一个取词按键,我选择了 Ctrl

stardict3

选择首选项 -> 网络词典,可以把网络词典取消了。

d2

其他设置可以根据个人喜好进行选择。

 桌面取词

这时无论是在终端,浏览器或者pdf阅读器里面在选中词以后再按我们设置的取词键(我的设置的是F4,不经常用到)!

终端取词

sd1pdf取词

sd2很不错吧!

参考文章地址:http://hi.baidu.com/sf_chipan/item/41f642579b67ecb08c12ede7