存档

‘Linux/Unix操作系统大全’ 分类的存档

ubuntu永久修改主机名

2017年2月21日 评论已被关闭

ubuntu永久修改主机名
http://blog.csdn.net/ruglcc/article/details/7802077
ubuntu永久修改主机名

1、查看主机名

在Ubuntu系统中,快速查看主机名有多种方法:
其一,打开一个GNOME终端窗口,在命令提示符中可以看到主机名,主机名通常位于“@”符号后;
其二,在终端窗口中输入命令:hostname或uname –n,均可以查看到当前主机的主机名。

2、临时修改主机名

命令行下运行命令:“hostname 新主机名”
其中“新主机名”可以用任何合法字符串来表示。不过采用这种方式,新主机名并不保存在系统中,重启系统后主机名将恢复为原先的主机名称。
例子:hostname ubuntu-temp
这样主机名字就临时被修改为ubuntu-temp,但是终端下不会立即显示生效后的主机名,重开一个终端窗口(通过ssh连接的终端需要重新连接才可以);
3、永久修改主机名

在Ubuntu系统中永久修改主机名也比较简单。主机名存放在/etc/hostname文件中,修改主机名时,编辑hostname文件,在文件中输入新的主机名并保存该文件即可。重启系统后,参照上面介绍的快速查看主机名的办法来确认主机名有没有修改成功。

值的指出的是,在其它Linux发行版中,并非都存在/etc/hostname文件。如Fedora发行版将主机名存放在/etc/sysconfig/network文件中。所以,修改主机名时应注意区分是哪种Linux发行版。

3、/etc/hostname与/etc/hosts的区别
/etc/hostname中存放的是主机名,hostname文件的一个例子:
v-jiwan-ubuntu-temp

/etc/hosts存放的是域名与ip的对应关系,域名与主机名没有任何关系,你可以为任何一个IP指定任意一个名字,hostname文件的一个例子:
127.0.0.1 localhost
127.0.1.1 v-jiwan-ubuntu

搭建本地yum仓库

2017年1月21日 评论已被关闭

搭建本地yum仓库
http://linuxfans.cn/2016/09/07/yum/
yum 详解

yum 简介

yum全称(Yellow dog Updater, Modified),用python开发的软件包管理器,yum实现了自动化的安装,更新,移除rpm包,查询rpm包的相关信息,检查依赖性并自动解决。yum仓库可以使用http或ftp或本地文件系统搭建,可以同时配置多个仓库(Repository),自动解决增加或删除rpm包时遇到的依赖性问题。

配置文件yum.conf

两个变量,为了自动识别不同的操作系统版本
$basearch
$releasever
[main]
cachedir=/var/cache/yum/$basearch/$releasever
缓存的目录
keepcache=0
是否在安装完成后留下缓存
debuglevel=2
调试级别
logfile=/var/log/yum.log
日志文件
exactarch=1
精确地匹配系统版本
obsoletes=1
过期的废弃的包是否使用
gpgcheck=1
检查程序包来源合法性,及完整性
plugins=1
是否支持插件
# PUT YOUR REPOS HERE OR IN separate files named file.repo
# in /etc/yum.repos.d
yum命令的子命令
List of Commands:
check Check for problems in the rpmdb
check-update Check for available package updates
clean Remove cached data
deplist List a package’s dependencies
distribution-synchronization Synchronize installed packages to the latest available versions
downgrade downgrade a package
erase Remove a package or packages from your system
groupinfo Display details about a package group
groupinstall Install the packages in a group on your system
grouplist List available package groups
groupremove Remove the packages in a group from your system
help Display a helpful usage message
history Display, or use, the transaction history
info Display details about a package or group of packages
install Install a package or packages on your system
list List a package or groups of packages
load-transaction load a saved transaction from filename
makecache Generate the metadata cache
provides Find what package provides the given value
reinstall reinstall a package
repolist Display the configured software repositories
resolvedep Determine which package provides the given dependency
search Search package details for the given string
shell Run an interactive yum shell
update Update a package or packages on your system
update-minimal Works like update, but goes to the ‘newest’ package match which fixes a problem that affects your system
updateinfo Acts on repository update information
upgrade Update packages taking obsoletes into account
version Display a version for the machine and/or available repos.
配置本地yum仓库

安装createrepo软件
yum -y install createrepo
把需要的包放到文件夹中
mkdir -p /var/www/html/local/6/x86_64
创建repodata,repodata会自动搜索生成依赖关系。
cd /var/www/html/local/6/x86_64
createrepo .
提供yum服务
yum -y install httpd
service httpd start
浏览
http://10.0.0.61/local/6/x86_64/
添加新的rpm包,更新repodata
createrepo –update .
修改/etc/yum.conf
keepcache=1
可将安装的软件包保留下来
cachedir=/var/cache/yum/$basearch/$releasever
这里是缓存路径
客户端配置
#cd /etc/yum.repos.d
#vim local.repo
[local]
name=Local Centos Yum Server
baseurl=http://10.0.0.61/local/6/x86_64
enable=1
gpgcheck=0
#yum –enablerepo=local –disablerepo=base,extras,updates,epel list
同步yum源
镜像同步公网yum源
上游yum源必须要支持rsync协议,否则不能使用rsync进行同步。
http://mirrors.ustc.edu.cn/status/
CentOS官方标准源:rsync://mirrors.ustc.edu.cn/centos/
epel源:rsync://mirrors.ustc.edu.cn/epel/
同步命令:
/usr/bin/rsync -av rsync://mirrors.ustc.edu.cn/centos/6/os/x86_64/ /var/www/html/centos/6/os/x86_64/
/usr/bin/rsync -av rsync://mirrors.ustc.edu.cn/centos/6/extras/x86_64/ /var/www/html/centos/6/extras/x86_64/
/usr/bin/rsync -av rsync://mirrors.ustc.edu.cn/centos/6/updates/x86_64/ /var/www/html/centos/6/updates/x86_64/
# epel源
/usr/bin/rsync -av –exclude=debug rsync://mirrors.ustc.edu.cn/epel/6/x86_64/ /var/www/html/epel/6/x86_64/

分类: RedHat/CentOS操作系统 标签:

-bash: crontab: command not found

2016年12月16日 评论已被关闭

-bash: crontab: command not found
http://blog.163.com/ydmx_lei/blog/static/77053405201384111426238/
操作步骤

1. 确认crontab是否安装:

执行 crontab 命令如果报 command not found,就表明没有安装

2. 安装 crontab

执行 yum install -y vixie-cron

3. 确认是否安装成功:

执行 crontab -l

4. 看是否设置了开机自动启动

chkconfig –list crond

5. 启动crontab

service crond start

CentOS、Ubuntu、Debian三个linux比较异同

2016年12月13日 评论已被关闭

CentOS、Ubuntu、Debian三个linux比较异同
http://blog.csdn.net/educast/article/details/38315433/
Linux有非常多的发行版本,从性质上划分,大体分为由商业公司维护的商业版本与由开源社区维护的免费发行版本。
商业版本以Redhat为代表,开源社区版本则以debian为代表。这些版本各有不同的特点,在不同的应用领域发挥着不同的作用,不能一概而论。而绝大多数VPS上只提供开源社区维护的发行版本。下面就这些不同的Linux发行版进行简单的分析。
Ubuntu
Ubuntu近些年的粉丝越来越多,Ubuntu有着漂亮的用户界面,完善的包管理系统,强大的软件源支持,丰富的技术社区,Ubuntu还对大多数硬件有着良好的兼容性,包括最新的图形显卡等等。这一切让Ubuntu越来越向大众化方向发展。但别忘了:你所需要的只是一个简约、稳定、易用的服务器系统而已!
Ubuntu的图形界面固然漂亮,但这也决定了它最佳的应用领域是桌面操作系统而非服务器操作系统。如何你希望在学习Linux的过程中有个沉浸式的环境,那么Ubuntu的确不错:仅仅安装在自己的电脑中而非服务器中。从这一点来讲,Ubuntu并没有在VPS安装的操作系统选择之列,相信你也不会为了那数百M的驱动与宝贵的内存买单。
CentOS
你会发现非常多的商业公司部署在生产环境上的服务器都是使用的CentOS系统,CentOS是从RHEL源代码编译的社区重新发布版。CentOS简约,命令行下的人性化做得比较好,稳定,有着强大的英文文档与开发社区的支持。与Redhat有着相同的渊源。虽然不单独提供商业支持,但往往可以从Redhat中找到一丝线索。相对debian来说,CentOS略显体积大一点。是一个非常成熟的Linux发行版。
Debian
一般来说Debian作为适合于服务器的操作系统,它比Ubuntu要稳定得多。可以说稳定得无与伦比了。debian整个系统,只要应用层面不出现逻辑缺陷,基本上固若金汤,是个常年不需要重启的系统(当然,这是夸张了点,但并没有夸大其稳定性)。debian整个系统基础核心非常小,不仅稳定,而且占用硬盘空间小,占用内存小。128M的VPS即可以流畅运行Debian,而CentOS则会略显吃力。但是由于Debian的发展路线,使它的帮助文档相对于CentOS略少,技术资料也少一些。
由于其优秀的表现与稳定性,Debian非常受VPS用户的欢迎。
此外还有Arch Linxu、Gentoo、Slackware等一系列的Linux和FreeBSD、Unix等系统,由于其涉及领域更加专业,很少在VPS中出现,因此不作介绍。
对于初学者,我们建议采用CentOS或Debian,这两种系统都能在配置较低的VPS上流畅运行。但是如果VPS配置太低(OPENVZ内存在128M以下,或者XEN架构内存在192M以下),建议采用Debian;否则建议采用CentOS,以获取更多的在线帮助与支持,让自己入门更轻松。

CentOS、Ubuntu、Debian三个linux都是非常优秀的系统,开源的系统,也分付费的商业版和free免费版本,下面简单比较这三种系统。
CentOS系统
很多网站站长一般都选择centOS系统,CentOS是从redhat源代码编译重新发布版。CentOS去除很多与服务器功能无关的应用,系统简单但非常稳定,命令行操作可以方便管理系统和应用,并且有帮助文档和社区的支持。
Ubuntu系统

Ubuntu有亮丽的用户界面,完善的包管理系统,强大的软件源支持,丰富的技术社区,并且Ubuntu对计算机硬件的支持好于centos和debian,兼容性强,Ubuntu应用非常多,但对于服务器系统来说,个人感觉并不需要太多的各种应用程序,需要的是稳定,操作方便,维护简单的系统。如果你需要在服务器端使用图形界面,ubuntu是一个不错的选择,你需要注意的是,图形界面占用的内存非常大,而内存越大的vps价格也越高。

Debian系统
Debian也非常适合做服务器操作系统,与Ubuntu比较,它没有太多的花哨,稳定压倒一切,对于服务器系统来说是一条不变的真理,debian这个linux系统,底层非常稳定,内核和内存的占用都非常小,在小内存的VPS就可以流畅运行Debian,比如128m的内存,但debian的帮助文档和技术资料比较少。对于小内存,首选debian,对于非常熟悉linux系统的vps高手,首选debian。

在系统的选择上,属于新手,首选CentOS,并不是centos比Debian和ubuntu好,而是centos是初学者安装vps的首选,它既稳定,占用资源又少,在网络上能方便搜索到安装配置的文档,自身的帮助文档也非常强大;如果你是linux高手,高手的境界一般都选择debian,因为高手能在低配的vps上稳定运行系统;而ubuntu,系统虽然免费,但它适合有钱人玩,它占用的资源是比前面两种系统更高,而vps基本就是卖内存,内存越高,价格越贵。

我们运行着一些全球最大的互联网的营运,因此我们对可靠性和稳定性非常重视,是我们的第一要务。为此,我们只使用Linux来支撑顾客的系统。但是,我们应该使用哪一个Linux的发行版?答案是,CentOS。 为什么呢?

作为一个庞大的系统运营商,在很长的一段时间里,我们需要在多种大型系统中找到一个可靠的,可预测的系统,我们需要从世界上最强大的软件供应商和开源项目中获得强有力的支持。对于那些最常用的系统,我们需要文档,工具和全球性资源。

正因如此,RedHat / CentOS系列发行版正是我们的选择。他们能够满足以上所有需求,而且问题相对较少、长期稳定,这使得我们能够为成千上万的运行了不同配置、服务和应用的系统提供世界级的维护。

RedHat Enterprise Linux (RHEL)是黄金标准的企业发行版。它每五年左右更新一次,在系统的稳定性,前瞻性和安全性上有着极大的优势。每当新的主版本发行后,比如 5.x亦或最近的6.x,所有版本和代码都将保留不变,只有安全问题或是主要的bug,例如后门,端口之类的问题,会通过发布新的子版本来修复。

CentOS是RHEL发行版对应的开源版本,通常在RedHat的发布后就会很快发行。我们使用CentOS的原因在于RHEL发行版的标准支持服务费用非常高,大约每台服务器800美元左右,对于我们很多拥有数十台甚至上百台服务器的用户来说,这是必须要控制的成本。

RHEL/CentOS系统有两个潜在的问题。

首先,一旦确定了主版本,,除了安全问题和严重故障会被修复以外,其他内容将不会做任何改变。这虽然对稳定性有好处,但是对许多服务不利。比如MySQL和PHP服务,它们在这五年的CentOS/RHEL主版本发布周期中会进行繁重的开发和大量的修改。例如,MySQL5.0 是当前RHEL/CentOS主版本所默认使用的版本,但是当前MySQL已经更新到5.1和5.5版本了。

幸运的是,这个问题被Yum软件包管理器轻易地解决了。如此以来,那些主要的软件,例如当前RHEL/CentOS中实际的组件,包括内核和所有工具等仍然来自发行版, 但是那些附加的软件,例如Nginx,Apache,PHP,Java和MySQL等等来自更新的软件源例如Fedora; 或者直接从开发商获取更新的版本例如MySQL。 在我们这里,我们有自己专用的安装镜像来全自动的处理所有这些事情。

其次,CentOS的发行会滞后于RedHat的发行,包括关键的补丁和修复。这在RHEL 6.x的发行周期中尤为显著。但是根据我们的经验,这没什么好担心的,对我们来说永远不会成为问题。

很多人询问我们为什么不用基于Debian的系统,例如Debian或者Ubuntu服务器。如果在别无选择的情况下,我们的确会支持这个建议,但是根据我们的经验来看,这些系统并不如RHEL/CentOS来的稳定和可靠。

我们认为,这在某种程度上是由于他们过快的发展和各个版本、组合之间较少的测试且不成熟所导致的。然而尽管他们非常流行,但是主要的服务商和项目都仍然首选RHEL/CentOS系统,因为这样他们就可以为企业顾客提供服务,(对Oracle和MySQL更是如此)。除此之外,基于Debian的系统有许多内核和稳定性问题,尤其是在我们的云计算服务中。

对我们而言,唯一使用Debian/Ubuntu的原因是:

“它们能够为一个系统提供必要的特殊服务时,尤其是当一些驱动程序或者一些IO 子系统需要一种新的内核的时候”。例如,ext4 文件系统或在最近的内核中日志的改变等;现在,所有这一切都包含在了RHEL/CentOS6.x中。

当然,多数Linux开发者都使用的是Ubuntu的桌面版,而且可以理解的是,他们更倾向在开发生产时使用相同的系统,并且还能使用很多有趣的工具。但总体上来说,我们依然认为RHEL/CentOS是一个更优越的部署平台,并且已经有十多个客户成功地转向使用CentOS 作为生产环境并且没有任何问题,但这仍然是艰巨的任务。

总的来说,你将更乐于看到一个良好管理的CentOS 系统。我们有成千上万台服务器使用CentOS平台,而每年平均只有一台服务器崩溃。我们也很难想象它竟如此罕见,所以,挑一个优秀、迅捷、可靠的平台吧!

centos 5.3 不能登录字符界面问题的解决

2016年12月11日 评论已被关闭

centos 5.3 不能登录字符界面问题的解决

2009-07-17 23:53

看了鸟哥的私房菜,发现在图形界面下可以快速的切换到字符界面下,只要使用ctrl+alt+F1键就可以了(F1是功能键,当然也可以是F2~F7,F7是切换到图形界面的)。欣喜若狂的我,马上尝试了一把。结果令我相当的失望,输入正确的密码后,又回到了登录的界面。总是登录不进去,快郁闷疯了。

 

但是要解决问题的啊,只会郁闷是不起作用的。那么就考虑到是认证的问题。和认证相关的就是/etc/pam.d/这个目录了。而这个问题又是在登录问题相关的。那么一定和/etc/pam.d/login这个配置文件有关系的。起初去看这个文件,发现不了什么问题。一切都是那么平静又那么的正常。

 

还是搞不定了啊。在搞不定的时候,问google啊。其实google有时候也是搜不到丢答案的,这次google就没有给出答案,但是给了个提示。在一篇文章里看到有个哥们查看vim /var/log/secure这个文件,对这个文件,原来还没有结果。此时去观察一把吧,反正这个问题又不是一会能解决的。

 

下面就看看这个文件吧,发现了如下的内容:

 

Jul 17 19:27:12 localhost gdm[6068]: pam_unix(gdm:session): session opened for user root by (uid=0)

Jul 17 20:21:27 localhost userhelper[28055]: pam_timestamp(system-config-authentication:session): updated timestamp file `/var/run/sudo/root/unknown’

Jul 17 20:21:27 localhost userhelper[28058]: running ‘/usr/share/authconfig/authconfig-gtk.py’ with root privileges on behalf of ‘root’

Jul 17 20:22:03 localhost login: PAM unable to dlopen(/lib/security/pam_limits.so)

Jul 17 20:22:03 localhost login: PAM [error: /lib/security/pam_limits.so: wrong ELF class: ELFCLASS32]

Jul 17 20:22:03 localhost login: PAM adding faulty module: /lib/security/pam_limits.so

Jul 17 20:22:05 localhost login: pam_unix(login:session): session opened for user root by (uid=0)

Jul 17 20:22:05 localhost login: Module is unknown

Jul 17 20:22:08 localhost login: PAM unable to dlopen(/lib/security/pam_limits.so)

Jul 17 20:22:08 localhost login: PAM [error: /lib/security/pam_limits.so: wrong ELF class: ELFCLASS32]

Jul 17 20:22:08 localhost login: PAM adding faulty module: /lib/security/pam_limits.so

Jul 17 20:22:11 localhost login: pam_unix(login:session): session opened for user root by LOGIN(uid=0)

Jul 17 20:22:11 localhost login: Module is unknown

 

这里一个so文件的一个类有错误了。既然错了,那么我就不用了。我先去把/etc/pam.d/login文件里面的有/lib/security/pam_limits.so那一行注释掉。

 

这时候再登录字符界面,可以登录进去了,比较高兴。dlopen不能打开so文件,是什么问题呢??我去找了一把/lib/security/pam_limits.so文件,结果这个文件是存在的。下面的出现了32的信息,难道和操作系统的位数有关?我到/lib64/securrity/目录下,找了一把pam_limits.so文件,很不错,找到了。那么我可以把前面注释掉的那一行修改一下吗??抱着试试看的态度修改了一下,结果把问题搞定了。原来是动态库的架构不一样导致了登录不上字符界面。

 

遇到系统的问题,应该马上去查找他的日志文件,来查询发生了什么问题。这样,对搞定问题有很大帮助。以后就多研究日志文件了,呵呵。

Debian 8 出現 sudo command not found

2016年12月9日 评论已被关闭

Debian 8 出現 sudo command not found
http://achiuan.com/1573/debian-8-出現-sudo-command-not-found.html
這幾天新租了一台 VPS 這是一家新的 VPS 公司因此價格上優惠許多就租了一台來玩玩。

一開始在進行系統安裝時都還很順暢,不過在登入主機要準備開始進行設定時,竟然發現無法使用 sudo,看來這家廠商提供的安裝快照當中並沒有安裝 sudo 的套件,只好自己安裝。

要安裝 sudo 套件很簡單只要執行下面的指令就可以
apt-get install sudo
1
apt-get install sudo
現在我們就可以順地的使用 sudo 去下一些指令嚕!

执行sudo时”command not found”解决方案

2016年12月9日 评论已被关闭

执行sudo时”command not found”解决方案

http://lazybios.com/2015/01/command-not-found-when-excute-sudo/

使用sudo执行命令时,有的命令会提示”command not found”,找了下原因是因为sudo在编译安装时候缺省使用了—with-secure-path参数,致使$PATH环境变量在sudo时被覆盖,于是就找不到要执行命令的位置了,自然会报错

 

解决方法

 

通过使用别名(alias),在执行sudo时同时定义环境变量为正确变量,添加下行到~/.bashrc

 

alias sudo=”sudo env PATH=$PATH”

 

当然还有一个办法就是重装,取消-–with-secure-path参数,但个人觉得没必要,只要能保证正常行为就可以了,但是如果是多用户,那么就有必要了~

 

解决 debian TAB 键不能自动补全命令的原因

2016年12月8日 评论已被关闭

解决 debian TAB 键不能自动补全命令的原因

http://phpquan.com/lamp/linux/debian-tab-apt-get/

一般情况,命令行输入 sudo apt-get ins 按 tab ,它后面会自动补全为 install 如果右面写了包的名的一部分,按 tab 它也会自动完成或列出候选的,这次装了个 debian 5 突然不好使了

首先确认是否安装了 自动补全的插件,输入

apt-get install bash-completion

问了一圈都不知道,后来还是在老外的 blog 上找到答案:

即 在 .bash_profile 里加

if [ -f /etc/bash_completion ]; then
. /etc/bash_completion
fi

就 ok 了

链接:http://gumelta.com/add-bash-completion-in-debian.php

完整 copy 下来吧:

Add Bash Completion In Debian

ash completion is a useful tool for completion of file paths, commands etc. By default it is enabled on Ubuntu but not on Debian. With two simple steps it can also be enabled on Debian.

1. Install bash-completion

First of all we need the install the according package:

apt-get install bash-completion

2. Add it to the bash profile

Either edit the ~/.bash_profile file to enable it only for a given user or edit /etc/profile to add it system-wide. Add the following code:
if [ -f /etc/bash_completion ]; then
. /etc/bash_completion
fi
3. Try it

In order for it to work you have to log out and relogin and then you can make use of bash completion the usual way. E.g. issue:
apt-g

and then press the TAB key once and the command will be completed to apt-get. Or issue this:
apt

and then press TAB key twice. You can also try with
apt-get install apa

and then press TAB key once to complete as far as possible and a second time to list all options.

转自:http://hi.baidu.com/liheng_2009/

Debian 8 Tab命令无法自动补全

2016年12月8日 评论已被关闭

Debian 8 Tab命令无法自动补全
http://blog.csdn.net/langqingzailanda/article/details/50248661
在Dibian 8中使用useradd命令创建的用户默认使用dash,Tab无法自动补全

需要修改/etc/passwd中用户的属性,例如

tmp:x:1003:1003::/home/tmp:/bin/sh 修改为
tmp:x:1003:1003::/home/tmp:/bin/bash

或者在创建时加入相应参数

useradd -s /bin/bash <username>

系统dash配置

sudo dpkg-reconfigure dash
选no,就可以更改默认shell环境

另外,xfce桌面快捷键会占中tab键导致无法补全

可以按照下面链接中的方法进行解决
http://blog.163.com/thinki_cao/blog/static/83944875201303081111436/

解决 debian TAB 键不能自动补全命令的原因

2016年12月8日 评论已被关闭

解决 debian TAB 键不能自动补全命令的原因
https://my.oschina.net/yygh/blog/405403
一般情况,命令行输入 sudo apt-get ins 按 tab ,它后面会自动补全为 install 如果右面写了包的名的一部分,按 tab 它也会自动完成或列出候选的,这次装了个 debian 5 突然不好使了

首先确认是否安装了 自动补全的插件,输入

apt-get install bash-completion

问了一圈都不知道,后来还是在老外的 blog 上找到答案:

即 在 .bash_profile 里加

if [ -f /etc/bash_completion ]; then
. /etc/bash_completion
fi

就 ok 了

Linux(Ubuntu)配置问题集

2016年12月7日 评论已被关闭

Linux(Ubuntu)配置问题集
http://www.cnblogs.com/zzqcn/p/3490218.html

目录

Cannot set LC_CTYPE to default locale: No such file or directory
设置额外的环境变量
设置额外的动态库查找路径
VMware Workstation中的Ubuntu Server虚拟机重启后共享文件夹消失
man文档不全
修改系统对消息队列的默认限制
选择更快的软件源
静态IP时配置DNS
隔离某些cpu核心
修改网络配置
启动或停止网络服务

正文

回到顶部
Cannot set LC_CTYPE to default locale: No such file or directory
安装Ubuntu Server版本(不带桌面环境)时,如果安装时的语言选择了中文,发现在字符界面很多命令的输出结果中包含菱形方块乱码。
我们可以修改 /etc/default/locale 文件把中文环境改为英文环境,来解决这个问题,方法是把关键的

LANG=”zh_CN.UTF-8″
LANGUAGE=”zh_CN:zh:en_US:en”
改为

LANG=”en_US.UTF-8″
LANGUAGE=”en_US:en”
其余项中包含zh_CN的也替换为en_US。如果此时重启或重新登录系统,会发现运行locale等命令时会提示以下错误:

Cannot set LC_CTYPE to default locale: No such file or directory
我们需要回过头来检查/etc/default/locale中的设置,确认其中设置的en_US.UTF-8和en_US都已生成locale文件。比如我们要生成 en_US:

sudo locale-gen en_US
生成成功后,重新登录系统,就不会出现上述问题了。

回到顶部
设置额外的环境变量
为了系统清洁和安全性,一般不动全局配置,只对当前用户进行设置。

例如想将路径/usr/local/bin加入PATH,方法是打开~/.profile或~/.bashrc,加入

export PATH=$PATH:/usr/local/bin
修改保存后,想使配置立即生效,请运行:

source ~/.profile
#或
source ~/.bashrc
回到顶部

设置额外的动态库查找路径
Linux搜索动态库(.so)的顺序是:

$LD_LIBRARY_PATH
/etc/ld.so.cache
/lib 和 /usr/lib
因此,我们只需仿照上一主题所提到的修改PATH的方式,修改~/.profile或~/.bashrc即可。
比如想把路径/usr/local/lib加入动态库搜索路径,则在以上两个文件之一加入:

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib

回到顶部
VMware Workstation中的Ubuntu Server虚拟机重启后共享文件夹消失
前提:已经安装好VMware Tools,且宿主机Win7上已经设置好了共享文件夹,并设置为“总是启用”,但是重启后共享文件夹看不到了,即/mnt/hgfs下没有任何内容。

重新执行脚本 vmware-config-tools.pl 可以解决这个问题,但这个脚本的执行过程需要挺长时间;

执行 sudo service open-vm-tools restart ,也可以解决问题,但每次输入这个命令,很麻烦,可以将此命令加到 /etc/rc.local 中(不加sudo)。

回到顶部
man文档不全
在ubuntu系统下,使用man查看一些指令是,有时候会得不到相应的帮助信息。这并不是说查看的命令不存在,而是ubuntu系统的man指令的相关内容不存在。
比如今天(2014.01.28)我在man sigwait的时候,就找不到相关的文档。
解决这个问题的办法是安装相应的库,在系统上把下面几个安装上就可解决问题了。
【注】下面的文件可能版本稍有区别,但大同小异

manpages
manpages-dev
libstdc++6-4.3-doc
manpages-posix
manpages-posix-dev
如果有需要看中文手册的,留意一下zh打头的,安装好后就可以看中文了。

命令示例:

# 安装sigwait函数所在的man文档
sudo apt-get install manpages-posix-dev

改编自来源:http://blog.sina.com.cn/s/blog_68ef34f00101bcas.html

回到顶部
修改系统对消息队列的默认限制
复制代码
sudo vi /etc/sysctl.conf
增加:

#mqueue max
fs.mqueue.msg_max=1000
fs.mqueue.msgsize_max=8192
fs.mqueue.queues_max=255
复制代码
保存,重启系统就已经修改过了。

回到顶部
选择更快的软件源
1. 备份默认的软件源列表

sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
2. 将里面的内容替换为163的源,也可以自己找快的源( http://wiki.ubuntu.org.cn/源列表 )

sudo gedit /etc/apt/sources.list
3. 更新源信息:

sudo apt-get update
如果更新的时候如果有问题, 按如下方法解决

apt-get update时出现错误:

W: GPG error: http://ftp.us.debian.org lenny-proposed-updates Release: The following signatures couldn’t be verified because the public key is not available: NO_PUBKEY AED4B06F473041FA

这个是由于PGP证书的问题,如下解决:

gpg –keyserver wwwkeys.pgp.net –recv-keys AED4B06F473041FA
gpg -a –export AED4B06F473041FA |apt-key add –

回到顶部
静态IP时配置DNS
使用管理员权限登录,编辑/etc/network/interfaces,找到dns-nameservers,加入DNS服务器地址

dns-nameservers 202.106.0.20 219.141.136.10
保存后重启即可。/etc/resolv.conf里的不要动,对它的修改会在重启后重置:

# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
# DO NOT EDIT THIS FILE BY HAND — YOUR CHANGES WILL BE OVERWRITTEN
nameserver 202.106.0.20
nameserver 219.141.136.10

回到顶部
隔离某些cpu核心
某些机器(比如服务器)有多个CPU,每个CPU有多个核心(这里指逻辑核心)。如果在这些机器上运行一些性能攸关的多核程序,就需要把用到的cpu核心隔离起来,以防被系统调度到。

复制代码
1. vim /etc/default/grub
修改GRUB_CMDLINE_LINUX_DEFAULT=”quiet splash isolcpus=1,2,3,4,7,8,9,10,11,13,14,15,18,19,20,21,22,23″
其中,1,2,3,4,7,8,9,10,11,13,14,15,18,19,20,21,22,23是要隔离的cpu核心编号

2. update-grub

3. 重新启动
复制代码

回到顶部
修改网络配置
编辑/etc/network/interfaces文件,该文件内容形如:

复制代码
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto eth1
iface eth1 inet dhcp
复制代码
修改完后重新启动该适配器:

ifdown eth1 && ifup eth1
当给虚拟机配置了多块网卡时(一些主机模式,一个NAT模式),在某些时候可能由于某种原因网卡配置被改变,导致无法远程登录,这个时候打开vmware设置,把相应适配器(如eth1)设置为NAT模式即可。

回到顶部
启动或停止网络服务
sudo /etc/init.d/networking restart
sudo /etc/init.d/networking start
sudo /etc/init.d/networking stop

Debian packages don’t follow Provides?

2016年11月25日 评论已被关闭

Debian packages don’t follow Provides?

http://stackoverflow.com/questions/33467679/debian-packages-dont-follow-provides
I have the following 2 packages (custom built):

**apt-cache show libmysqlclient18**
Package: libmysqlclient18
Section: libs
Installed-Size: 4194
Architecture: amd64
Version: 5.6.27
Depends: mysql-common (>= 5.6.27)
Filename: ./libmysqlclient18.deb
Size: 1167158
MD5sum: cf4a5d292456375c4099b11f5ee6270d
SHA1: e9c4f185bed358e5dda908555686b2884d341772
SHA256: 3092f2af61493bd8e75503568ff622ce1dd81a9ce04aa072d28c336092835e8f
SHA512: e0ffcf7cd48f230225fb48bf5fee8968f1e4006c581529b196a27bff06257fe1da55e80434af0e2e58d2805156da37c44d7994a5af233e8942ecc6d99d680117
Description-en: MySQL database client library
MySQL is a fast, stable and true multi-user, multi-threaded SQL database
server. SQL (Structured Query Language) is the most popular database query
language in the world. The main goals of MySQL are speed, robustness and
ease of use.
.
This package includes the client library.
And the following:

**dpkg –info libmysqlclient20.deb**
new debian package, version 2.0.
size 1429220 bytes: control archive=909 bytes.
768 bytes, 18 lines control
72 bytes, 1 lines md5sums
268 bytes, 15 lines * postinst #!/bin/bash
139 bytes, 7 lines * postrm #!/bin/sh
45 bytes, 0 lines shlibs
Package: libmysqlclient20
Architecture: amd64
Version: 5.7.9
Section: libs
Depends: mysql-common (>= 5.7.9)
Provides: libmysqlclient15, libmysqlclient18
Conflicts: libmysqlclient15, libmysqlclient18
Replaces: libmysqlclient15, libmysqlclient18
Installed-Size: 4565
Description: MySQL shared client libraries
The MySQL(TM) software delivers a very fast, multi-threaded, multi-user,
and robust SQL (Structured Query Language) database server. MySQL Server
is intended for mission-critical, heavy-load production systems as well
as for embedding into mass-deployed software. MySQL is a trademark of
Oracle. This package contains the shared libraries for MySQL client
applications.
Now when trying to install the libmysqlclient20, I do get a LOT of warnings about dependencies not being met:

Reading package lists… Done
Building dependency tree
Reading state information… Done
dovecot-mysql is already the newest version.
libdbd-mysql-perl is already the newest version.
libdbd-mysql-perl set to manually installed.
libmailutils4 is already the newest version.
mailutils is already the newest version.
mailutils set to manually installed.
libqt4-sql-mysql is already the newest version.
libqt4-sql-mysql set to manually installed.
php5-mysql is already the newest version.
php5-mysql set to manually installed.
zabbix-server-mysql is already the newest version.
You might want to run ‘apt-get -f install’ to correct these:
The following packages have unmet dependencies:
dovecot-mysql : Depends: libmysqlclient18 (>= 5.5.24+dfsg-1)
libdbd-mysql-perl : Depends: libmysqlclient18 (>= 5.5.24+dfsg-1)
libmailutils4 : Depends: libmysqlclient18 (>= 5.5.24+dfsg-1)
libqt4-sql-mysql : Depends: libmysqlclient18 (>= 5.5.24+dfsg-1)
mailutils : Depends: libmysqlclient18 (>= 5.5.24+dfsg-1)
php5-mysql : Depends: libmysqlclient18 (>= 5.5.24+dfsg-1)
zabbix-server-mysql : Depends: libmysqlclient18 (>= 5.5.24+dfsg-1)
Recommends: snmptt but it is not going to be installed
E: Unmet dependencies. Try ‘apt-get -f install’ with no packages (or specify a solution).
What I can’t understand is that I did provide a “Provides” header in the control file as well as a “Replaces” header. How is it possible that, when I say the new package provides libmysqlclient18, it chooses to ignore that?

(and when I want to do apt-get -f install, it wants to remove the libmysqlclient20, and reinstall libmysqlclient18).

Would anyone know what I’m missing here?

Thanks!

wget http://repo.zabbix.com/zabbix/3.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_3.0-1+xenial_all.deb
dpkg -i zabbix-release_3.0-1+xenial_all.deb
sudo apt-get update && sudo apt-get upgrade

AirCRM on Ubuntu 16.04 64bit Installation Issue. HELP

2016年11月25日 评论已被关闭

AirCRM on Ubuntu 16.04 64bit Installation Issue. HELP

https://community.ubnt.com/t5/U-CRM-Control-Beta/AirCRM-on-Ubuntu-16-04-64bit-Installation-Issue-HELP/td-p/1545302

root@AirCRM:/home/lsti# gdebi crmpoint_0.3.5_amd64.deb
Reading package lists… Done
Building dependency tree
Reading state information… Done
Reading state information… Done
This package is uninstallable
Dependency is not satisfiable: libmysqlclient18

root@AirCRM:/home/lsti# apt-get install libmysqlclient18
Reading package lists… Done
Building dependency tree
Reading state information… Done
Package libmysqlclient18 is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source

E: Package ‘libmysqlclient18’ has no installation candidate
root@AirCRM:/home/lsti#

 

To answer the OPs question with regards to getting CRM running on 16.04. It works fine on 16.04, but libmysqlclient18 is not in the repository so apt-get won’t install it with -f. I had to download the .deb package from the ubuntu arcives here archive.ubuntu.com/ubuntu/pool/main/m/mysql-5.6/libmysqlclient18_5.6.25-0ubuntu1_amd64.deb
and install manually using ‘dpkg -i /path/to/.deb’ then run the dpkg install for CRM.

So for 16.04 follow the installation instructions provided here: community.ubnt.com/t5/U-CRM-Control-Beta/U-CRM-Control-Beta/m-p/1372251#U1372251

But insert the following commands between steps 2 and 3:

wget http://archive.ubuntu.com/ubuntu/pool/main/m/mysql-5.6/libmysqlclient18_5.6.25-0ubuntu1_amd64.deb

sudo dpkg -i /path/to/package/crmpoint_0.3.5_amd64.deb

 

 

 

Unable to correct problems, you have held broken packages

2016年11月25日 评论已被关闭

Unable to correct problems, you have held broken packages

http://www.linuxquestions.org/questions/linux-desktop-74/unable-to-correct-problems-you-have-held-broken-packages-4175510237/

Hey forum I wanted to run some applications that required Gnome (wouldn’t run on unity) I thought what I was doing was installing Gnome as an option to run by selecting it at the login screen. Unfortunatly I now have no unity option. Default is now Gnome and unity-desktop will NOT reinstall.

I have gnome(default), XBMC, & Cinnamon for options

I have searched all over and found nothing that has worked! I am ready to just start over but would love to fix it instead

Terminal output:

Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
ubuntu-desktop : Depends: ubuntu-session but it is not going to be installed
Depends: unity-control-center but it is not going to be installed
Depends: unity-settings-daemon but it is not going to be installed
Recommends: xul-ext-webaccounts but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

 

sudo apt-get update && sudo apt-get upgrade

E: Unable to correct problems, you have held broken packages 解决方法

2016年11月24日 评论已被关闭

E: Unable to correct problems, you have held broken packages 解决方法
http://www.cnblogs.com/Jerryshome/p/4260942.html
在Ubuntu中安装软件的时候经常碰到E: Unable to correct problems, you have held broken packages.的错误,顾名思义是因为某些软件包冲突导致,幸运的话sudo apt-get update && sudo apt-get upgrade 可以解决,但这种情况属于可遇不可求,更多的适合这么做不济于事。这样一来如何彻底解决就成了一个问题,经过多次摸索之后,将可行的解决方法记录如下:

以安装libxml2-dev时错误为例,安装时提示如下错误:

$ sudo apt-get install libxml2-dev
Reading package lists… Done
Building dependency tree
Reading state information… Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
libxml2-dev : Depends: libxml2 (= 2.7.8.dfsg-5.1ubuntu4) but 2.7.8.dfsg-5.1ubuntu4.6 is to be installed
解决方法如下:

$sudo apt-get install aptitude
$aptitude why-not libxml2
p shared-mime-info:i386 Provides shared-mime-info
p shared-mime-info:i386 Depends libxml2:i386 (>= 2.7.4)
p libxml2:i386 Breaks libxml2 (!= 2.7.8.dfsg-5.1ubuntu4)

$dpkg -l | grep libxml2
找到已经安装的对应的libxml2包
$sudo dpkg –purge –force-all libxml2
# 删除libxml2,并删除其他所有依赖包,–force-all参数很重要
$sudo apt-get -f install
# 强制安装欠缺的包
$sudo apt-get install libxml2-dev

Ubuntu Server如何配置SFTP(建立用户监狱)

2016年11月23日 评论已被关闭

Ubuntu Server如何配置SFTP(建立用户监狱)

 http://www.cnblogs.com/findumars/p/4004251.html

SSH File Transfer Protocol是一个比普通FTP更为安全的文件传输协议。(参考资料:http://en.wikipedia.org/wiki/SSH_File_Transfer_Protocol)它工作在Secure Shell(SSH)上,确保文件被加密传输。

因为工作需要,我研究了一下如何在Ubuntu Server上配置SFTP,记录如下。
需求:在服务器上开通SFTP文件服务,允许某些用户上传及下载文件。但是这些用户只能使用SFTP传输文件,不能使用SSH终端访问服务器,并且SFTP不能访问系统文件(即所谓的“Jail(监狱)”)。系统管理员则既能使用SFTP传输文件,也能使用SSH远程管理服务器。
为了便于讨论,我假设我将允许sftp-users用户组内的用户使用SFTP,但不允许使用SSH Shell,且该组用户将被”监狱”(修改系统根目录)。我将在sftp-users组内创建一个用户“alice”。而我将允许ssh-users使用SFTP以及SSH。系统管理员的账户名为admin。
第01步,如果还没有安装OpenSSH服务器,先安装它。
sudo apt-get install openssh-server
第02步,为SFTP访问创建用户组,便于管理权限。
sudo addgroup sftp-users
第03步,创建SFTP用户,并配置相应权限。这里第二行的意思是将alice从所有其他用户组中移除并加入到sftp-users组,并且关闭其Shell访问。如果想深入了解usermod命令,可以使用以下”man usermod”命令查看帮助文档。
sudo adduser alice
sudo usermod -G sftp-users -s /bin/false alice
第04步,创建SSH用户组,并把管理员加入到该组(注意usermod中的-a参数的意思是不从其他用户组用移除)。
sudo addgroup ssh-users
sudo usermod -a -G ssh-users admin
第05步,准备“监狱”的根目录及共享目录。这里解释一下,“监狱”的根目录必须满足以下要求:所有者为root,其他任何用户都不能拥有写入权限。因此,为了让SFTP用户能够上传文件,还必须在“监狱”根目录下再创建一个普通用户能够写入的共享文件目录。为了便于管理员通过SFTP管理上传的文件,我把这个共享文件目录配置为:由admin所有,允许sftp-users读写。这样,管理员和SFTP用户组成员就都能读写这个目录了。
sudo mkdir /home/sftp_root
sudo mkdir /home/sftp_root/shared
sudo chown admin:sftp-users /home/sftp_root/shared
sudo chmod 770 /home/sftp_root/shared
第06步,修改SSH配置文件。
sudo nano /etc/ssh/sshd_config
在sshd_config文件的最后,添加以下内容:
AllowGroups ssh-users sftp-users
Match Group sftp-users
ChrootDirectory /home/sftp_root
AllowTcpForwarding no
X11Forwarding no
ForceCommand internal-sftp

这些内容的意思是:
只允许ssh-uers及sftp-users通过SSH访问系统;
针对sftp-users用户,额外增加一些设置:将“/home/sftp_root”设置为该组用户的系统根目录(因此它们将不能访问该目录之外的其他系统文件);禁止TCP Forwarding和X11 Forwarding;强制该组用户仅仅使用SFTP。
如果需要进一步了解细节,可以使用“man sshd_config”命令。这样设置之后,SSH用户组可以访问SSH,并且不受其他限制;而SFTP用户组仅能使用SFTP进行访问,而且被关进监狱目录。
第07步,重启系统以便使新配置生效。
sudo reboot now
完成啦!
进一步的讨论:SSH用户组将能远程访问所有系统文件,也许不是所有情况下都适用。某些情况下,也许想同样把SSH用户也关监狱。这时候,需要作跟SFTP类似的配置(除了不用usermod -s /bin/false),而且需要把允许SSH用户访问的系统文件复制到监狱根目录下相应的位置。具体信息可以在网上查找,我自己没有实践验证,所以就不误导大家了。(上面这个教程,是我从网上很多似是而非的资料中通过自己的实验整理出来的,在Ubuntu Server 12.04 LTS 64-bit系统上验证通过。非常痛恨那些好像能用但实际错漏很多的教程!)

centos6.5 iptables实现端口转发

2016年11月12日 评论已被关闭

centos6.5 iptables实现端口转发

http://www.cnblogs.com/apexchu/p/4255551.html

将本地接口IP 61.144.a.b 的3389端口 转发到 116.6.c.d的3389      (主要访问到61.144.a.b的3389端口,就会跳转到116.6.c.d的3389)

【步骤】
1、 首先应该做的是/etc/sysctl.conf配置文件的 net.ipv4.ip_forward = 1 默认是0    这样允许iptalbes FORWARD。
2、 service iptables stop  关闭防火墙
3、 重新配置规则

iptables -t nat -A PREROUTING –dst 61.144.a.b -p tcp –dport 3389 -j DNAT –to-destination 116.
6.c.d:3389

iptables -t nat -A POSTROUTING –dst 116.6.c.d -p tcp –dport 3389 -j SNAT –to-source 61.144.a.b

service iptables save

将当前规则保存到 /etc/sysconfig/iptables
若你对这个文件很熟悉直接修改这里的内容也等于命令行方式输入规则。
5、 启动iptables 服务, service iptables start

可以写进脚本,设备启动自动运行;

# vi /etc/rc.local
#!/bin/sh
#
# This script will be executed *after* all the other init scripts.
# You can put your own initialization stuff in here if you don’t
# want to do the full Sys V style init stuff.

touch /var/lock/subsys/local

sh /root/myshipin.log
———————————————————————
vi myshipin.log
#!/bin/sh
#
# This script will be executed *after* all the other init scripts.
# You can put your own initialization stuff in here if you don’t
# want to do the full Sys V style init stuff.

iptables -F -t nat
iptables -t nat -A PREROUTING –dst 61.144.a.b -p tcp –dport 3389 -j DNAT –to-destination 116.6.c.d:3389
iptables -t nat -A POSTROUTING –dst 116.6.a.b -p tcp –dport 3389 -j SNAT –to-source 61.144.c.d
~
—————————————————————-
TCP

iptables -t nat -A PREROUTING –dst 61.144.a.b -p tcp –dport 9304 -j DNAT –to-destination 10.94.a.b:9304
iptables -t nat -A POSTROUTING –dst 10.94.a.b -p tcp –dport 9304 -j SNAT –to-source 61.144.a.b

UDP
iptables -t nat -A PREROUTING –dst 61.144.a.b -p udp –dport 9305 -j DNAT –to-destination 10.94.a.b:9305
iptables -t nat -A POSTROUTING –dst 10.94.a.b -p udp –dport 9305 -j SNAT –to-source 61.144.a.b

另:

iptables配置文件的位置:/etc/sysconfig/iptables 外网地址发变化在配置文件里修改就可以了。

centos6.5 iptables实现端口转发

2016年11月10日 评论已被关闭

centos6.5 iptables实现端口转发
http://www.cnblogs.com/apexchu/p/4255551.html
将本地接口IP 61.144.a.b 的3389端口 转发到 116.6.c.d的3389 (主要访问到61.144.a.b的3389端口,就会跳转到116.6.c.d的3389)

【步骤】
1、 首先应该做的是/etc/sysctl.conf配置文件的 net.ipv4.ip_forward = 1 默认是0 这样允许iptalbes FORWARD。
2、 service iptables stop 关闭防火墙
3、 重新配置规则

iptables -t nat -A PREROUTING –dst 61.144.a.b -p tcp –dport 3389 -j DNAT –to-destination 116.
6.c.d:3389

iptables -t nat -A POSTROUTING –dst 116.6.c.d -p tcp –dport 3389 -j SNAT –to-source 61.144.a.b

service iptables save

将当前规则保存到 /etc/sysconfig/iptables
若你对这个文件很熟悉直接修改这里的内容也等于命令行方式输入规则。
5、 启动iptables 服务, service iptables start
可以写进脚本,设备启动自动运行;
# vi /etc/rc.local
#!/bin/sh
#
# This script will be executed *after* all the other init scripts.
# You can put your own initialization stuff in here if you don’t
# want to do the full Sys V style init stuff.

touch /var/lock/subsys/local

sh /root/myshipin.log
———————————————————————
vi myshipin.log
#!/bin/sh
#
# This script will be executed *after* all the other init scripts.
# You can put your own initialization stuff in here if you don’t
# want to do the full Sys V style init stuff.

iptables -F -t nat
iptables -t nat -A PREROUTING –dst 61.144.a.b -p tcp –dport 3389 -j DNAT –to-destination 116.6.c.d:3389
iptables -t nat -A POSTROUTING –dst 116.6.a.b -p tcp –dport 3389 -j SNAT –to-source 61.144.c.d
~
—————————————————————-
TCP

iptables -t nat -A PREROUTING –dst 61.144.a.b -p tcp –dport 9304 -j DNAT –to-destination 10.94.a.b:9304
iptables -t nat -A POSTROUTING –dst 10.94.a.b -p tcp –dport 9304 -j SNAT –to-source 61.144.a.b

UDP
iptables -t nat -A PREROUTING –dst 61.144.a.b -p udp –dport 9305 -j DNAT –to-destination 10.94.a.b:9305
iptables -t nat -A POSTROUTING –dst 10.94.a.b -p udp –dport 9305 -j SNAT –to-source 61.144.a.b

另:

iptables配置文件的位置:/etc/sysconfig/iptables 外网地址发变化在配置文件里修改就可以了。

CentOS6 增加DNS地址的方法

2016年11月10日 评论已被关闭

CentOS6 增加DNS地址的方法
http://blog.sina.com.cn/s/blog_695d0b3001016vcn.html
增加DNS地址的方法
方法一:
修改dns解析配置文件
vim /etc/resolv.conf
新增或修改dns地址
nameserver xxx.xxx.xxx.xxx
nameserver xxx.xxx.xxx.xxx
方法二:
修改网卡配置文件
vim /etc/sysconfig/network-scripts/ifcfg-eth0
新增或修改dns地址
DNS1=xxx.xxx.xxx.xxx
DNS2=xxx.xxx.xxx.xxx

以上命令在CentOS6.2 64位下测试通过

CentOS挂载U盘、移动硬盘以及文件拷贝、备份

2016年11月10日 评论已被关闭

CentOS挂载U盘、移动硬盘以及文件拷贝、备份
http://www.centoscn.com/CentOS/2014/0318/2620.html
系统:centos6.2
以下操作均在root下执行的
1.U盘挂载
mkdir /mnt/usb //创建一个目录,用于挂载U盘
fdisk -l //查看系统中挂载的U盘,若系统有一块硬盘sdb1 代表你的U盘,/dev/sdb1表明机 器已识别U盘,
mount /dev/sdb1 /mnt/usb //把U盘/dev/sdb1挂载到/mnt/usb目录下
cd /mnt/usb //进入U盘目录,即可查看U盘里内容
umount /mnt/usb 或者 umount /dev/sdb1 //卸载U盘
2.挂载移动硬盘
我们平时用的移动硬盘是NTFS格式的,linux默认情况下是不支持NTFS分区,所以需要在linux下安装第三方的插件ntfs-3g。

安装ntfs-3g
yum install gcc //安装编译器,一直按Y即可,如果不安装gcc后面编译ntfs-3g时会失败,gcc是一种用语lonux系统下编程的编译器,
mkdir /usr/local/ntfs3g //创建文件夹ntfs3g,用于后面编译安装NTFS-3g
cd /usr/local/src //linux下默认源代码包存放位置;源码包编译安装位
置:/usr/local/软件名
wget http://tuxera.com/opensource/ntfs-3g_ntfsprogs-2011.4.12.tgz //下载ntfs-3g
tar zxvf ntfs-3g_ntfsprogs-2011.4.12.tgz //解压ntfs-3g软件压缩包
cd ntfs-3g_ntfsprogs-2011.4.12 //进入刚解压的文件夹,不知道目录名称可用ls 查看目录名
./configure –prefix=/usr/local/ntf3g //编译,指定安装目录/usr/local/ntf3g
make&&make install //编译安装

cd //返回根目录
rm -r -f ntfs-3g_ntfsprogs* //删除所有ntfs-3g_ntfsprogs为首的所有文件切不提 醒,“*”表示匹配所有 ,-r递归处理,将指定目录下的所 有文件及子目录一并处理,-f强制删除文件或目录。
挂载
fdisk -l //查看挂载信息,看是否系统识别移动硬盘, /dev/sda1表示第一块硬盘第一个分 区, /dev/sdb1表示第二块硬盘第一个分区,

Disk /dev/sdb: 160.0 GB, 160041885696 bytes
255 heads, 63 sectors/track, 19457 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x7ab8d700
Device Boot Start End Blocks Id System
/dev/sdb1 * 1 5222 41945683+ 7 HPFS/NTFS
/dev/sdb2 5223 10444 41945715 7 HPFS/NTFS
/dev/sdb3 10445 15666 41945715 7 HPFS/NTFS
/dev/sdb4 15667 19457 30451207+ 7 HPFS/NTFS
以上是我的引动一盘信息
cd /mnt //进入目录
mkdir usb1 usb2 usb3 usb4 //创建4个目录分别挂载移动硬盘各分区

挂载命令一:
ntfs-3g /dev/sdb1 /mnt/usb1 -o locale=ar_SA.UTF-8,红色部分也可改为zh_CN.GBK,很明显,使用某种编码进行挂载,防止出现乱码; //挂载各分区到相应目录下,后面部分也可不加

ntfs-3g /dev/sdb2 /mnt/usb2 -o locale=ar_SA.UTF-8
ntfs-3g /dev/sdb3 /mnt/usb3 -o locale=ar_SA.UTF-8
ntfs-3g /dev/sdb4 /mnt/usb4 -o locale=ar_SA.UTF-8
挂载命令二:

mount ntfs-3g /dev/sdb1 /mnt/usb1
……
ls //查看移动硬盘内信息
拷贝、备份文件
cp -r /web /mnt/usb1 //将web目录下所有文件拷贝到/mnt/usb1目录中,也就是拷贝到挂载 移动硬盘的/dev/sdb1分区中
umount /dev/sdb1 或者umount /mnt/usb1 //卸载挂载的移动硬盘

开机自动挂载移动硬盘
—- 编辑/etc/fstab
cp /etc/fstab /etc/fstabbak //编辑前先做好备份,养成这个好习惯。
vi /etc/fstab //编辑文件,在文件末尾添加以下信息,跳转文件末尾按G(shift+g)
/dev/sdb1 /mnt/usb1 ntfs-3g defaults 0 0
/dev/sdb2 /mnt/usb2 ntfs-3g defaults 0 0
/dev/sdb3 /mnt/usb3 ntfs-3g defaults 0 0
/dev/sdb4 /mnt/usb4 ntfs-3g defaults 0 0
:wq! //保存退出,重启后系统将自动挂载移动硬盘