check linux(kalilinux软件)
很多朋友对于check linux和kalilinux软件不太懂,今天就由小编来为大家分享,希望可以帮助到大家,下面一起来看看吧!
linux操作系统上cvs常用命令是那些
登陆cvs: cvs-d:pserver:xuquanxing@218.206.74.186:/home/cvsroot login将提示你输入密码,登陆成功后以后在登陆不需要密码
检出整个工程(必须先检出整个工程,才能进行其它的操作) cvs-d:pserver:xuquanxing@218.206.74.186:/home/cvsroot checkout mindquiz在执行update时可以转到本地相应目录直接 cvs update也可以在其它目录cvs update目录名
(下面是网络上找到)
1.登陆cvs: cvs-d:pserver:xuquanxing@218.206.74.186:/home/cvsroot login
Note:pserver是访问方式,如果服务器设置的是口令认证,则是 pserver。 username是 CVS服务器的用户名,可以根据你的设置修改; the_server_name是CVS服务器的名称或者IP地址; /home/cvsroot是你的CVS服务器的CVSROOT目录,根据你的CVS服务器设置做修改或者询问管理员.
这时候cvs会问你口令,请把你在CVS服务器上的口令敲进去: Passwd:xxxxxxxx
2.提交项目--import cvs import [-options] repository vendortag releasetag... Note:该命令将当前目录下的所有文件(包括子目录)导入源代码储存库。 repository:项目名称,在CVS服务器上会创建以这个名字命名的仓库。 vendortag: 项目分支的总标记。(不常用) releasetag:标识文件的输入层次的标记。(一般用start) 使用import提交项目的时候,CVS会要求对项目进行说明。在默认状态下,CVS会弹出文本编辑器。用户也可以用-m“log_message”来输入
说明信息。
例如$cvs import-m"upload the first time as new module" judecvs v_0_0_1 start
提示:import一般在第一次导入module时使用。后期修改文件后可直接使用commit命令提交修改的文件。
3.从CVS导出项目--checkout cvs checkout [options] modules... 此命令将源代码储存库中已有的项目导出到当前目录。 modules:项目名称例如,从仓库中检索出judecvs项目的源文件. $cvs checkout judecvs
4.CVS主要命令---update更新当前工作目录中的文件 cvs update [-options] [files...] 此命令比较指定CVS源码库中的文件和当前目录下的文件,如果CVS源码库中有更高版本的源文件,则更新当前目录下的文件。此命令只有在
checkout命令使用过后才能使用。 在执行update命令时,CVS并不是简单的将新版本覆盖当前文件,而是试图将新版本所做的修改添加到当前文件中去。如果发生冲突,CVS会
以字符串“”和“”来表示冲突发生。这时候你可以修改文件,重新提交。提示:如果你已经做过一次checkout了,那么不需要重新checkout,只需要进入cvstest项目的目录,更新一把就行了: 例如:$cd judecvs $cvs update
5.CVS主要命令---status如果你不想直接更新,只是想看看有没有更新的东西,那么: $cvs status会给每个文件有一份状态报告,类似这样: ================================================== File: client.c Status: Up-to-date Working revision: 1.1.1.1 'Some Date' Repository revision: 1.2 /home2/cvsroot/judecvs/client.c,v
这里最重要的就是 Status 栏,这里总共可能有四种状态: Up-to-date:表明你要到的文件是最新的. Locally Modified:表明你曾经修改过该文件,但还没有提交,你的版本比仓库里的新. Needing Patch:表明有人已经修改过该文件并且已经提交了!你的版本比仓库里的旧. Needs Merge:表明你曾经修改国该文件,但是别人也修改了这个文件,而且还提交给仓库了!
6.CVS主要命令---commit保存修改到CVS中 cvs commit [-lnR] [-m'log_message'|-f file] [-r revision] [files...] 此命令将当前目录下的源代码与CVS中最新版本比较,并进行更新。 [-m‘log_message‘ ]:输入修改说明。 [-r revision]:指定版本。 [files...]:指定修改文件。
$cvs commit -m "add XXX function" client.c
系统会提示 CVS:---------------------------------------------------------------------- CVS: Enter Log. Lines beginning with `CVS:' are removed automatically CVS: CVS: Committing in. CVS: CVS: Modified Files: CVS: client.c CVS:----------------------------------------------------------------------
退出后,系统询问是否continue,输入c,则完成checkin Log message unchanged or not specified a)bort, c)ontinue, e)dit,!)reuse this message unchanged for remaining dirs Action:(continue) c Checking in client.c;/home2/cvsroot/judecvs/client.c,v -- client.c new revision: 1.2; previous revision: 1.1 done
如果CVS上文件已经有其他人更新,也就是我当前工作的不是最新版本,系统提示commit失败,这时候需要先update,然后把整合文件再commit. cvs server: Up-to-date check failed for `client.c' cvs [server aborted]: correct above errors first! cvs commit: saving log message in/tmp/cvsCEjA9N
提示:修改文件之前先update或者先查看文件状态,确认当前工作版本是最新版本。
7.添加文件到项目中---add cvs add [-k kflag] [-m'message'] files... 此命令并不真正添加文件,只是将文件注册到项目中,要真正添加文件,还要使用commit命令。例如:$cvs add-m"test add" testadd.c
提示: cvs server: scheduling file `testadd.c' for addition on branch `v_0_0_2' cvs server: use'cvs commit' to add this file permanently
$cvs commit
同commit过程一样,CVS将testadd.c添加到项目中
8.CVS主要命令---remove从项目中删除文件 cvs remove [-k kflag] [-m'message'] files... 和add命令一样,此命令并不真正删除文件,只是将文件从项目中取消,要真正删除文件,还要使用commit命令。 e.g. $rm testadd.c $cvs rm testadd.c系统提示 cvs server: scheduling `testadd.c' for removal cvs server: use'cvs commit' to remove this file permanently
$cvs commit testadd.c
此时,CVS才将testadd.c从项目的最新版本中删除,但是如果它有以前的版本,以前版本依然存在。
cvs update的信息报告"cvs update"后在信息框里会列出你的操作,你的文件update的情况,这里是CVS使用的所有其它单字符信息性消息的列表: U [path]在本地机更新get到了服务器上最新的或者最新版本的文件。 P [path]像“U”一样,只是在update时你的网络带宽少的情况下CVS服务器所出现的提示。 M [path]这意味着您已经修改过该文件了;而且,有可能资源库中新的更改已成功地合并到该文件。 C [path]错误警报,"C"字符表明该文件存在冲突,需要在使用"commit"提交前解决这冲突。 A [path]该文件是计划要添加的,即添加了但尚未提交,这时你还使用update命令,CVS就会有这个提示,当你"commit"时,它被正式添加
到服务器库中,问题解决。 R [path]象"A"一样,"R"让您知道该文件计划要删除的,即删除了但尚未提交,这时你还使用update命令, CVS就会有这个提示,当你"
commit"后,该文件就会从服务器库中删除,问题解决。
Linux开机后内核一直刷check file
如果 Linux系统一直在开机后刷 check file,这可能是由于系统在进行文件系统检查,以确保文件系统的完整性和一致性。这通常发生在系统异常关机或电源故障等情况下,导致文件系统可能出现损坏或错误。在这种情况下,系统会在开机时自动启动文件系统检查,并且显示“check file”等提示信息。
这个过程可能需要一些时间,取决于硬盘的大小和文件系统的复杂性。如果你的系统在开机后持续刷 check file超过一小时以上,可能存在文件系统损坏或其它硬件问题。建议使用系统安装光盘进入救援模式,然后使用 fsck命令手动检查和修复文件系统。如果你不确定如何使用 fsck命令,建议联系 Linux系统管理员或技术支持人员协助解决。
linux 开机问题求助
一、BIOS加电自检
当你按电源开关开机时,电脑会首先去启动BIOS(基本输入输出系统),BIOS一般是集成在主板上的.
BIOS的工作
1.检测连接硬件,比如显卡,内存,磁盘等等,检测的目的是以后把这些设备信息提供给操作系统
2.寻找启动磁盘,每一种BIOS都会有开机启动菜单,可以在菜单里设置以哪个设备启动系统
比如:光驱,硬盘,网络等等,这个菜单可以设置多个选项,依照设置次序在设备上寻找启动信息
3.找到了启动硬盘,接着BIOS就会在磁盘上找启动扇区,找到内核启动系统.
1)先试着寻找第一个扇区,也就是主引导记录MBR(Master Boot Record)
2)如果第一个扇区上没有没有存在操作系统,再去寻找标记为BOOT的分区.
不论是MBR还是BOOT分区,存储操作系统的空间都只有446字节;
如果没有在上面提到的位置找到操作系统的内核,那么BIOS就无法继续启动工作.
而我们的内核往往会大于446个字节,存放在磁盘的其他位置上,既然446装不下内核,又为了能顺利的找到放在其他位置上的内核,
人们想出了一个办法就在446字节里写了一个小程序,当BIOS试着启动操作系统时就会执行这个小程序,然后再由小程序来载入其他位置的内核.这个小程序就是启动载入器(boot loader)
二、BOOT Loader
linux的boot loader(上文提到的小程序)常见的有两种:lilo grub
因为lilo存在着一个1024柱面的限制,并且更改了磁盘上的启动信息文件后需要重新启动系统才能同步446字节的内容,因为lilo的缺陷,已经被grub所取代.现在的绝大多数类linux系统都采用grub做boot loader;
grub则没有了lilo各种限制,而且方便到能修改系统文件的启动内容就可以立刻与446内容同步.
那么我们就看看grub的内容它存在于/boot/grub中
GRUB有几个重要的文件,STAGE1、STAGE1.5、STAGE2
STAGE1:它只有512字节,通常放在MBR中,它的作用很简单,就是在系统启动时用于装载STAGE2并将控制权交给它。
STAGE2:GRUB的核心,所有的功能都是由它实现。
STAGE1.5:介于STAGE1和STAGE2之间,是它们的桥梁,因为STAGE2较大,通常都是放在一个文件系统当中的,但是STAGE1并不能识别文件系统格式,
所以才需要STAGE1.5来引导位于某个文件系统当中的STAGE2。根据文件系统格式的不同,STAGE1.5也需要相应的文件,如:e2fs_stage1_5,fat_stage1_5,分别用于识别ext和fat的文件系统格式。它存放于1-63的柱面之间.
引导顺序如下:STAGE1->;STAGE1.5->;STAGE2,
主要的配置文件时 grub.conf
里面选项含义:
title:一个操作系统引动的标头,可以使多个
root:指明所需文件存在于哪个磁盘哪个分区上(hd0,0)表示第一个硬盘,第一个分区,可参考/boot/grub/device.map
kernel:内核文件的名字,并且会有一些加载内核时的参数 or代表以只读方式加载
initrd:包含一些附加的驱动程序
三、内核启动
内核启动后会向bios查询电脑的所有硬件信息,然后自己接手下来管理这些设备,以便提供给linux使用
内核会试着驱动这些设备,这些设备的驱动一部分包含在内核中,叫做静态驱动,一部分以模块的方式(动态)存放文件系统中,由
于此时还未挂载任何文件系统,因此还不能使用文件系统中的模块,这里只能驱动在内核中存在的硬件驱动程序的对应设备.想驱动内核中未包含的硬件驱动就需要加载文件系统.
内核会尝试挂载根文件系统,根文件系统至少包含/etc/bin/sbin/lib/dev这5大目录
他们5个缺一不可.都会导致系统无法启动
根文件系统挂载是以只读方式挂载的,因为这时linux还在启动阶段,并不稳定,避免破坏系统资料
四、启动INIT服务
顺利的挂载了根文件系统后,就会启动init服务
内核会按/sbin/init/etc/init/bin/init顺序寻找init程序,
如果找不到则内核报错这里存在一个参数 init=/bin/sh如果启动时指定了则最后执行/bin/sh
而不会产生内核报错.也被称为快速启动,因为它忽略了很多启动初始化工作.
启动init的目的就是为了初始化系统环境,启动了init就证明了内核已经顺利启动,接下来就由init服务来建立linux使用环境
init做了什么?它会读取/etc/inittab文件,根据这个文件的信息来进行初始化工作.
会执行三个脚本/etc/rc.d/rc.sysinit/etc/rc.d/rc/etc/rc.d/rc.local
rc.sysinit主要的功能用来建立系统的基本环境
启动udev selinux子系统
udev负责产生/dev中的文件,selinux负责增强系统的安全性
设定核心参数 sysctl-p加载/etc/sysctl.conf
设定系统时间将硬件时间设定为系统时间
加载键盘和交换分区 swapon-a-e
设置主机名,挂载文件系统,并将根重新挂载为可读写的.
加载动态驱动模块
USB设备与RAID& LVM
卸载/initrd/目录
rc脚本设置启动级别 linux中有许多不同的启动级别,不同的启动级别会制定不同的服务
根据指定rc的参数会对应执行/etc/rc.d/rc[0-6].d/中的连接脚本文件以S开头的则启动
rc.local前两个脚本都是系统至关重要的脚本,如果我们想在启动过程中放置一些其他程序
应该使用rc.local脚本中因为S99local存在于rc[2-5].d中
三个RC脚本执行完毕后,就会建立虚拟主控制台执行/bin/login就提供了用户登陆界面了
如果是图形 L5级别的话,会启动X window登录界面
所有的启动就都已经完毕
用户环境初始化
输入用户名和密码系统验证,然后会执行
/etc/profile
/etc/profile.d/*.sh$HOME/.bash_profile
/etc/bashrc
$HOME/.bashrc
启动级别
0关机
1单用户
2多用户模式但带网络但不能远程登录
3不受限多用户模式 TUI
4保留
5图形模式
6重新启动
查看启动级别
# runlevel
N 3
N是上次的级别,3是当前级别也就是说机器开机就是3级别
切换级别
init 5
挂载文件系统
/etc/fstab
第一项是要mount的存储装置的实体位置或者用卷标
第二项要挂到哪个目录位置
第三项指定要挂载的系统格式
第四项 mount时要设定的状态,只读或defauls
第五项提供DUMP功能,在系统DUMP时需要BACKUP的标志位,其内定位置是 0
第六项设定开机时文件系统是否要check
除了root的文件系统其必要的check为1其他视需要而定默认是0
LABEL=/boot/boot ext3 defaults 1 2
作者“xudeqiang”