CentOS6.3创建新的loop设备

最近搭建了PXE网络安装Linux服务器,需要大量的loop设备来挂载iso镜像作为系统安装源。其实,要想搭建一个完整的PXE安装服务器,源的配置还是一个很大的问题,高级点,大型点的我想都会使用rsync的方式直接同步官方源吧。

好了,废话不多说,相信很多人会遇到过这样的mount提示:mount: could not find any free loop device

意思就是说 不能找到空闲的loop 设备了。

大伙都知道,linux系统设备文件都是存在目录 /dev/ 下面。先来看看已经有的loop设备数量:

[root@localhost html]# losetup -a
/dev/loop0: [0803]:5506094 (/var/www/html/CentOS-5.8-x86_64-bin-DVD-1of2.iso)
/dev/loop1: [0803]:5506099 (/var/www/html/CentOS-5.9-x86_64-bin-DVD-1of2.iso)
/dev/loop2: [0803]:5506103 (/var/www/html/CentOS-6.0-x86_64-bin-DVD1.iso)
/dev/loop3: [0803]:5506105 (/var/www/html/CentOS-6.1-x86_64-bin-DVD1.iso)
/dev/loop4: [0803]:5505636 (/var/www/html/CentOS-6.2-x86_64-bin-DVD1.iso)
/dev/loop5: [0803]:5506068 (/var/www/html/CentOS-6.3-x86_64-bin-DVD1.iso)
/dev/loop6: [0803]:5506109 (/var/www/html/CentOS-6.4-x86_64-bin-DVD1.iso)
/dev/loop7: [0803]:5506016 (/var/www/html/CentOS-6.5-x86_64-bin-DVD1.iso)
/dev/loop8: [0803]:5506127 (/var/www/html/CentOS-7.0-1406-x86_64-DVD.iso)

CentOS 6.3以来,默认存在的loop device就只有 loop0-loop7这8个了,我们用mknod命令就可以创建loop块设备,创建loop块设备很简单,一条命令就可以搞定了:

mknod -m 0660 /dev/loopX b 7 X

注意loopX对应的X。如下面示例:

create loop device

我们可以用losetup命令来查看已经在使用的loop block device 的数量。losetup -a |wc -l 

Linux下ping一段IP地址的bash

前段时间写过在windows下ping一段IP地址的bat 那么在linux下应该如何写个shell来ping一段IP地址呢。果然,linux的shell比windows下的dos命令强多了哈。而且也相对好用些。不多说。而且执行过程中发现,如果只IP地址可以ping通的不需要在1s后返回结果。这样很有利于用来扫描局域网IP是否被占用了。 继续阅读Linux下ping一段IP地址的bash

CentOS6.5 X64中Development tools包含的组件一览表

安装Development Tools要安装的软件包:

Installing:
 autoconf               noarch 2.63-5.1.el6                       base    781 k
 automake               noarch 1.11.1-4.el6                       base    550 k
 bison                  x86_64 2.4.1-5.el6                        base    637 k
 byacc                  x86_64 1.9.20070509-7.el6                 base     48 k
 cscope                 x86_64 15.6-6.el6                         base    136 k
 ctags                  x86_64 5.8-2.el6                          base    147 k
 cvs                    x86_64 1.11.23-16.el6                     base    712 k
 diffstat               x86_64 1.51-2.el6                         base     29 k
 doxygen                x86_64 1:1.6.1-6.el6                      base    2.4 M
 elfutils               x86_64 0.152-1.el6                        base    201 k
 flex                   x86_64 2.5.35-8.el6                       base    286 k
 gcc                    x86_64 4.4.7-4.el6                        base     10 M
 gcc-c++                x86_64 4.4.7-4.el6                        base    4.7 M
 gcc-gfortran           x86_64 4.4.7-4.el6                        base    4.7 M
 gettext                x86_64 0.17-16.el6                        base    1.8 M
 git                    x86_64 1.7.1-3.el6_4.1                    base    4.6 M
 indent                 x86_64 2.2.10-7.el6                       base    115 k
 intltool               noarch 0.41.0-1.1.el6                     base     58 k
 libtool                x86_64 2.2.6-15.5.el6                     base    564 k
 patch                  x86_64 2.6-6.el6                          base     90 k
 patchutils             x86_64 0.3.1-3.1.el6                      base     95 k
 rcs                    x86_64 5.7-37.el6                         base    173 k
 redhat-rpm-config      noarch 9.0.3-42.el6.centos                base     59 k
 rpm-build              x86_64 4.8.0-37.el6                       base    127 k
 subversion             x86_64 1.6.11-10.el6_5                    updates 2.3 M
 swig                   x86_64 1.3.40-6.el6                       base    1.1 M
 systemtap              x86_64 2.3-4.el6_5                        updates  26 k

安装上面软件包所需的依赖关系包:

 alsa-lib               x86_64 1.0.22-3.el6                       base    370 k
 apr                    x86_64 1.3.9-5.el6_2                      base    123 k
 apr-util               x86_64 1.3.9-3.el6_0.1                    base     87 k
 atk                    x86_64 1.30.0-1.el6                       base    195 k
 avahi-libs             x86_64 0.6.25-12.el6                      base     54 k
 cairo                  x86_64 1.8.8-3.1.el6                      base    309 k
 cloog-ppl              x86_64 0.15.7-1.2.el6                     base     93 k
 cpp                    x86_64 4.4.7-4.el6                        base    3.7 M
 cups-libs              x86_64 1:1.4.2-50.el6_4.5                 base    317 k
 elfutils-libs          x86_64 0.152-1.el6                        base    181 k
 fontconfig             x86_64 2.8.0-3.el6                        base    186 k
 freetype               x86_64 2.3.11-14.el6_3.1                  base    359 k
 gdb                    x86_64 7.2-60.el6_4.1                     base    2.3 M
 gettext-devel          x86_64 0.17-16.el6                        base    155 k
 gettext-libs           x86_64 0.17-16.el6                        base    112 k
 glibc-devel            x86_64 2.12-1.132.el6                     base    978 k
 glibc-headers          x86_64 2.12-1.132.el6                     base    608 k
 gnutls                 x86_64 2.8.5-13.el6_5                     updates 346 k
 gtk2                   x86_64 2.20.1-4.el6                       base    3.3 M
 hicolor-icon-theme     noarch 0.11-1.1.el6                       base     40 k
 jasper-libs            x86_64 1.900.1-15.el6_1.1                 base    136 k
 kernel-devel           x86_64 2.6.32-431.5.1.el6                 updates 8.8 M
 kernel-headers         x86_64 2.6.32-431.5.1.el6                 updates 2.8 M
 libICE                 x86_64 1.0.6-1.el6                        base     53 k
 libSM                  x86_64 1.2.1-2.el6                        base     37 k
 libX11                 x86_64 1.5.0-4.el6                        base    584 k
 libX11-common          noarch 1.5.0-4.el6                        base    192 k
 libXau                 x86_64 1.0.6-4.el6                        base     24 k
 libXcomposite          x86_64 0.4.3-4.el6                        base     20 k
 libXcursor             x86_64 1.1.13-6.20130524git8f677eaea.el6  base     28 k
 libXdamage             x86_64 1.1.3-4.el6                        base     18 k
 libXext                x86_64 1.3.1-2.el6                        base     35 k
 libXfixes              x86_64 5.0-3.el6                          base     23 k
 libXft                 x86_64 2.3.1-2.el6                        base     55 k
 libXi                  x86_64 1.6.1-3.el6                        base     35 k
 libXinerama            x86_64 1.1.2-2.el6                        base     20 k
 libXrandr              x86_64 1.4.0-1.el6                        base     36 k
 libXrender             x86_64 0.9.7-2.el6                        base     30 k
 libXtst                x86_64 1.2.1-2.el6                        base     29 k
 libart_lgpl            x86_64 2.3.20-5.1.el6                     base     65 k
 libedit                x86_64 2.11-4.20080712cvs.1.el6           base     74 k
 libgcj                 x86_64 4.4.7-4.el6                        base     19 M
 libgfortran            x86_64 4.4.7-4.el6                        base    265 k
 libgomp                x86_64 4.4.7-4.el6                        base    118 k
 libjpeg-turbo          x86_64 1.2.1-3.el6_5                      updates 174 k
 libpng                 x86_64 2:1.2.49-1.el6_2                   base    182 k
 libproxy               x86_64 0.3.0-4.el6_3                      base     39 k
 libproxy-bin           x86_64 0.3.0-4.el6_3                      base    8.2 k
 libproxy-python        x86_64 0.3.0-4.el6_3                      base    8.4 k
 libstdc++-devel        x86_64 4.4.7-4.el6                        base    1.6 M
 libthai                x86_64 0.1.12-3.el6                       base    183 k
 libtiff                x86_64 3.9.4-10.el6_5                     updates 343 k
 libxcb                 x86_64 1.8.1-1.el6                        base    110 k
 mailcap                noarch 2.1.31-2.el6                       base     27 k
 mpfr                   x86_64 2.4.1-6.el6                        base    157 k
 neon                   x86_64 0.29.3-3.el6_4                     base    119 k
 openssh-clients        x86_64 5.3p1-94.el6                       base    402 k
 pakchois               x86_64 0.4-3.2.el6                        base     21 k
 pango                  x86_64 1.28.1-7.el6_3                     base    350 k
 perl                   x86_64 4:5.10.1-136.el6                   base     10 M
 perl-Compress-Raw-Zlib x86_64 1:2.021-136.el6                    base     69 k
 perl-Compress-Zlib     x86_64 2.021-136.el6                      base     45 k
 perl-Error             noarch 1:0.17015-4.el6                    base     29 k
 perl-Git               noarch 1.7.1-3.el6_4.1                    base     28 k
 perl-HTML-Parser       x86_64 3.64-2.el6                         base    109 k
 perl-HTML-Tagset       noarch 3.20-4.el6                         base     17 k
 perl-IO-Compress-Base  x86_64 2.021-136.el6                      base     69 k
 perl-IO-Compress-Zlib  x86_64 2.021-136.el6                      base    135 k
 perl-Module-Pluggable  x86_64 1:3.90-136.el6                     base     40 k
 perl-Pod-Escapes       x86_64 1:1.04-136.el6                     base     32 k
 perl-Pod-Simple        x86_64 1:3.13-136.el6                     base    212 k
 perl-URI               noarch 1.40-2.el6                         base    117 k
 perl-XML-Parser        x86_64 2.36-7.el6                         base    224 k
 perl-libs              x86_64 4:5.10.1-136.el6                   base    578 k
 perl-libwww-perl       noarch 5.833-2.el6                        base    387 k
 perl-version           x86_64 3:0.77-136.el6                     base     51 k
 pixman                 x86_64 0.26.2-5.1.el6_5                   updates 200 k
 ppl                    x86_64 0.10.2-11.el6                      base    1.3 M
 rsync                  x86_64 3.0.6-9.el6_4.1                    base    334 k
 systemtap-client       x86_64 2.3-4.el6_5                        updates 3.4 M
 systemtap-devel        x86_64 2.3-4.el6_5                        updates 1.4 M
 systemtap-runtime      x86_64 2.3-4.el6_5                        updates 189 k
 unzip                  x86_64 6.0-1.el6                          base    149 k
 xz                     x86_64 4.999.9-0.3.beta.20091007git.el6   base    137 k
 xz-lzma-compat         x86_64 4.999.9-0.3.beta.20091007git.el6   base     16 k
 zip                    x86_64 3.0-1.el6                          base    260 k

看到头晕。没事收藏下来。

Linux下编译安装OpenSSL

系统环境:CentOS 6.5 64位

OpenSSL源码包:http://www.openssl.org/source/openssl-1.0.1f.tar.gz

安装zlib库支持:

cd /usr/local/src

wget http://zlib.net/zlib-1.2.5.tar.gz

tar zxvf zlib-1.2.5.tar.gz

cd zlib-1.2.5

./configure && make && make install

安装OpenSSL源码包:

cd ..

wget http://www.openssl.org/source/openssl-1.0.1f.tar.gz

tar zxvf openssl-1.0.1f

cd openssl-1.0.1f

./config shared –prefix=/usr/local –openssldir=/usr/local/ssl/ && make && make install

参数 : shared 是生成动态连接库, –prefix 为安装目录,openssldir 是配置文件目录。

opensslconf

Linux下防止nmap简单扫描,修改SSH远程端口号

nmap是个网络环境扫描工具,主要基于Linux。当然,官方也有Windows平台的nmap版本。它主要是扫描一些常用的端口号,如80,22,443等等(排除全端口扫描)。所谓全端口扫描就是在TCP/IP协议中的0—65535这些端口之间。 继续阅读Linux下防止nmap简单扫描,修改SSH远程端口号

Ubuntu12.04自动挂载windows磁盘

好吧,NTFS。目前windows使用最多到文件系统。

出于安全方面考虑,Ubuntu12.04安装来之后就能自动识别到windows到NTFS文件系统磁盘。而且,在主文件夹里面就可以直接点开,老是担心一不小心就将其格式化了。 继续阅读Ubuntu12.04自动挂载windows磁盘

Linux下设置用户登录欢迎词

这里就以CentOS为例,其他linux发行版也差不多的。在 /etc/motd 这个文件配置即可。 最近无聊,又无干货。只能发发垃圾了。

同时,这东西在目录/etc下还有个叫 issue 和 issue.net 的配置文件。issue 是配置本地登录登出显示的信息,issue.net 是配置网络登录登出显示的信息。

这里配置 /etc/motd 来看下效果吧:

login me

下面是系统本地登录登出的效果:

local login

Linux下df命令

df命令用来查看系统的space和inode使用情况,在系统管理和运维中也是常用命令之一。

-a, –all 显示所有的文件系统,包括本地的和挂载的网络文件系统
-B, –block-size=SIZE 使用自定义块大小,例如1MB 2MB 1GB等等为单位
-h, –human-readable print sizes in human readable format (e.g., 1K 234M 2G)直译:以标准1GB=1024MB的大小显示
-H, –si likewise, but use powers of 1000 not 1024 以1GB=1000MB大小显示
-i, –inodes 显示inode 信息而非块使用量
-k 即–block-size=1K
-l, –local 只显示本机的文件系统
–no-sync 取得使用量数据前不进行同步动作(默认)
-P, –portability 使用POSIX 兼容的输出格式
–sync 取得使用量数据前先进行同步动作
-t, –type=类型 只显示指定文件系统为指定类型的信息
-T, –print-type 显示文件系统类型
-x, –exclude-type=类型 只显示文件系统不是指定类型信息

df -l显示本地文件系统:

1109121013

使用自定义块大小,例如1MB 2MB 1GB等等为单位显示:
1109115841

排除某些类指定文件系统显示:
1109120551

Ubuntu 12单用户破解密码

ubuntu server 版很少用到,今天整个单用户破解ubuntu server12.04的方法,备自己不时之需的。

操作不是好难,方法和其它Linux类Unix系统一样,开机进入grub编辑引导配置文件即可。就是写入的字符不大一样。(google来着)

1.开机,在引导停留界面上按 e 编辑引导:

开机按 e 键
开机按 e 键

2.进入grub引导配置界面,编辑好了后按 Ctrl+x或者F10进行启动:

vi grub and boot
vi grub and boot

3.进入系统单用户模式,修改系统密码:

修改系统密码并重启即可
修改系统密码并重启即可

到此,ubuntu 系统密码就可破之。。。

最后,更正一个问题:

单用户模式下,不能执行reboot命令。应该 按ctrl+alt+del才能进行重启。

解决CentOS下安装Gnome桌面错误提示之一的方法

昨天刚好在百度知道里面看到了有人说“解决Linux下root能正常进入系统,普通用户一直黑屏状态的方法”(经过测试,这个问题已经解决。而且普通用户加入root用户组后也是可以关机的)这个问题,但我身边并没有Linux桌面版系统。所以想在字符界面上安装个GNOME桌面来测试实验下。没想到用yum的方法安装GNOME桌面后用startx命令启用GNOME桌面却提示错误如下:

FreeType: couldn’t open face /usr/share/fonts/liberation/LiberationMono-BoldItalic.ttf: 1
/usr/bin/twm: unable to open fontset “-adobe-helvetica-bold-r-normal–*-120-*-*-*-*-*-*”

waiting for X server to shut down error setting MTRR (base = 0xe8000000, size = 0x02000000, type = 1) Invalid argument (22)
Server terminated successfully (0). Closing log file.

起初还以为是字体问题。所以也特地安装了中文支持,没想到依然不行呢。

CentOS6.4字符界面下安装中文字体支持:

yum groupinstall -y “Chinese Support”

再次声明,这个CentOS系统是 X64位 6.4的系统。

好啦,今天就说说怎么解决这个问题。其实不然,就一个环节罢了,自CentOS6.3以上版本或者6.几以上的版本后,(这个我也不大清楚)。yum安装Gnome桌面组件已经不是原来的【GNOME Desktop Environment】,而是:【Desktop】。

好啦。安装X Windows System。并安装Desktop已经中文支持(最后可选)。

yum groupinstall “X Windows System”

yum groupinstall “Desktop”

yum groupinstall “Chinese Support”

最后便可执行 startx 命令正常启动GNOME桌面了。如图所示:

安装并启动gnome
安装并启动gnome