安装CentOS时提示kdump安装失败

由于测试需要,我在Ubuntu的虚拟机下安装了CentOS。安装过程中一切顺利,结果在启动的时候发现kdump启动失败。
听名字感觉kdump像个debug工具。上网搜索了一下,得知:
[codesyntax lang=”text”]

kdump是在系统崩溃、死锁或者死机的时候用来转储内存运行参数的一个工具和服务。
打个比方,如果系统一旦崩溃那么正常的内核就没有办法工作了,
在这个时候将由kdump产生一个用于capture当前运行信息的内核,
该内核会将此时的内存中的所有运行状态和数据信息收集到一个dump core
文件中以便于Red Hat工程师分析崩溃原因,一旦内存信息收集完成,系统将自动重启。
这和以前的diskdump,netdump是同样道理。只不过kdump是RHEL5特有的。

[/codesyntax]
虽然不影响设备的正常使用,启动不了老是觉得不舒服。经过我的多次研究,我是这样修复的:

编辑/etc/sysconfig/kdump文件:
设置MKDUMPRD_ARGS和KDUMP_COMMANDLINE

MKDUMPRD_ARGS="/sbin/mkdumprd"(默认时这个参数的空的)
KDUMP_COMMANDLINE="ro root=LABEL=xxx"

其中xxx是root所在的分区的卷标。查看root卷标的命令是:
ls /etc/disk/by-label

保存,然后重启。

重启之后如果还不行:
安装kexec-tools
[codesyntax lang=”bash”]

yum install kexec-tools

[/codesyntax]
其实我不知道安装这个软件是不是必须的,
对于一般用户来说,没有必要开kdump。
所以建议初次时候通过ntsysv禁止其随开机启动

HTTPD启动绑定端口失败

问题描述:

在apache中绑定非http标准端口时,一直出现如下的错误提示:

[root@localhost ~]# /etc/init.d/httpd start
Starting httpd: (13)Permission denied: make_sock: could not bind to address 0.0.0.0:8087
no listening sockets available, shutting down
Unable to open logs

原因分析:

该问题是由SELinux 引起的

解决方案:

 

1、快速解决,修改selinux级别(不推荐)

vi /etc/sysconfig/selinux 
SELINUX=enforcing =>SELINUX=disabled 
reboot

 

2、从根本上解决(推荐)

根据自己的需求在selinux中添加需要指定的端口
前提需要先安装semanage(Centos6.0默认没有安装该应用)
a)安装方式如下:

[root@localhost /]# yum provides /usr/sbin/semanage
[root@localhost /]# yum whatprovides /usr/sbin/semanage
[root@localhost /]# yum -y install policycoreutils-python
[root@localhost /]# semanage

b)使用semanage添加apache侦听的端口

查看现在的支持http的端口有哪些

[root@localhost /]# semanage port -l|grep http 
为http服务添加新的端81 

[root@localhost /]# semanage port -a -t http_port_t -p tcp 81 
查看添加的结果 

[root@localhost /]# semanage port -l|grep http

 

Github常见问题

如果输入$ git remote add origin git@github.com:iprayz(github帐号名)/test(项目名).git

提示出错信息:fatal: remote origin already exists.

解决办法如下:

1、先输入$ git remote rm origin

2、再输入$ git remote add origin git@github.com:iprayz/test.git 就不会报错了!

3、如果输入$ git remote rm origin 还是报错的话,error: Could not remove config section ‘remote.origin’. 我们需要修改gitconfig文件的内容

4、找到你的github的安装路径,我的是C:\Users\ASUS\AppData\Local\GitHub\PortableGit_ca477551eeb4aea0e4ae9fcd3358bd96720bb5c8\etc

5、找到一个名为gitconfig的文件,打开它把里面的[remote "origin"]那一行删掉就好了!

如果输入$ ssh -T git@github.com

出现错误提示:Permission denied (publickey)

因为新生成的key不能加入ssh就会导致连接不上github。

解决办法如下:

1、先输入$ ssh-agent,再输入$ ssh-add ~/.ssh/id_key,这样就可以了。

2、如果还是不行的话,输入ssh-add ~/.ssh/id_key 命令后出现报错Could not open a connection to your authentication agent.解决方法是key用Git Gui的ssh工具生成,这样生成的时候key就直接保存在ssh中了,不需要再ssh-add命令加入了,其它的user,token等配置都用命令行来做。

3、最好检查一下在你复制id_rsa.pub文件的内容时有没有产生多余的空格或空行,有些编辑器会帮你添加这些的。

如果输入$ git push origin master

提示出错信息:error:failed to push som refs to …….

解决办法如下:

1、先输入$ git pull origin master //先把远程服务器github上面的文件拉下来

2、再输入$ git push origin master

3、如果出现报错 fatal: Couldn’t find remote ref master或者fatal: ‘origin’ does not appear to be a git repository以及fatal: Could not read from remote repository.

4、则需要重新输入$ git remote add origin git@github.com:iprayz/test.git

使用git在本地创建一个项目的过程

[codesyntax lang=”bash”]

$ makdir ~/hello-world??? //创建一个项目hello-world
$ cd ~/hello-world?????? //打开这个项目
$ git init???????????? //初始化
$ touch README
$ git add README??????? //更新README文件
$ git commit -m 'first commit'???? //提交更新,并注释信息“first commit”
$ git remote add origin git@github.com:defnngj/hello-world.git???? //连接远程github项目
$ git push -u origin master???? //将本地项目更新到github项目上去

[/codesyntax]

gitconfig配置文件

Git有一个工具被称为git config,它允许你获得和设置配置变量;这些变量可以控制Git的外观和操作的各个方面。这些变量可以被存储在三个不同的位置:

1./etc/gitconfig 文件:包含了适用于系统所有用户和所有库的值。如果你传递参数选项’–system’ 给 git config,它将明确的读和写这个文件。
2.~/.gitconfig 文件 :具体到你的用户。你可以通过传递–global 选项使Git 读或写这个特定的文件。
3.位于git目录的config文件 (也就是 .git/config) :无论你当前在用的库是什么,特定指向该单一的库。每个级别重写前一个级别的值。因此,在.git/config中的值覆盖了在/etc/gitconfig中的同一个值。

PS: 在Windows系统中,Git在$HOME目录中查找.gitconfig文件(对大多数人来说,位于C:\Documents and Settings\$USER下)。它也会查找/etc/gitconfig,尽管它是相对于Msys 根目录的。这可能是你在Windows中运行安装程序时决定安装Git的任何地方。

配置相关信息:

2.1 当你安装Git后首先要做的事情是设置你的用户名称和e-mail地址。这是非常重要的,因为每次Git提交都会使用该信息。它被永远的嵌入到了你的提交中:

$ git config –global user.name “John Doe”

$ git config –global user.email johndoe@example.com

2.2??? 你的编辑器(Your Editor)

现在,你的标识已经设置,你可以配置你的缺省文本编辑器,Git在需要你输入一些消息时会使用该文本编辑器。缺省情况下,Git使用你的系统的缺省编辑器,这通常可能是vi 或者 vim。如果你想使用一个不同的文本编辑器,例如Emacs,你可以做如下操作:

$ git config –global core.editor emacs

2.3 检查你的设置(Checking Your Settings)

如果你想检查你的设置,你可以使用 git config –list 命令来列出Git可以在该处找到的所有的设置:

$ git config –list

你也可以查看Git认为的一个特定的关键字目前的值,使用如下命令 git config {key}:

$ git config user.name

2.4 获取帮助(Getting help)

如果当你在使用Git时需要帮助,有三种方法可以获得任何git命令的手册页(manpage)帮助信息:

$ git help <verb>

$ git <verb> –help

$ man git-<verb>

例如,你可以运行如下命令获取对config命令的手册页帮助:

$ git help config