海是我向往的地方,吸纳和咆哮是他的魅力!!!

发布新日志

  • Linux svn管理工具的12个命令实践

    2010-11-25 11:20:13

    Linux svn管理工具的12个命令实践

    字体:        | 上一篇 下一篇 | 打印  | 我要投稿  | 每周一问,答贴有奖

      svn(subversion)是近年来崛起的版本管理工具,svn服务器有2种运行方式:独立服务器和借助apache。2种方式各有利弊。不管是那种方式,都需要使用各种命令来实现。在本文中,会结合实例向大家介绍Linux svn的常用命令。

      1、将文件checkout到本地目录

    svn checkout path(path是服务器上的目录)
    例如:svn checkout svn://192.168.1.1/pro/domain
    简写:svn co

      2、往版本库中添加新的文件

    svn add file
    例如:svn add test.php(添加test.php)
    svn add *.php(添加当前目录下所有的php文件)

      3、将改动的文件提交到版本库

    svn commit -m “LogMessage“ [-N] [--no-unlock] PATH(如果选择了保持锁,就使用–no-unlock开关)
    例如:svn commit -m “add test file for my test“ test.php
    简写:svn ci

      4、加锁/解锁

    svn lock -m “LockMessage“ [--force] PATH
    例如:svn lock -m “lock test file“ test.php
    svn unlock PATH

      5、更新到某个版本

    svn update -r m path
    例如:
    svn update如果后面没有目录,默认将当前目录以及子目录下的所有文件都更新到最新版本。
    svn update -r 200 test.php(将版本库中的文件test.php还原到版本200)
    svn update test.php(更新,于版本库同步。如果在提交的时候提示过期的话,
    是因为冲突,需要先update,修改文件,然后清除svn resolved,最后再提交commit)
    简写:svn up

      6、查看文件或者目录状态

    1)svn status path(目录下的文件和子目录的状态,正常状态不显示)
    【?:不在svn的控制中;M:内容被修改;C:发生冲突;A:预定加入到版本库;K:被锁定】
    2)svn status -v path(显示文件和子目录状态)
    第一列保持相同,第二列显示工作版本号,第三和第四列显示最后一次修改的版本号和修改人。
    注:svn status、svn diff和 svn revert这三条命令在没有网络的情况下也可以执行的,原因是svn在本地的.svn中保留了本地版本的原始拷贝。
    简写:svn st

      7、删除文件

    svn delete path -m “delete test fle“
    例如:svn delete svn://192.168.1.1/pro/domain/test.php -m “delete test file”
    或者直接svn delete test.php 然后再svn ci -m ‘delete test file‘,推荐使用这种
    简写:svn (del, remove, rm)

  • 如何构建一个 LFS 系统(转)

    2008-12-02 16:21:36

       1.1. 如何构建一个 LFS 系统

      我们将用一个已安装好的 Linux 发行版(例如 Debian、Mandrake、Red Hat、SuSE)来构建 LFS 系统。这个已存在的 Linux 系统(宿主系统)作为建立新系统的起点,提供包括编译器、连接器和 Shell 在内的必要的程序。您安装这个发行版的时候,需要选择“开发者”选项,以便可以用上这些工具。

      另一个选择是使用 Linux From Scratch 的 LiveCD。这个CD是一个非常好的宿主系统,它包含了构建一个完整LFS系统所需要的一切工具,另外还包含了所有的软件包源代码、补丁和一个本书的拷贝。使用这个CD,可以不需要任何网络连接或者下载任何额外的东西。要了解更多关于 LFS LiveCD 的信息或者想下载它,请查看:http://www.linuxfromscratch.org/livecd/。

      Chapter 2 描述了怎样创建一个新的 Linux 本地分区和文件系统,新的 LFS 系统将在这上面编译安装。 Chapter 3 解释了构建一个 LFS 系统需要那些软件包和补丁,以及怎样把它们存放到新文件系统上。 Chapter 4 讨论了建立一个适当的工作环境。请仔细阅读 Chapter 4,因为它讨论了在开始完成 Chapter 5 及其后面的步骤之前,开发者需要知道的几个重要问题。

      Chapter 5 解释了形成一个基本开发套件(或称为工具链)所需的许多软件的安装,这个工具链将被用来构建 Chapter 6 中的实际系统。其中一些软件包需要解决循环依赖关系:例如,要编译一个编译器,您首先就需要一个编译器。

      Chapter 5 告诉用户如何编译第一遍工具链,包括 Binutils 和 GCC(第一遍主要的意思就是指这两个核心软件包后面还将第二次安装)。这些软件包里的程序将静态连接以便使用时独立于宿主系统。接下来的步骤是编译 Glibc,就是 C 运行库。Glibc 将由第一遍建立的工具链程序编译。然后将第二遍编译工具链动态连接到刚刚编译好的 Glibc 库上。Chapter 5 余下的软件包将使用第二遍建立的工具链来编译。完成这些步骤之后,LFS 的安装过程除了正在运行的内核外,不再依赖于宿主系统。

      为了不依赖宿主系统,初看起来我们要做很多工作。Chapter 5的开始提供了一个完整的技术说明,包括静态连接的程序和动态连接的程序之间差异的注解。

      Chapter 6将构建完整的 LFS 系统。chroot(改变root)程序用来进入一个虚拟的环境并开始一个新的 Shell,其根目录是 LFS 分区。这非常类似于重启并让内核将 LFS 分区挂载为根分区。系统实际上并没有重启,而是由 chroot 代替了,因为建立一个可启动的系统需要做一些现在还不需要做的额外工作。主要的好处在于“chroot”允许您在构建 LFS 的时候可以继续使用宿主系统。在等待软件包编译完成的时候,用户可以切换到不同的虚拟控制台(VC)或者 X 桌面,就像平常一样继续使用计算机。

      为了完成安装,Chapter 7设置启动脚本,Chapter 8安装内核和启动引导程序。Chapter 9包含在本书之外获得进一步 LFS 体验的信息。在本书中所有步骤都完成之后,计算机就已经准备好重启进入新的 LFS 系统了。

      以上就是概略的过程,在接下来的章节和软件包描述中会讨论每一步的细节。看似复杂的项目将详细阐明,随着开发者踏上 LFS 冒险之路,每一件事情都将依序出现。

  • Linux系统标点符号的部分编码(转)

    2008-11-20 09:52:46

    1、使用智能拼音时,输入ibdfh 或 ifuhao ,输入 isymbol也可以。

    2、使用五笔输入法时,比如,您需要输入顿号(、),需要输入"顿号"的五笔编码gbkg。

    下面罗列的是常用的中文标点符号编码:

    , 逗号 gkkg

    、 顿号 gbkg

    。 句号 qkkg

    · 圆点 lkhk

    · 间隔号 ubkg

    ? 问号 ukkg

    ; 分号 wvkg

    : 冒号 jhkg

    ! 叹号 kckg

    —— 破折号 drkg

    ~ 波浪号 iikg

    ……  省略号 ilkg

    ‘’ 单引号 uxkg

    “” 双引号 cxkg

    〔〕 方括号 yrkg

    〈〉 单书名号 unqk

    《》 书名号 nqkg

    『』 竖书名号 jnqk

    () 圆括号 lrkg

    {} 大括号 drkg

    〖〗 空心括号 pnrk

    【】 实心括号 pnrk

  • Linux系统中Fstab文件的含义

    2008-11-20 09:42:47

    Fstab中存放了与分区有关的重要信息,其中每一行为一个分区记录,每一行又可分为六个部份,下面以/dev/hda7 / ext2 defaults 1 1为例逐个说明:

    /dev/sda3 / ext3 acl,user_xattr 1 1
    /dev/sda1 /boot ext3 acl,user_xattr 1 2
    /dev/sda2 swap swap defaults 0 0
    proc /proc proc defaults 0 0
    sysfs /sys sysfs noauto 0 0
    debugfs /sys/kernel/debug debugfs noauto 0 0
    usbfs /proc/bus/usb usbfs noauto 0 0
    devpts /dev/pts devpts mode=0620,gid=5 0 0
    /dev/fd0 /media/floppy auto noauto,user,sync 0 0
    /dev/hda1 /home/netgames xfs defaults 0 0

    1. 第一项是您想要mount的储存装置的实体位置,如hdb或/dev/hda6。

    2. 第二项就是您想要将其加入至哪个目录位置,如/home或/,这其实就是在安装时提示的挂入点。

    3. 第三项就是所谓的local filesystem,其包含了以下格式:如ext、ext2、msdos、iso9660、nfs、swap等,或如ext2,可以参见/prco/filesystems说明。

    4. 第四项就是您mount时,所要设定的状态,如ro(只读)或defaults(包括了其它参数如rw、suid、exec、auto、nouser、async)。

    5. 第五项是提供DUMP功能,在系统DUMP时是否需要BACKUP的标志位,其内定值是0。

    6. 第六项是设定此filesystem是否要在开机时做check的动作,除了root的filesystem其必要的check为1之外,其它皆可视需要设定,内定值是0。

  • linux下的安装包介绍

    2008-11-20 09:28:03

    这个对于新手来说,也是比较困惑的问题,谈谈我对这个问题的认识。

    一:rpm包

    rpm包,分两种,binary rpm 跟 source rpm

    binary rpm,就是我们平时用的最多的,已经编译好的,直接安装就可以了。

    以前学linux的时候,老想通过rpm来安装软件,不过你通过rpm安装,是够简单了,但是你没有什么地方可以设置的,这就像当年一个老师说过的,比如装windows,ms的专家装和我装,没有任何的区别,因为没有任何你可以操作的地方。

    用rpm安装其实就是这样,好处当然是简单,一切安装默认。省时间,快,

    二:源码

    如果我们下载的是源码,那么这里就关系到一个编译。

    linux下都是用c开发的程序,那么用c开发的程序,如何才能让cpu认识呢,那么就需要编译器,gcc的编译器,把代码转换成机器认识的代码。cpu只认识0和1.

    当源代码编译成2进制的代码,也就是binary code ,那么你就可以安装到你的机器上了。

    如果我们下载的是binary code ,2进制的代码,这个以mysql为例,不少的文档,mysql是下载binary code ,那么你解压后,其实就可以直接用了。

    source code 是程序员写的码,
    binary code 是机器跑的码。
    source code 得经过 compile 才能成为 binary code 。

    如何分?用 file 命令看一看罗:

    tar -zxvf some.version.tar.gz
    cd some
    file *

    $ file source.file
    $ file binary.file

    RPM 有分两种:binary rpm 跟 source rpm 。
    前者是编好的 binary ,安装就可用。
    後者是还没编好的 source ,需 rebuild 之後才能安装。

    如何安装.src.rpm软件包
    有些软件包是以.src.rpm结尾的,这类软件包是包含了源代码的rpm包,在安装时需要进行编译。这类软件包有两种安装方法

    方法一:
    1. #rpm -i your-package.src.rpm
    2. #cd /usr/src/redhat/SPECS
    3. #rpmbuild -bp your-package.specs //一个和你的软件包同名的specs文件
    4. #cd /usr/src/redhat/BUILD/your-package/ 一个和你的软件包同名的目录
    5. #./configure
    6. #make
    7. #make install

    方法二:
    1. #rpm -i you-package.src.rpm
    2. #cd /usr/src/redhat/SPECS
    3. rpmbuild -bb your-package.specs //一个和你的软件包同名的specs文件。这时,在/usr/src/redhat/RPM/i386/ (根据具体包的不同,也可能是i686,noarch等等) 在这个目录下,有一个新的rpm包,这个是编译好的二进制文件。
    4. #rpm -i new-package.rpm 即可安装完成。
  • 关于Linux系统下PATH设置方法(转)

    2008-11-20 09:12:16

    假设你要执行的程序路径在 /usr/my下

    export PATH=/usr/my:$PATH

    # .bashrc

    # User specific aliases and functions

    alias rm='rm -i'
    alias cp='cp -i'
    alias mv='mv -i'

    # Source global definitions
    if [ -f /etc/bashrc ]; then
    . /etc/bashrc
    fi
    export PATH=/usr/my:$PATH

    保存退出!

    [root@stroller root]# source .bashrc

    完整例子:

    [root@stroller root]# vi .bashrc

    # .bashrc

    # User specific aliases and functions

    alias rm='rm -i'
    alias cp='cp -i'
    alias mv='mv -i'

    # Source global definitions
    if [ -f /etc/bashrc ]; then
    . /etc/bashrc
    fi

    然后在 fi 后面加下面语句:

    export PATH=/root:$PATH

    加完后的 .bashrc 内容为:

    # .bashrc

    # User specific aliases and functions

    alias rm='rm -i'
    alias cp='cp -i'
    alias mv='mv -i'

    # Source global definitions
    if [ -f /etc/bashrc ]; then
    . /etc/bashrc
    fi

    export PATH=/root:$PATH

    //在命令行下输入 source .bashrc 执行 .bashrc 生效.

    [root@stroller root]# source .bashrc

    //查看PATH值:

    [root@stroller root]# echo $PATH

Open Toolbar