一切福田,不離方寸,從心而覓,感無不通。

Category Archives: Linux

如何在CentOS 7中安装Git

Git是在今天的软件开发行业一个非常有用的版本控制工具。我一直使用Git。于是为Linux公社的读者写一篇如何在CentOS 7中安装Git教程 什么是Git? 如果你曾经使用过Github这样的网站或者在Bitbucket 购买过代码,把它展示给你的朋友,那么你可能知道Git是什么。至少,你肯定对它有过了解。 Git是软件开发中最广泛使用的版本控制系统,其最初发布于九年前的2005年4月7日,主要是为了保证一个大型的分布式开发项目的顺利进行。和客户端 服务器系统的开发不同,开发者独立于网络访问或中央服务器,因为每个Git的工作目录是一个全面的资料库。 创始人Linus Torvalds决定遵循GNU通用公共许可证第二版的协议条款,免费的发布Git。维基百科中可以了解到,有许多语言来正在开发这个版本控制系统,如Perl, Bash, C and Tcl。 在GentOS7上安装Git之前,我必须明确Git支持主流的操作系统,如Linux,POSIX,Windows和OS X. 分割线 GitHub 教程系列文章: GitHub 使用教程图文详解  http://www.linuxidc.com/Linux/2014-09/106230.htm Git 标签管理详解 http://www.linuxidc.com/Linux/2014-09/106231.htm Git 分支管理详解 http://www.linuxidc.com/Linux/2014-09/106232.htm Git 远程仓库详解 http://www.linuxidc.com/Linux/2014-09/106233.htm Git 本地仓库(Repository)详解 http://www.linuxidc.com/Linux/2014-09/106234.htm Git 服务器搭建与客户端安装  http://www.linuxidc.com/Linux/2014-05/101830.htm Git 概述 http://www.linuxidc.com/Linux/2014-05/101829.htm 分享实用的GitHub 使用教程 http://www.linuxidc.com/Linux/2014-04/100556.htm 分割线 前期准备 请确保您的机器上安装有CentOS 7系统以及一个帐户具有root权限。因为我们需要在系统上安装软件。 安装Git 从源代码编译 从源代码编译和安装软件并不是很难,但是可以肯定它需要一些知识,我强烈建议仔细地按照本教程的每个步骤,尤其是如果你之前还没有这样做过。 这个方法可以使我们获得包含最新的功能的最新的版本,但这种方法的缺点是,一旦安装完成正在被在CentOS系统中使用的yum包管理器不能更新 因为一些软件包之间有依赖关系,我们必须你必须以手动安装一些软件,才可以继续安装。于是我们可以打开CentOS7终端,运行以下命令。 拿到root权限 su root 使用下面的命令 sudo yum install Development Tools 如果 上面的命令没有执行,也可以使用下面的命令来解决这个问题。 yum  groupinstall Development Tools 选择Y并按下回车键。 然后运行下面的命令来安装需要本教程的一些其他的包。 1 sudo yum install gettext–devel openssl–devel perl–CPAN perl–devel zlib–devel 一旦依赖已经安装那么,我们需要找出并下载的Git软件的最新版本。下面的截图显示,我们可以得到最新版本的页面信息。 你可以从上面的截图看到最新的版本是V2.3.0。不要下载带有-rc的,因为它代表了一个候选发布版本。 通过使用wget的工具下载的Git的2.3.0版本。 1 wget https://Github.com/Git/Git/archive/v2.3.0.tar.gz 然后使用tar工具来解压您刚刚下载的.tar归档文件。 tar xvf v2.3.0.tar.gz   然后使用cd命令更改工作目录,如下所示。 […]

龙生   15 May 2017
View Details

在浏览器中体验 Ubuntu

Ubuntu 的背后的公司 Canonical 为 Linux 推广做了很多努力。无论你有多么不喜欢 Ubuntu,你必须承认它对 “Linux 易用性”的影响。Ubuntu 以及其衍生是使用最多的 Linux 版本。 为了进一步推广 Ubuntu Linux,Canonical 把它放到了浏览器里,你可以在任何地方使用这个 Ubuntu 演示版。 它将帮你更好的体验 Ubuntu,以便让新人更容易决定是否使用它。 你可能争辩说 USB 版的 Linux 更好。我同意,但是你要知道你要下载 ISO,创建 USB 启动盘,修改配置文件,然后才能使用这个 USB 启动盘来体验。这么乏味并不是每个人都乐意这么干的。 在线体验是一个更好的选择。 那么,你能在 Ubuntu 在线看到什么。实际上并不多。 你可以浏览文件,你可以使用 Unity Dash,浏览 Ubuntu 软件中心,甚至装几个应用(当然它们不会真的安装),看一看文件浏览器和其它一些东西。以上就是全部了。但是在我看来,这已经做的很好了,让你知道它是个什么,对这个流行的操作系统有个直接感受。 如果你的朋友或者家人对试试 Linux 抱有兴趣,但是想在安装前想体验一下 Linux 。你可以给他们以下链接:Ubuntu 在线导览。 出处:Linux中国 from:http://www.oschina.net/news/75720/cnome-maps-normal-use

龙生   01 Aug 2016
View Details

整理时下流行的浏览器User-Agent大全

总结整理时下流行的浏览器User-Agent大全 此文章转至:http://www.360doc.com/content/12/1012/21/7662927_241124973.shtml 用于学习   一、基础知识篇: Http Header之User-Agent User Agent中文名为用户代理,是Http协议中的一部分,属于头域的组成部分,User Agent也简称UA。它是一个特殊字符串头,是一种向访问网站提供你所使用的浏览器类型及版本、操作系统及版本、浏览器内核、等信息的标识。通过这个标 识,用户所访问的网站可以显示不同的排版从而为用户提供更好的体验或者进行信息统计;例如用手机访问谷歌和电脑访问是不一样的,这些是谷歌根据访问者的 UA来判断的。UA可以进行伪装。 浏览器的UA字串的标准格式:浏览器标识 (操作系统标识; 加密等级标识; 浏览器语言) 渲染引擎标识版本信息。但各个浏览器有所不同。   字串说明:   1、浏览器标识 出于兼容及推广等目的,很多浏览器的标识相同,因此浏览器标识并不能说明浏览器的真实版本,真实版本信息在 UA 字串尾部可以找到。   2、操作系统标识 3、加密等级标识   N: 表示无安全加密 I: 表示弱安全加密 U: 表示强安全加密   4、浏览器语言 在首选项 > 常规 > 语言中指定的语言   5、渲染引擎 显示浏览器使用的主流渲染引擎有:Gecko、WebKit、KHTML、Presto、Trident、Tasman等,格式为:渲染引擎/版本信息   6、版本信息 显示浏览器的真实版本信息,格式为:浏览器/版本信息   浏览器User-Agent的详细信息   PC端:   safari 5.1 – MAC User-Agent:Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_8; en-us) AppleWebKit/534.50 (KHTML, like Gecko) Version/5.1 Safari/534.50   safari 5.1 – Windows User-Agent:Mozilla/5.0 (Windows; U; Windows NT 6.1; en-us) AppleWebKit/534.50 (KHTML, like Gecko) Version/5.1 […]

龙生   29 Jul 2016
View Details

缓存Redis与Memcached的比较

Memcached是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载. 它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提供动态、数据库驱动网站的速度.      Memcached基于一个存储键/值对的hashmap。         Redis是一个key-value存储系统,和Memcached类似。但是它支持存储的value类型相对更多,包括string(字符串)、 list(链表)、set(集合)、zset(sorted set --有序集合)和hashs(哈希类型)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都 是原子性的。在此基础上,redis支持各种不同方式的排序。与memcached一样,为了保证效率,数据都是缓存在内存中。区别的是redis会周期 性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。     Redis是一个高性能的key-value数据库。redis的出现,很大程度补偿了memcached这类key/value存储的不足,在部 分场合可以对关系数据库起到很好的补充作用。它提供了Python,Ruby,Erlang,PHP客户端,使用很方便.         下面主要介绍一下Redis与Memcached的不同。 1.网络IO模型     Memcached是多线程,非阻塞IO复用的网络模型,分为监听主线程和worker子线程,监听线程监听网络连接,接受请求后,将连接描述字pipe 传递给worker线程,进行读写IO, 网络层使用libevent封装的事件库,多线程模型可以发挥多核作用,但是引入了cache coherency和锁的问题,比如,Memcached最常用的stats 命令,实际Memcached所有操作都要对这个全局变量加锁,进行计数等工作,带来了性能损耗。     Redis使用单线程的IO复用模型,自己封装了一个简单的AeEvent事件处理框架,主要实现了epoll、kqueue和select,对于单纯只 有IO操作来说,单线程可以将速度优势发挥到最大,但是Redis也提供了一些简单的计算功能,比如排序、聚合等,对于这些操作,单线程模型实际会严重影 响整体吞吐量,CPU计算过程中,整个IO调度都是被阻塞住的。 2.内存管理方面     Memcached使用预分配的内存池的方式,使用slab和大小不同的chunk来管理内存,Item根据大小选择合适的chunk存储,内存池的方式可以省去申请/释放内存的开销,并且能 减小内存碎片产生,但这种方式也会带来一定程度上的空间浪费,并且在内存仍然有很大空间时,新的数据也可能会被剔除,原因可以参考Timyang的文 章:http://timyang.net/data/Memcached-lru-evictions/     Redis使用现场申请内存的方式来存储数据,并且很少使用free-list等方式来优化内存分配,会在一定程度上存在内存碎片,Redis跟据存储命 令参数,会把带过期时间的数据单独存放在一起,并把它们称为临时数据,非临时数据是永远不会被剔除的,即便物理内存不够,导致swap也不会剔除任何非临 时数据(但会尝试剔除部分临时数据),这点上Redis更适合作为存储而不是cache。 3.数据一致性问题     Memcached提供了cas命令,可以保证多个并发访问操作同一份数据的一致性问题。 Redis没有提供cas 命令,并不能保证这点,不过Redis提供了事务的功能,可以保证一串 命令的原子性,中间不会被任何操作打断。 4.存储方式及其它方面     Memcached基本只支持简单的key-value存储,不支持枚举,不支持持久化和复制等功能     Redis除key/value之外,还支持list,set,sorted set,hash等众多数据结构,提供了KEYS 进行枚举操作,但不能在线上使用,如果需要枚举线上数据,Redis提供了工具可以直接扫描其dump文件,枚举出所有数据,Redis还同时提供了持久化和复制等功能。 5.关于不同语言的客户端支持 在不同语言的客户端方面,Memcached和Redis都有丰富的第三方客户端可供选择,不过因为Memcached发展的时间更久一些,目前看在 客户端支持方面,Memcached的很多客户端更加成熟稳定,而Redis由于其协议本身就比Memcached复杂,加上作者不断增加新的功能等,对 应第三方客户端跟进速度可能会赶不上,有时可能需要自己在第三方客户端基础上做些修改才能更好的使用。 根据以上比较不难看出,当我们不希望数据被踢出,或者需要除key/value之外的更多数据类型时,或者需要落地功能时,使用Redis比使用Memcached更合适。 关于Redis的一些周边功能     Redis除了作为存储之外还提供了一些其它方面的功能,比如聚合计算、pubsub、scripting等,对于此类功能需要了解其实现原理,清楚地了解到它的局限 性后,才能正确的使用,比如pubsub功能,这个实际是没有任何持久化支持的,消费方连接闪断或重连之间过来的消息是会全部丢失的,又比如聚合计算和 scripting等功能受Redis单线程模型所限,是不可能达到很高的吞吐量的,需要谨慎使用。 总的来说Redis作者是一位非常勤奋的开发者,可以经常看到作者在尝试着各种不同的新鲜想法和思路,针对这些方面的功能就要求我们需要深入了解后再使用。 总结: 1.Redis使用最佳方式是全部数据in-memory。 2.Redis更多场景是作为Memcached的替代者来使用。 3.当需要除key/value之外的更多数据类型支持时,使用Redis更合适。 4.当存储的数据不能被剔除时,使用Redis更合适。 from:http://bluenemo.iteye.com/blog/2157736

龙生   07 Apr 2016
View Details

ubuntu配置nginx+php

1.安装 sudo apt-get install nginx php5-fpm

龙生   21 Feb 2016
View Details

Ubuntu 更改文件夹权限及chmod详细用法

Ubuntu 更改文件夹权限 Ubuntu的许多操作是在终端中进行的,通过sudo命令管理的文件是由root持有权限的,一般用户是无法改变的。在图形界面上,我们可以通过属性中的权限选项夹进行操作。但是一旦文件的属性显示当前用户没有读写权力时,无法在图形界面上修改权限。 M6JLinux联盟 常用方法如下: M6JLinux联盟 sudo chmod 600 ××× (只有所有者有读和写的权限) sudo chmod 644 ××× (所有者有读和写的权限,组用户只有读的权限) sudo chmod 700 ××× (只有所有者有读和写以及执行的权限) sudo chmod 666 ××× (每个人都有读和写的权限) sudo chmod 777 ××× (每个人都有读和写以及执行的权限) M6JLinux联盟 其中×××指文件名(也可以是文件夹名,不过要在chmod后加-ld)。 M6JLinux联盟 解释一下,其实整个命令的形式是 sudo chmod -(代表类型)×××(所有者)×××(组用户)×××(其他用户) M6JLinux联盟 三位数的每一位都表示一个用户类型的权限设置。取值是0~7,即二进制的[000]~[111]。 M6JLinux联盟 这个三位的二进制数的每一位分别表示读、写、执行权限。 M6JLinux联盟 如000表示三项权限均无,而100表示只读。这样,我们就有了下面的对应: 0 [000] 无任何权限 4 [100] 只读权限 6 [110] 读写权限 7 [111] 读写执行权限 M6JLinux联盟 现在看上面的几个常用用法就非常清楚了。试着自己来修改权限吧 M6JLinux联盟 最后同时附上查询文件(或文件夹)权限的命令 ls -l 文件名称 (文件夹将-l改为-ld)。  原文地址:http://liufeng2008.blogspot.com/2008/08/ubuntu.html     chmod命令详细用法   指令名称 : chmod 使用权限 : 所有使用者 使用方式 : chmod [-cfvR] [--help] [--version] mode file… 说明 : Linux/Unix 的档案调用权限分为三级 : 档案拥有者、群组、其他。利用 chmod 可以藉以控制档案如何被他人所调用。 参数 : mode : 权限设定字串,格式如下 : [ugoa…][[+-=][rwxX]…][,…],其中 u 表示该档案的拥有者,g 表示与该档案的拥有者属于同一个群体(group)者,o 表示其他以外的人,a 表示这三者皆是。 + 表示增加权限、- 表示取消权限、= 表示唯一设定权限。 r 表示可读取,w 表示可写入,x 表示可执行,X 表示只有当该档案是个子目录或者该档案已经被设定过为可执行。 -c : 若该档案权限确实已经更改,才显示其更改动作 -f : 若该档案权限无法被更改也不要显示错误讯息 -v : 显示权限变更的详细资料 -R : 对目前目录下的所有档案与子目录进行相同的权限变更(即以递回的方式逐个变更) --help : 显示辅助说明 --version : 显示版本 范例 :将档案 file1.txt 设为所有人皆可读取 : chmod ugo+r file1.txt  将档案 file1.txt 设为所有人皆可读取 : chmod a+r file1.txt  […]

龙生   21 Feb 2016
View Details

linux重启和关闭系统命令

重启命令: 1、reboot 2、shutdown -r now 立刻重启(root用户使用) 3、shutdown -r 10 过10分钟自动重启(root用户使用) 4、shutdown -r 20:35 在时间为20:35时候重启(root用户使用) 关机命令: 1、halt   立刻关机 2、poweroff  立刻关机 3、shutdown -h now 立刻关机(root用户使用) 4、shutdown -h 10 10分钟后自动关机

龙生   13 Nov 2015
View Details

Windows下的Linux开发环境 Cygwin

Cygwin是许多自由软件的集合,最初由Cygnus Solutions开发,用于各种版本的Microsoft Windows上,运行UNIX类系统。Cygwin的主要目的是通过重新编译,将POSIX系统(例如Linux、BSD,以及其他Unix系统)上的软件移植到Windows上。Cygwin移植工作在Windows NT、Windows 2000、Windows XP以及Windows Server 2003上比较好,在Windows 95和Windows 98上,相对差劲一些。目前Cygwin由Red Hat等负责维护。 Cygwin包括了一套库,该库在Win32系统下实现了POSIX系统调用的API;还有一套GNU开发工具集(比如GCC、GDB),这样可以进行简单的软件开发;还有一些UNIX系统下的常见程序。2001年,新增了X Window System。 另外还有一个名为MinGW的库,可以跟Windows本地的MSVCRT库(Windows API)一起工作。MinGW占用内存、硬盘空间都比较少,能够链接到任意软件,但它对POSIX规范的实现没有Cygwin库完备。 但糟糕的是,Cygwin不支持Unicode。实际上,除了当前Windows系统以及OEM codepages(例如,一个俄语用户,他的codepages是CP1251和CP866,而不能是KOI8-R、ISO/IEC 8859-5、UTF-8等),Cygwin对其他字符集都不支持。 Red Hat规定,Cygwin库遵守GNU General Public License,但也可以跟符合开源定义的自由软件链接。Red Hat另有价格不菲的许可协议,这样使用Cygwin库的专属软件,就可以进行再发布。 授权协议: GPL 开发语言: C/C++ 操作系统: Windows 收录时间: 2008年10月30日 软件首页 软件文档 软件下载 from:http://www.oschina.net/p/cygwin

龙生   21 Apr 2015
View Details

Linux 容器引擎 Docker

Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app)。几乎没有性能开销,可以很容易地在机器和数据中心中运行。最重要的是,他们不依赖于任何语言、框架或包装系统。 授权协议: Apache 开发语言: Google Go 查看源码» 操作系统: Linux 收录时间: 2013年07月19日 软件首页 软件文档 软件下载 from:http://www.oschina.net/p/docker

龙生   21 Apr 2015
View Details

Linux 安装VMware Tools

为什么要装 VMware Tools? 因为它可以改善 Virtual Machine 的执行效能,而且可以让 Host OS 和 Guest OS 互通有无,这样我们就不用伤脑筋,要架设什么服务器,来沟通两个 OS,现在就让我们开始吧! 1,安装环境检查 #观看 kernel 版本 uname -r #安装 gcc、make、kernel-headers apt-get install gcc make kernel-headers-2.6.9-42-686 or rpm -ivh package_name 注意: 1. kernel-headers 的版本一定要和 kernel 的版本一样才可以,否则 VMware Tools 无法成功安装 2. 随着时间的移易,画面上的 kernel 版本可能会有所差异,请依照自己的版本操作 2,开始安装 在vmware 的“VM”菜单--“setting”中,点选光驱,选取「Use physical drive」 在[VM」→「Install VMware Tools」--〔Install〕 当我们装了 VMware Toools 之后,要的档案就会在光驱内了,不过要先挂载才可以使用, #挂载光驱 mount /dev/cdrom /mnt #看一下 ls /mnt #将 vmware-linux-tools.tar.gz 复制到 /tmp 数据夹 cp /cdrom/vmware-linux-tools.tar.gz /tmp #进入 /tmp 数据夹 cd /tmp #解压缩 tar zxvf vmware-linux-tools.tar.gz #进入 vmware-tools-distrib 数据夹 cd vmware-tools-distrib #开始安装 ./vmware-install.pl 安装过程的画面,全部使用默认值,一直按 […]

龙生   18 Jan 2014
View Details
1 18 19 20 22