monaco字体是苹果系统下的字体,非常的好看,是我最喜欢的字体没有之一。现在我们就来在ubuntu下安装这个漂亮的字体
第一步:
             进入github下载这个字体,github地址是https://github.com/cstrap/monaco-font。我们选择download zip的压缩包就可以。
第二步:
             进入本地下载目录,解压刚刚下载的压缩包,进入解压后的文件夹,我们会看到这几个文件
             install-font-archlinux.sh
             install-font-centos.sh
             install-font-gentoo.sh
             install-font-ubuntu.sh
             README.md
             接下来我们打开README.md文件,里面写的很详细,如何安装,ttf文件的下载链接都有
第三步:
             在README.md中有一行这样的命令./install-font-ubuntu.sh http://usystem.googlecode.com/files/MONACO.TTF,但是googlecode已经关闭了,所以我们要在README.md中另外找个下载链接。我用的是https://github.com/todylu/monaco.ttf/blob/master/monaco.ttf?raw=true这个链接。
第四步:
             打开终端进入解压后的目录执行sudo ./install-font-ubuntu.sh https://github.com/todylu/monaco.ttf/blob/master/monaco.ttf?raw=true这个命令,OK安装完成。这样我们就可以把终端和文本编辑器的字体设置成monaco了,你所用的开发工具也一样可以使用这个字体了。完美。



./install-font-ubuntu.sh http://usystem.googlecode.com/files/MONACO.TTF
来自:http://blog.csdn.net/qq_26990831/article/details/51847416
字体下载:http://vdisk.weibo.com/s/IYNWXYSqrtI
Git的克隆,默认是直接拉取整个远程仓库,如果项目比较大,大量和自己无关的内容也会拉到本地,占用很多硬盘空间。

在网上搜了一下,Git在1.7版本后,已经支持只Checkout部分内容,这个功能叫做 sparse checkout(稀疏检出)。
打开 sparse checkout 功能
如果本地还没有建版本库,要用这个功能,先进入要放版本库的目录,在命令行执行几条命令:


实践一下:


实践发现也就只有这一个目录了,添加2个目录到checkout的列表。路径是版本库下的相对路径,也可以用文本编辑器编辑这个文件。
$git pull origin master
From gitlab.jackxiang.com:irdcops/spec
* branch            master     -> FETCH_HEAD
$ls      #也就只Checkout这个目录,要多条就多加几个即可。
centos6

参考来源:https://zhgcao.github.io/2016/05/11/git-sparse-checkout/
http://www.tuicool.com/articles/QjEvQvr
背景:用了SVN的同志老想着把Git当SVN用(如新加了几个文件,就从SVN里找出来,再拷贝到测试环境,这种事情,Git直接以灵活的版本机制想去哪个版本就去哪个版本。),但也提供了查看某个版本到哪个版本修改了哪些文件的一个命令行。
在测试环境想切换到某个版本就直接用命令就能过去了,什么,测试不会用Git.....。
--------------------------------------------------------------------------------------------------------------------------------------------------------------
Git 的每个提交都有一个 SHA1 散列值(Hash 值)作为 ID。我们可以在 checkout 命令中使用这些 ID 作为起点。比如:
git checkout -b name-of-new-branch 169d2dc
这样,Git 的活动分支会切换到 name-of-new-branch 这个分支上,而它的内容与 169d2dc 这个分支一致。
注意:SHA1 的散列值有 40 个字母,相当长。所以 Git 允许我们在不引起歧义的情况下,使用散列值的前几位作为缩写。


一、查看某个提交到某个提交之前的文件名:
git diff --name-status HEAD~2 HEAD~3
git diff hash1 hash1 --stat
如果是branch的话
git diff branch1 branch2 --stat
加上 --stat 是显示文件列表, 否则是文件内容diff
git diff <commit> <commit>
上面的 <commit> 表示提交生成的 hash 串, 例如:
git diff b45ba47d1b297217e3ec6a3ab0f61716a8d6ecbc c244d0bf06d56ec86aaedeefa5dcd84dd9febc60
一般来说,通过 hash 串的前 4~6 位就可以区分,所示可以简写为:
git diff b45b 355e



第二步就是对上面的文件列表,进行按自己修改了哪些文件进行修改Checkout出来可上到测试环境:

二、提交的某个版本给Checkout出来:
大多数时候,我们可能只需要对某一个文件做细小的修补,因此只 checkout 该文件就行了,并不需要操作整个 commit 或分支。
上一节我们介绍了如何将某个历史版本完整地 checkout 到工作区。实际上,我们只需要在上一节的命令之后加上需要 checkout 的文件即可。
git checkout <sha1-of-a-commit> </path/to/your/file>
当然,有时候你需要将某个文件的历史版本 checkout 出来,并以一个新的名字保存。这时候可以这么做:
git checkout <sha1-of-a-commit>:</path/to/your/file> </new/name/of/the/file>
less /root/.bash_history
-----------------------------------------------------------------------------------------------------------------------------------------
vi /etc/profile

export HISTTIMEFORMAT="%F %T `who -u am i 2>/dev/null| awk '{print $NF}'|sed -e 's/[()]//g'` "
sudo su -
-bash: HISTTIMEFORMAT: readonly variable

cd /etc/profile.d/
grep -r "HISTTIMEFORMAT" ./
./hq.sh:        export HISTTIMEFORMAT="%Y.%m.%d-%H:%M:%S "
./hq.sh:        readonly HISTTIMEFORMAT HISTSIZE HISTFILE ORIGNALUSER USERIP IPLIST PROMPT_COMMAND

在这儿原来 vi /etc/profile.d/hq.sh:

#EXPORTS
        export HISTTIMEFORMAT="%Y.%m.%d-%H:%M:%S "
        export HISTSIZE=4096
        export HISTFILE="$histDir/${username}/${userIP}.hist.$DT"
        export ORIGNALUSER=`$ECHO $username`
        export USERIP=`$ECHO $userIP`
        export IPLIST=$(/sbin/ip ad sh |$GREP inet |$GREP -v inet6|awk -F' ' '{print $2}'|awk -F'/' '{print $1}' |
$GREP -v '127.0.0.1'|tr -s "\n" "," |sed "s/|$//g")
        export PROMPT_COMMAND='{ ec=$?; read seq time cmd < <(history 1); [ -z "$time" ] || { '$ECHO' "$time|$IPLI
ST|${ORIGNALUSER},$(whoami)|$(pwd)|$cmd|$ec|$USERIP" >> '$histDir'/`'$DATE' +%Y.%m.%d`_history; '$LOGGER' -t "audi
t.hist" -p 7 "$USERIP|${ORIGNALUSER}|$(whoami)|$(pwd)|$ec|$cmd"; } }'
        readonly HISTTIMEFORMAT HISTSIZE HISTFILE ORIGNALUSER USERIP IPLIST PROMPT_COMMAND


http://awesomeops.blogspot.com/2014/10/there-are-lot-of-possibilities-to-track.html

为何出现readonly的原因:

对于只读变量而言,若用户对其值进行修改,则会立即报错。例如,使用该指令定义一个只读变量"test",并且将其值初始化为"ok",输入如下命令:
readonly test='ok'
那么当用户直接修改该只读变量时,就会被报错,如下所示:
[root@localhost ~]# test='my' #试图修改只读变量的值 -bash: test: readonly variable
当用户试图修改只读变量的值时,会被提示该变量为只读变量。


实践:
readonly test='ok'  
test='my'
-bash: test: 只读变量



Linux查看History记录加时间,这个对于系统管理员还是很有帮助的,原因不解释,你懂得!
ora11g$ history  |  more  
1    rlwrap sqlplus / as sysdba
2    rlwrap sqlplus / as sysdba
3    date
4    rlwrap sqlplus / as sysdba
  但是这里只显示了命令,并没有显示执行命令的时间,因为保存历史命令的~/.bash_history里并没有保存时间。  
通过设置环境变量 export HISTTIMEFORMAT="%F %T `whoami` " 给history加上时间戳  
ora11g$ export HISTTIMEFORMAT="%F %T `whoami` "  
ora11g$ history
1  2014-03-25 21:29:53 oracle rlwrap sqlplus / as sysdba
2  2014-03-25 21:29:59 oracle rlwrap sqlplus / as sysdba  
3 2014-03-25 21:31:23 oracle date
4 2014-03-25 21:31:43oracle rlwrap sqlplus / as sysdba
可以看到,历史命令的时间,用户已经加上了,但是.bash_history里并没有加上这个时间。
其实这个时间记录是保存在当前shell进程内存里的,如果你logout并且重新登录的话会发现你上次登录时执行的那些命令的时间戳都为同一个值,即当时logout时的时间。  

尽管如此,对于加上screen的bash来说,这个时间戳仍然可以长时间有效的,毕竟只要你的server不重启,screen就不会退出,因而这些时间就能长时间保留。
你在root用户下也可以使用echo 'export HISTTIMEFORMAT="%F %T `whoami` "' >> /etc/profile 然后source一下就OK


===
当你从命令行执行 history 命令后,通常只会显示已执行命令的序号和命令本身。如果你想要查看命令历史的时间戳,那么可以执行:


# export HISTTIMEFORMAT='%F %T '
# history | more
1 2008-08-05 19:02:39 service network restart
2 2008-08-05 19:02:39 exit
3 2008-08-05 19:02:39 id
4 2008-08-05 19:02:39 cat /etc/redhat-release

注意:这个功能只能用在当 HISTTIMEFORMAT 这个环境变量被设置之后,之后的那些新执行的 bash 命令才会被打上正确的时间戳。在此之前的所有命令,都将会显示成设置 HISTTIMEFORMAT 变量的时间。

来自:
http://blog.csdn.net/needle2/article/details/7490583
http://blog.itpub.net/27144762/viewspace-1129567/
背景:组网相关的网络知识,网络划分啥的有一个大体的了解,无它。

有一B类网络,其子网掩码为 255.255.240.0,求每个子网的最大主机数
给出求解过程
子网掩码 255.255.240.0
化成二进制得 11111111 11111111 11110000 00000000
子网号里面的1代表网络号 0代表主机号 所以有 12位为0
即最大主机号为 2的12次方
又因为全0和全1的不能分配给主机地址(主机位全为0是网络地址,全为1是广播地址)
所以实际的主机数为 2的12次方减去2
即最大主机数为 4096-2=4094个
子网掩码 255.255.240.0
化成二进制得 11111111 11111111 11110000 00000000
子网号里面的1代表网络号 0代表主机号 所以有 12位为0
即最大主机号为 2的12次方
又因为全0和全1的不能分配给主机地址(主机位全为0是网络地址,全为1是广播地址)
所以实际的主机数为 2的12次方减去2 (减二是指去掉一个网络地址和一个广播地址)
即最大主机数为 4096-2=4094个

来自:https://zhidao.baidu.com/question/43544478.html
图解证明:当地看北极星仰角,就是当地纬度;两者
图解证明:当地看北极星仰角,就是当地纬度;两者互为充分必要条件! 第一种情况:当地在北极点上

第二种情况:当地位于赤道上

http://wapwenku.baidu.com/view/fb2d8e52f46527d3240ce0ec.html?ssid=0&from=844b&uid=0&pu=sz@1320_2001#3
背景:发现df 特别慢,用strace df -h ,发现卡在/mnt/backup,想cd /mnt卡住了,于是,怎么办?发现NFS的Server端都宕机了。
cat /proc/mounts  
umount -lf   /mnt/backup
umount: only root can do that
Root:
umount -lf   /mnt/backup
More: http://justwinit.cn/post/6800/
-------------------------------------------------------------------------------------
这个问题是第二次遇到了。这次一定要记下来,免得日后麻烦!!
问题描述:

有两台服务器,其中一台向另一台通过nfs共享分区,如下:

server A: nfs server
server B: nfs Client

事件发生: Server A,B 因故障同时重启。 重启后,用putty登陆到server A ,运行‘df’命令:
           $ df

     $ Filesystem           1K-blocks      Used Available Use% Mounted on

    /dev/sda5             80632188   8899080  67636940  12% /

    none                   4086484         0   4086484   0% /dev/shm

    /dev/sda2            201582252  32076524 159265900  17% /opt

    /dev/sda3            201582252  44511180 146831244  24% /fs

    /dev/sda7             20161172    332916  18804116   2% /usr/local

    /dev/sda8             20161172     78360  19058672   1% /tmp

           $(没有出现这个命令提示符)  
        
无奈,只好再用putty 登陆Server A ,将 df 进程kill......


只好尝试重新mount

$mount -t nfs B:/data /mnt/data

failed: RPC Error: Program not registered


哦~~~ ,原来B的nfs 服务没有start...  登陆B:
      $serive nfs restart

重新再A上运行df,仍然死掉...

想到先卸载,在挂载:

$umount /mnt/data

device is busy 。



运行fuser -mk /mnt/data 杀掉访问/mnt/data所有进程。

/mnt/data: Stale NFS file handle



在server A 运行 A , ok ~~~

重新mount -t nfs B:/data /mnt/data  打完收工。

来自:http://blog.csdn.net/daniel_cao_/article/details/4584443
背景:jenkins有一个好处是可以对多个项目进行用户登录集成发布,而自己搞就是Git钩子触发写的脚本去rsync部署一下,这样没有配置管理的概念,说实话配置管理对于程序员来讲可能刚开始并不理解,但它的存在也有它的道理,没有用为何还催生了配置管理员了呢?是吧。

git hook 加一个rsync脚本就可以完成了,在500块钱的VPS上面搞jenkins,不如在本地搞?
放本地没时间呐,我就下班在地铁上弄弄,网络的好控制。
http://www.tuicool.com/articles/yyEfu2u

--------2017年干点正事---------
跳梁者(73465XX)  10:20:46
你看看你们这些人
顾问好不容易 不去群里逗你们了 办点正事儿 也不支持
赶紧弄点难得 让顾问多忙会儿
Persi(62832XX)  10:22:09
给swoole加几个功能啊,这个事就够他忙的了


maybe this

$parts = isset($structure->parts) ? $structure->parts : false ;

From:http://stackoverflow.com/questions/10143172/notice-undefined-property-how-do-i-avoid-that-message-in-php/10143274

Postman 不指定

WEB2.0 justwinit 2017-6-27 22:37
此软件模拟POST,GET,PUt的协议很牛逼,是一把梭:
http://download.csdn.net/detail/c15959140478/9728559

官网:https://www.getpostman.com/apps
rpm -ihv python-simplejson-2.0.9-8.el5.x86_64.rpm
warning: waiting for transaction lock on /var/lib/rpm/__db.000

rm -f /var/lib/rpm/__db.*
rpm --rebuilddb
yum clean all


再安装也就好了:
rpm -ihv python-simplejson-2.0.9-8.el5.x86_64.rpm
Preparing...                ########################################### [100%]
   1:python-simplejson      ########################################### [100%]
================================================================
故障现象:
[root@localhost Mysql4.1.14.Rhel3]# rpm -ivh MySQL*
warning: waiting for transaction lock on /var/lib/rpm/__db.000

解决方法:
   因为prm数据库出现损坏导致,可能导致多数rpm软件的升级、安装或者删除都会有问题。
此错误,请以root身份输入以下命令:
rm -f /var/lib/rpm/__db.*
rpm --rebuilddb
yum clean all

来自:http://blog.csdn.net/yunsongice/article/details/5587631
fsck
fsck from util-linux-ng 2.17.2
e2fsck 1.41.12 (17-May-2010)
/dev/sda3: recovering journal
Error reading block 105417495 (Attempt to read block from filesystem resulted in short read).  Ignore error<y>? yes

Force rewrite<y>? yes

fsck.ext4: Bad magic number in super-block while trying to re-open /dev/sda3
e2fsck: io manager magic bad!

============================================
尽管上面没有啥文件,我选了Yes,于是出了问题:
fsck
-bash: /sbin/fsck: Input/output error
-------------------------------------------------
要选No:

尝试执行了一下fsck 直接出现了 修复提示,无任何异常!

如果出现这样的提示,就需要小心:

root@test ~]# fsck
fsck 1.35 (28-Feb-2004)
e2fsck 1.35 (28-Feb-2004)
/dev/sda1 is mounted.

WARNING!!! Running e2fsck on a mounted filesystem may cause
SEVERE filesystem damage.

Do you really want to continue (y/n)? no

check aborted.
[root@test ~]#
一定要选择NO,先拆卸文件系统,否则 对文件系统造成毁灭性的打击。


来自:http://blog.csdn.net/snowfoxmonitor/article/details/19121531
从网上搜索到方法进行解决:
cat /etc/zookeeper/conf/zoo.cfg
找到dataDir=/var/lib/zookeeper
切换到路径/var/lib/zookeeper
cd /var/lib/zookeeper
查看目录下的文件:
ls
存在version-2
删除version-2
mv ./version-2 ./version-2.bak
然后在zookeeper的实例中添加角色主机,启动成功。

看了老外的文章,下面是处理方法:
more /etc/zookeeper/conf.dist/zoo.cfg
找到datadir
[root@slave2 zookeeper]# pwd
/var/lib/zookeeper
[root@slave2 zookeeper]# ls
myid version-2 version-2.bak
清空version-2目录下的所有文件

来自:http://www.linuxdiyf.com/linux/16941.html
安装没有遇到问题,TortoiseGit更新需要卸载时出现的问题,网上说把Exporer给停止掉再重启,发现不行。
再就是有人说那个文件夹C:\Windows\TEMP的权限不对引起,经过一阵折腾,发现的的确是那个问题引起的:
在目录上->右键->属性->安全->组或用户名->TrustedInstaller 权限全给勾上即可。

http://www.win7china.com/html/24965.html
http://www.win7china.com/html/24965.html
方法/步骤
把鼠标放到Win8屏幕的最左下角,等待Win8 Metro界面的缩略图出现后点击鼠标右键,在弹出的菜单中选择“命令提示符(管理员)”
打开的“命令提示符(管理员)”
找到自己将要安装的程序路径,比如:我要安装的这个程序在D盘的Others文件夹下
点击路径那一栏,把路径复制出来,然后再复制程序名称
在“命令提示符(管理员)”中输入 msiexec /package 你将要安装的程序的完整路径及程序名 (注意空格),比如:我是要安装D盘Others文件夹下的msxml
然后按回车键,安装程序就会自动启动,此时,你在安装的过程中就不会碰到2502、2503的错误了
pmap -p pid
背景:突然Mount的磁盘脱落挂载了,是不是有人上去做过安全给搞丢了?想看看都是谁?

last -20



lastlog |less




Linux下查看用户登陆历史记录,可以用root用户下的last命令查看:
1.查看单个用户的操作历史
[root@DB-Server ~]# cat /home/username/.bash_history
#username要查看的用户名
2.使用root登陆可查看用户登陆历史
[root@DB-Server ~]# su root
[root@DB-Server ~]# last -10
root     pts/1        :0.0             Wed Dec 18 09:54   still logged in  
root     pts/4        :0.0             Wed Dec 18 09:43 - 09:48  (00:04)    
root     pts/1        :0.0             Wed Dec 18 09:43 - 09:48  (00:05)    
root     pts/3        192.168.103.79   Wed Dec 18 09:41 - 12:40  (02:59)    
root     pts/4        :0.0             Wed Dec 18 09:28 - 09:30  (00:01)    
root     pts/3        :0.0             Wed Dec 18 09:27 - 09:30  (00:02)    
root     pts/2        192.168.103.29   Wed Dec 18 09:27   still logged in  
root     pts/1        :0.0             Wed Dec 18 09:27 - 09:42  (00:15)    
root     pts/2        :0.0             Wed Dec 18 09:23 - 09:25  (00:01)    
root     pts/1        :0.0             Wed Dec 18 09:22 - 09:25  (00:02)
#查看最近10次用户历史操作记录
last 命令:

功能说明:列出目前与过去登入系统的用户相关信息。

语 法:last [-adRx][-f ][-n ][帐号名称…][终端机编号…]

参 数:

-a 把从何处登入系统的主机名称或IP地址,显示在最后一行;

-d 将IP地址转换成主机名称;

-f 指定记录文件;

-n 或- 设置列出名单的显示列数;

-R 不显示登入系统的主机名称或IP地址;

-x 显示系统关机,重新开机,以及执行等级的改变等信息;

lastlog可简单查看所有用户最后一次的登陆时间。

来自:https://zhidao.baidu.com/question/91897351.html
lam是用php写的,所以使用时需要php支持很多模块,像对ldap的支持,对zip的支持。
php安装模块见http://fffo.blog.163.com/blog/static/211913068201401464238334/

1、官网下载
wget http://prdownloads.sourceforge.net/lam/ldap-account-manager-4.3.tar.bz2?download
2、解压
tar -xjf  ldap-account-manager-4.3.tar.bz2
3、直接移动到apache 根目录
mv  ldap-account-manager-4.3 /usr/local/apache/htdocs/lam
4、给它可以访问的权限
chmod 777 -R /usr/local/apache/htdocs/lam
5、进入配置目录
cd /usr/local/apache/htdocs/lam/config
6、创建主参数文件
cp config.cfg_sample config.cfg
7、创建连接ldap服务器参数文件
cp lam.conf_sample lam.conf
vim lam.conf
修改 所有的dc=1v,dc=cn
8、web访问
http://203.195.187.200/lam/templates/login.php

上面的模式是只限管理员登录模式。现在切换到用户登录模式
点击LAM配置——>编辑服务器配置文件——>默认密码是lam(可修改)——>通用设置——>安全设定

From:http://blog.csdn.net/u012461550/article/details/42608781

我的是在:
/usr/local/lam/etc/unix.conf
error: insufficient permission for adding an object to repository database .git/objects  
fatal: failed to write object  
fatal: unpack-objects failed
$git pull
remote: Counting objects: 24, done.
remote: Compressing objects: 100% (23/23), done.
remote: Total 24 (delta 14), reused 3 (delta 1)
error: insufficient permission for adding an object to repository database .git/objects
首先,得是Root:
#id
uid=0(root) gid=0(root) groups=0(root) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023

然后:到那个出现 错的项目目录下面,它下面有一个.git这是肯定的,
1)对这个.git目录权限给斧正:
chmod 755 .git
chown -R xiangdong.irdcops .git  

2)给它下面的文件和文件夹的权限斧正:
cd .git
find . -type f -exec chmod 644 {} \;
find . -type d -exec chmod 755 {} \;

参考:http://blog.sina.com.cn/s/blog_87b9bbc70102uyo3.html
rpm -ihv python-simplejson-2.0.9-8.el5.x86_64.rpm
warning: waiting for transaction lock on /var/lib/rpm/__db.000

rm -f /var/lib/rpm/__db.*
rpm --rebuilddb
yum clean all


再安装也就好了:
rpm -ihv python-simplejson-2.0.9-8.el5.x86_64.rpm
Preparing...                ########################################### [100%]
   1:python-simplejson      ########################################### [100%]
================================================================
故障现象:
[root@localhost Mysql4.1.14.Rhel3]# rpm -ivh MySQL*
warning: waiting for transaction lock on /var/lib/rpm/__db.000

解决方法:
   因为prm数据库出现损坏导致,可能导致多数rpm软件的升级、安装或者删除都会有问题。
此错误,请以root身份输入以下命令:
rm -f /var/lib/rpm/__db.*
rpm --rebuilddb
yum clean all

来自:http://blog.csdn.net/yunsongice/article/details/5587631
分页: 1/245 第一页 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 下页 最后页 [ 显示模式: 摘要 | 列表 ]