TAO+ Blog

耶和华如此说:你们当站在路上察看,访问古道,哪是善道,便行在其间;这样,你们心里必得安息。他们却说:我们不行在其间。

Pro Puppet笔记

生成puppet.conf

1
puppetmasted --genconfig > puppet.conf

好比windows下的ini文件的格式,包含

1
puppetmasted --genconfig > puppet.conf

DNS / CNAME and Hosts

1
puppetmasted --genconfig > puppet.conf

site.pp

1
puppetmasted --genconfig > puppet.conf

Firewall Configuration puppet master: port 8140

1
puppetmasted --genconfig > puppet.conf

master 证书位置

1
puppetmasted --genconfig > puppet.conf

test and debug

1
puppetmasted --genconfig > puppet.conf

Tips

puppet master or uppetmasted

puppet agent or puppetd

客户端

客户连接到puppet master

1
puppetmasted --genconfig > puppet.conf

Tip:Puppet Master的came:puppet.example.com

或者

1
puppetmasted --genconfig > puppet.conf

autosign options

VirtualBox的bat脚本

写了几个简单VirtualBox的bat脚本,仅用于在Windows下使用,将这3个脚本的放到同一个目录下面可以通过VBOXConsole.bat调用另外2个外部脚本;其中比较有用的是启动VirtualBox中VM Guest的Headless模式,这样就可以实现在后台启动减少资源的占用,当然这比较适合通过ssh访问的机器使用,提前需要在VirtualBox设置好这个VM Guest的端口映射和防火墙允许ssh端口访问等;同时也可以作为虚拟服务器使用,我没有尝试在Linux写过类似的脚本,不过稍加改动应该很容易写出shell脚本来,这样就可以打造出基于VirtualBox的VM Server来,。

VBOXConsole.bat

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
@ECHO OFF

REM Script:VBOXConsole.bat
REM Author:Johnny Tao
REM E-mail:Johnny.Tao_at_Hotmail_dot_com

REM -----------------------
REM Variables
REM -----------------------
SET VBDRIVE=
SET VB_DIR=C:\Program Files\Oracle\VirtualBox
SET PATH=D:\VZ;%PATH%;

:MENU
Title VBOX MANAGEMENT CONSOLE
cls 
echo.=================================
echo VBOX MANAGEMENT CONSOLE
echo.=================================
echo. 
echo.1 - VBOX Host Management
echo.2 - VBOX Guest Management
echo.Q - Exit
echo.

choice /c:12Q /n >nul

if errorlevel 3 goto END
if errorlevel 2 goto GUESTMAN
if errorlevel 1 goto HOSTMAN

echo CHOICE missing 
goto END

:HOSTMAN
cls
call "VBOXHostManagement.bat"
pause
goto MENU

:GUESTMAN
cls
call "VBOXGuestManagement.bat"
pause
goto MENU

VBOXGuestManagement.bat

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
@ECHO OFF

REM Script:VBOXConsole.bat
REM Author:Johnny Tao
REM E-mail:Johnny.Tao_at_Hotmail_dot_com

REM -----------------------
REM Variables
REM -----------------------
SET VBDRIVE=
SET VB_DIR=C:\Program Files\Oracle\VirtualBox
SET PATH=D:\VZ;%PATH%;

:MENU
Title VBOX MANAGEMENT CONSOLE
cls 
echo.=================================
echo VBOX MANAGEMENT CONSOLE
echo.=================================
echo. 
echo.1 - VBOX Host Management
echo.2 - VBOX Guest Management
echo.Q - Exit
echo.

choice /c:12Q /n >nul

if errorlevel 3 goto END
if errorlevel 2 goto GUESTMAN
if errorlevel 1 goto HOSTMAN

echo CHOICE missing 
goto END

:HOSTMAN
cls
call "VBOXHostManagement.bat"
pause
goto MENU

:GUESTMAN
cls
call "VBOXGuestManagement.bat"
pause
goto MENU

VBOXHostManagement.bat

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
@ECHO OFF

REM Script:VBOXConsole.bat
REM Author:Johnny Tao
REM E-mail:Johnny.Tao_at_Hotmail_dot_com

REM -----------------------
REM Variables
REM -----------------------
SET VBDRIVE=
SET VB_DIR=C:\Program Files\Oracle\VirtualBox
SET PATH=D:\VZ;%PATH%;

:MENU
Title VBOX MANAGEMENT CONSOLE
cls 
echo.=================================
echo VBOX MANAGEMENT CONSOLE
echo.=================================
echo. 
echo.1 - VBOX Host Management
echo.2 - VBOX Guest Management
echo.Q - Exit
echo.

choice /c:12Q /n >nul

if errorlevel 3 goto END
if errorlevel 2 goto GUESTMAN
if errorlevel 1 goto HOSTMAN

echo CHOICE missing 
goto END

:HOSTMAN
cls
call "VBOXHostManagement.bat"
pause
goto MENU

:GUESTMAN
cls
call "VBOXGuestManagement.bat"
pause
goto MENU

Linux与Active Directory整合

目标

  • 和AD整合的架构

  • 独立的OpenLDAP架构

  • Linux DC

Part I Third-Part AP to intergate Linux with AD

LikeWise Open Likewise Apache SSO Guide Likewise Open 5 Quick Start Linux

1
2
报错: Warning A resumable error occurred while processing a module even though the configuration of pam
结果: 计算机加入到域并报错,但无法使用活动目录内的账户登录;

Part II OPENLDAP to AD

PartIII

Single Sign-on

PartVI Linux Standalone DC

http://howtoforge.com/samba_active_directory

测试结果:失败,kint部分错误

http://howtoforge.com/centos-5.x-samba-domain-controller-with-ldap-backend

报错步骤:slapadd -l /etc/openldap/init.ldif

http://howtoforge.com/samba_ads_security_mode

测试Samba加入域,使用Windows ADS作为身份验证

打造MacMini Backup Server - SSH Based

前言

vSphere服务器的备份一直是个问题,不认任何USB的硬盘手头也没有什么好的解决方案,就只好用现成的Mac Mini来打造了,主要考虑到离线备份需要加密就我们的环境来说这是比较理想的解决方案

设置用户和加密目录

在MacOS服务器建立新用户

1) System Preferences / Accounts /点击+ 来添加新账户

2) 在New Account 选择Admin并设置足够强度的密码,并选择 Turn on FileVault protection

3) 在Login Options选项中设置如下

1
2
Automatic login : Off
Display login windows as: 选择Name and password

设置MAC SSH Server通过密钥登录

在Mac OS启用SSH登录

进入 System Preferences / Sharing 启用 Remote Login的选项

查看MacOS X SSH Server

1) 先在SSH Client使用ssh-keygen -t rsa 命令生成密钥,依据需求看是否需要密码

2) 将SSH Client 的公钥复制一份为authorized_keys并上传到SSH Server的~/.ssh 目录,如果SSH Server没有该目录则需要另行建立,如果有多个客户端需要连接该SSH Server则需要将多个客户端的公钥合并到authorized_keys

3) 可以使用WinSCP或者SCP命令复制,我在使用Linux上使用SCP的时候发现出错,不知道是不是版本的问题。

1
2
mv id_rsa.pub authorized_keys
scp authorized_keys USER_NAME@SERVER_HOST:~/.ssh

安全设置

编辑MacOS X SSH Server 的/etc/sshd_config文件,加入AllowUsers进行用户限制

1
2
mv id_rsa.pub authorized_keys
scp authorized_keys USER_NAME@SERVER_HOST:~/.ssh

测试

这个时候我们在Linux Client 输入

1
2
mv id_rsa.pub authorized_keys
scp authorized_keys USER_NAME@SERVER_HOST:~/.ssh

指定用户名后就无需输入密码登录了

如果使用Rsync等备份软件的话,建议不要在MacOS X系统登录,否则每次登出都会出现Restore Space ... 的字样,不清楚该步骤为何意。

设置屏幕锁定

参考:

Mac OS X: 如何快速锁屏

SSH on Mac OS X

让iPhone/iPod Touch/Mac的SSH自动登陆

在MAC OS下创建自动重连、自动保存密码登录的SSH隧道链接

Setting Up Key-Based SSH Login

常见问题:

发现在更改SSH Server 的IP会出现下面的报错 RSA host key for 192.168.57.39 has changed and you have requested strict checking.

注意SSH Server就是备份服务器,不要混淆

解决的方法

1) 在SSH Client 进入 .ssh 目录

2) vim known_hosts

3) 删除user_name@HOST_IP

4) 重新ssh手动连接即可

参考:

ssh连不上

ssh 连接的时候 Host key verification failed

Vfcrack破解苹果的加密磁盘卷

  1. Windows平台比较简单基本上把下载的文件解压后,直接运行vfcrack脚本就好。
  2. Linux平台下我搜遍了Google终于找到适当的方法,我平时是使用的是CentOS5,具体步骤如下
1
2
3
yum install openssl-devel
make
./vfcrack dict test_v1.dmg

但是对于apple.sparseimage的加密卷无效,似乎只能应对dmg文件,即使可以通过DiskUtility转换.sparseimage为dmg也需要密码。对于忘记了加密密码和master密码的不会有任何效果。

在iBookG3 上安装Ubuntu Linux PPC

前言

公司中有台比较陈旧的iBook G3- 800 / 256MB / 30G, 原配的系统我记得是Mac OS X 10.2,在升级成为Mac OS X 10.3后,发现速度并不如意,并且所支持软件都较老了,用着感觉不顺手。

光是就浏览器一项就很让人头痛,

Safari的版本还是比较老的1.x,最新的版本就不支持; Firefox3和Firefox2装上以后,都无法正常的启动; 我比较喜欢标签的功能,蹩脚的中文拼音输入也是我决定重装为Linux的主要原因。

总结再三决心装为Linux,

Linux版本的选择

对于Linux版本而言,个人比较倾向的顺序为CentOS->Fedora->Ubuntu->Debian,最近在学习RHEL,Redhat系的CentOS绝对是最佳的选择,尤其是4.x系列的,给我的感觉就是自在老的硬件上的速度有保障,但是到了CentOS的官方网站上只能找到CentOS4.0 PPC beta2的版本,心头一凉快……居然这样的版本也需要好几张CD……再次来到Fedroa找到了Fedora9的PPC版本, 也是几个G,Debian这时候其实应该是最好的选择,怎奈对Debian不是很熟悉,为了节省时间和运行的速度就索性到Ubuntu下了个6.06.1LTS装上了,装的过程很费力,因为光驱实在是太老了……读取光盘很费力,整个过程大约3个多小时再加上整晚的升级,时间是够久的了,除了官方源头以外很多的源都没法再用了,也就是常规的更新还可以做。

软件安装列表

依次安装了中文的支持和调整SCIM,和下面的软件,发现Flash Player在Linux /PPC下不受支持,也觉得多媒体的功能少了一大半,顿时也感觉到现在的网站对Flash Player的依赖性太强了,w32codec也懒得下了,能凑合着用就行了。

  • Gstream
  • VLC Media Player
  • Banshee
  • Opeara 9.5
  • Epiphany
  • Gwget (GGet听说最近发布,在网上也没有找到,想想可能和其他的发行版一起发布)
  • BitTorrent

发现有些软件竟然没有发布Linux PPC的版本

  • Adobe Flash Player
  • Adobe Reader
  • Realplayer
  • Java 虚拟机

升级

很多的事情都无法做,调整了简单主题后速度还算过得去,ntfs-3g一直都编译安装不上, 不能读取我的移动硬盘这很让我窝火,我觉定升级为最新的Ubuntu 8.04

1) 更换源为

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
# See http://help.ubuntu.com/community/UpgradeNotes for how to upgrade to
# newer versions of the distribution.
 

deb http://ports.ubuntu.com/ hardy main restricted
deb-src http://ports.ubuntu.com/ hardy main restricted

## Major bug fix updates produced after the final release of the
## distribution.
deb http://ports.ubuntu.com/ hardy-updates main restricted
deb-src http://ports.ubuntu.com/ hardy-updates main restricted

## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu
## team, and may not be under a free licence. Please satisfy yourself as to
## your rights to use the software. Also, please note that software in
## universe WILL NOT receive any review or updates from the Ubuntu security
## team.
deb http://ports.ubuntu.com/ hardy universe
deb-src http://ports.ubuntu.com/ hardy universe
deb http://ports.ubuntu.com/  hardy-updates universe
deb-src http://ports.ubuntu.com/ hardy-updates universe

## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu
## team, and may not be under a free licence. Please satisfy yourself as to
## your rights to use the software. Also, please note that software in
## multiverse WILL NOT receive any review or updates from the Ubuntu
## security team.
deb http://ports.ubuntu.com/ubuntu-ports/ hardy multiverse
deb-src http://ports.ubuntu.com/ubuntu-ports/ hardy multiverse
deb http://ports.ubuntu.com/ubuntu-ports/ hardy-updates multiverse
deb-src http://ports.ubuntu.com/ubuntu-ports/ hardy-updates multiverse

## Uncomment the following two lines to add software from the 'backports'
## repository.
## N.B. software from this repository may not have been tested as
## extensively as that contained in the main release, although it includes
## newer versions of some applications which may provide useful features.
## Also, please note that software in backports WILL NOT receive any review
## or updates from the Ubuntu security team.
deb http://ports.ubuntu.com/ hardy-backports main restricted universe multiverse
deb-src http://ports.ubuntu.com/ hardy-backports main restricted universe multiverse

## Uncomment the following two lines to add software from Canonical's
## 'partner' repository. This software is not part of Ubuntu, but is
## offered by Canonical and the respective vendors as a service to Ubuntu
## users.
deb http://ports.ubuntu.com/ hardy partner
deb-src http://ports.ubuntu.com/ hardy partner

然后就执行了

1
2
sudo aptitude update
sudo aptitude dist-upgrade

报错

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
877 个软件包被升级,新安装457 个, 146 个将被删除, 同时 0 个将不升级。
需要获取 862MB 的存档。 解包后将要使用 1076MB。
下列软件包存在未满足的依赖关系:
python2.4-libxslt1: 依赖: python2.4-libxml2 (>= 2.6.17) 但是它不是可安装的
x-window-system-core: 依赖: libgl1-mesa 但是它不是可安装的
gimp-help-zh-cn: 依赖: gimp-help-common (= 2+0.9-1) 但是 2.4.0-2 将被安装。
python-eunuchs: 依赖: python (<>= 0.60) 但是它不是可安装的
upstart: 冲突: sysvinit 但是 2.86.ds1-14.1ubuntu45 将被安装。
python-parted: 依赖: python (< 2.5) 但是 2.5.2-0ubuntu1 将被安装。
Resolving dependencies...
打开:9983;关闭;4999;defer: 0; 冲突;14                                                                                          .在分配的时 间内未找到解决方案。加把劲再试试?[Y/n]y
Resolving dependencies...
打开:19964;关闭;9939;defer: 0; 冲突;15                                                                                         o在分配的时 间内未找到解决方案。加把劲再试试?[Y/n]y
Resolving dependencies...
打开:22835;关闭;11322;defer: 0; 冲突;15

算了不管依赖的关系了,直接

1
sudo apt-get dist-upgrade

这时候看到已经开始下载新的软件包了

参考:

[SOLVED] Distribution upgrade (ppc) from 6.06 to 8.04 with UpdateManager no good