LF Tip:ͨ��������ȫ������ĵ���

ArticleCategory: [Choose a category, translators: do not translate this, see list below for available categories]

UNIX Basics

AuthorImage:[Here we need a little image from you]

this is me

TranslationInfo:[Author + translation history. mailto: or http://homepage]

original in en Gerrit Renker

en to zh_CN �� ��

AboutTheAuthor:[A small biography about the author]

2001���ü������ѧ��ѧλ��

Abstract:[Here you write a little summary]

������Ҫ��һ̨���Ը������ݵ���һ̨������ȥ��ʱ�򣬱�����������������Ұ�ȫ�����ס���Ч�ķ����������ó��ˡ�

ArticleIllustration:[One image that will end up at the top of the article]

[Illustration]

ArticleBody:[The main part of the article]

��Ҫ

���ܿ�¡����������򡰣�����������̥���о���Ȼ��һ����������ͷ��յ����򣬶�����һЩ���ڡ���¡�����Ե�֪ʶ����û�к�����ȷ�IJ���Ϊǰ�ᣩ��������ʹ����ϸ��д���ýű��������õ������� ����Ħ�������Լ�����������Ŀ��ٽ��̣�������ʹ�õ���ʱ�ܿ��ܻ�������Ҫ����¡�����ǵĵ��Ե��������������̨ʽ�����ʼDZ�ȡ�����ǻ�һ̨����Ļ��ӡ������Ǿ���Ҫ������A �ϵ������ļ����� ���Ƶ�����B �϶���ʹ������������ͨ��������������һ�־���ֱ�Ӵ򿪻��䣬Ȼ��Ӳ�̻����Ϳ����ˡ������ǵ��򿪻���ͨ����ζ��ʧȥ�ʱ���������ͨ����Σ�ա���һ��û�о�����û����ܻ��Ӳ��������е�Ļ��ߵ����ϵ����ˡ���һ�ַ���Ҫ����̨���Զ������������ڼ�ʹ���ڼ��õ�����ͨ��Ҳ���㣩���������������ϸ���ܵķ�������ȫ��

�������������з������ǽ������������ӵĻ����ϣ�������Ҫ�ڡ�Դ�����ԣ�������̨������Ҫ�����Ƶĵ��ԣ��͡�Ŀ�������ԣ�������Ҫ���ݵ���̨���ԣ�֮�����������ӡ�����ֱ��ͨ�����������ӣ�����ͨ�����������ߣ�crossover cable���� ������������������ע�⣺һ��������Dz��еģ��� ��Ŀ�������˵����Ҫһ��Live-CD����Knoppix �� LNX-BBC����һ����С��װ���Ա�֤�ɶ��������в�������ʹssh �ͣ��� netcat���á������е������ϵ�ϵͳ����������tomsrtbҲ�ܺܺù�����������������밲װ��һ��ȫ�µķ��а棬����һ���ܲ�����ѡ����̨���Ե�IP Ҫ��ͬһ�����Σ��Ա��������໥���С��Ự��������ͼ��

���ܵķ���

ͨ��������׼�����м��ַ��������и��ƣ�

����������Ӳ�̲���ͬ�����ͺźʹ�С����һ�ַ����Dz����еĻ�dz����ӵģ�����iso ����(dd if=/dev/cdrom of=the.iso)��������ͨ��dd�ܲ��������� (diskcopy �ű�)��һ��ʹ��dd�Ľű�diskcopy����ʹ��dd����һ��ȱ���ǣ���δʹ�õĿռ�Ҳ�ᱻ���ƣ��Ӷ��˷Ѻܶ���ν��ʱ�䡣 ͨ��tar �� cpio�Ĺܵ��Ứ�Ѻܳ���ʱ�䣨������Сʱ�������Ҷ��ļ����ͷ������ӻ���һЩ���ƣ���/devʱ�ᱻ�������ȵȡ���ˣ����Ƽ��˷��� ������Դ���Ժ�Ŀ������ϵ��ļ�ϵͳ��һ������ôrsync(1)��������õ�ѡ����ֻ��Ҫ��ssh�������������ļ�����Э�������� ��������������豸�ļ���-Dѡ���Լ������ܶ���Ը��ֳ��ϸ��������ѡ����Ƕ�ÿ��ı��ݡ������������������˵�����õ�һ�����ߣ������ֲ��ϻ��кܶ�ֵ��ѧϰ�����ӡ�ͨ��rsync���Ƶ�������[1]�����ҵ���

�������ʹ��dump �� restore���������������·��������ļ�ϵͳ������һ�����١���Ч�ҿ���ͨ�����ٵ�Ŭ���ﵽ���ǵ�Ŀ�ġ�����ֱ������Ľ�������� ����Ҫ��������������Σ���Ϊ����̨Ŀ����ԡ���̨Ŀ����Զ��ܺܺõ����������������Ҹ�����Щ��G �����ݴ��ֻ������һ��Сʱ���������Ҫ��Դ���Ժ�Ŀ�������ͬ�����ļ�ϵͳ���ڴˣ����Ǽٶ���ext2 ��ext3,��Ϊ����������㷺��ʹ�õ������ļ�ϵͳ����(�μ� ����).

����ssh

һ�����ú���С��װ��ϵͳ����Live-CD,��һ����������ssh(�����û��������������ʹ��netcat�������ļ�)������ҪԴ��������sshd(the secure shell daemon)�������ȷ�������� /etc/init.d/����Ŀ����������루root�ʻ�����
ssh-keygen -t rsa
Ϊ����������Ҫ�������롣��Կ�ͻᱣ����/root/.ssh/id_rsa.pub�ļ�����ƴ��ļ���Դ������
scp /root/.ssh/id_rsa   SourcePC:/tmp
�ڴ� SourcePC ����Դ���Ե�IP ��ַ������ʾ���Ƿ�ȷ��ʱ�����������ġ�yes��(�����ġ�y�� ��ʱ�᲻��)����Դ�������㻹�ᱻҪ������root �����롣���ڰ�Ŀ����Լ�����Դ���ԵĿ���������ڵ���ȥ
cat /tmp/id_rsa.pub >> /root/.ssh/authorized_keys
Ϊ����Ƿ�ɹ���ɣ��ظ�����ĸ������Ӧ�ò�����Ҫ�������������ˣ�

��Ŀ������ϴ����ļ�ϵͳ

ͨ����һ�����Ƕ����Ӳ�̷�����Ȼ�󴴽�ext2/ext3�ļ�ϵͳ�� ext3 ����Ҫ��mke2fs �������һ��-j (journalling)��ѡ��(��Ҫ�ں˶�ext3��֧��)�����������Խ�ext2�ķ���ת��Ϊ ext3��, �μ�tune2fs(8)�� �������ǵ�Դ�����������µķ�����

Filesystem Size Used Use% Mounted on
/dev/hda3 2.7G 552M 22% /
/dev/hda5 7.8G
1.6G 22% /usr
/dev/hda7 6.3G 1.7G 28% /usr/share
/dev/hda8 3.4G 601M 19% /home
/dev/hda12 5.3G 1.9G 37% /opt
/dev/hda1 587M 70M 13%
/var/backup

���Ƽ����һ��Ҫ��һЩ�����������ļ�ϵͳ�Ĵ���ʹ�û���Ӳ�̴ŵ���һ���𻵾ͻ���ȫ�ƻ��������е����ݡ����Ҹ���Murphy ���ɣ�������û������Ӳ�̷�������ֱ��ʹ������Ӳ�̵�ʱ����ͨ���ͻᷢ�����������������������������������û�����÷����Ļ����ͻ�������������һ���������ʧ���ҵ��������ݡ�������ļ�����/usr ����������̫���ˣ�����/usr/share���뱻���롣�Ǹû�һ������Ӳ�̵�ʱ���ˡ�

��Ŀ������ϣ�ʹ��parted (�Ƽ�) ������ϲ���ķ�������(Qtparted ��һ���ܺõ�ͼ�ν���Ĺ��ߣ���˵��Partition Magic ��¡��)�������ķ������ܱ�Դ�����϶�Ӧ�ķ���С�����⣬������ swap ����������÷��������ڸմ����ķ����ϴ����ļ�ϵͳ������ʹ��
mke2fs -j -L <label> /dev/xxx
���� xxx ����ķ�������Ȼ����<label>���þ���š��Ҿ���ʹ���� ��/usr��һ�����Ϊ���ꡣ��Ҳ����ͨ��tune2fs(8)�����ø������񣬱��������Ե��ļ�ϵͳ��顣

�����ļ�ϵͳ

��������Ҫ���������´����ķ����������ȴ����ļ�ϵͳ(��/��)��ʼ�������İ�˳�����ν��С���Ȼ���Խ�Դ�����ϵ������������ϵ�Ŀ������ϵ�һ��������ȥ����ʵ�ϣ�����������Ҫ���ġ�����������/usr/ �� /usr/share�ϲ�Ϊһ�������� ���Ǽ���δ�������ļ�ϵͳ
mount /dev/xxx   /mnt
�ڸ��Ƶ�ʱ��ת��Ŀ��Ŀ¼����ȥ�Ǻܱ�Ҫ��
cd /mnt
��Ŀ������ϼ���
ssh sourcePC 'dump -0 -f - /' | restore -r -f -
���� targetPC ����Ŀ����Ե� IP ��ַ��������-0�� ��ʾ��ȫ���ݣ���-f -����ʾʹ��stdin/stdout��Ϊ�ļ�������������-r����˼��ָʾ restore ȥ���´���ͨ�����紫�͵��ļ�ϵͳ��Ŀ�������ȥ������������ο�dump(8) �� restore(8)�� �����㿴�����Ǵ������ļ�ϵͳ�������
$ ssh 10.42.3.42 'dump -0 -f - /' | restore -r -f -
DUMP: Date of this level 0 dump: Tue Feb 22 15:50:12 2005
DUMP: Dumping /dev/hda3 (/) to standard output
DUMP: Label: debian
DUMP: Writing 10 Kilobyte records
DUMP: mapping (Pass I) [regular files]
DUMP: mapping (Pass II) [directories]
DUMP: estimated 547312 blocks.
DUMP: Volume 1 started with block 1 at: Tue Feb 22 15:50:14 2005
DUMP: dumping (Pass III) [directories]
DUMP: dumping (Pass IV) [regular files]
DUMP: Volume 1 completed at: Tue Feb 22 15:51:43 2005
DUMP: Volume 1 546590 blocks (533.78MB)
DUMP: Volume 1 took 0:01:29
DUMP: Volume 1 transfer rate: 6141 kB/s
DUMP: 546590 blocks (533.78MB)
DUMP: finished in 89 seconds, throughput 6141 kBytes/sec
DUMP: Date of this level 0 dump: Tue Feb 22 15:50:12 2005
DUMP: Date this dump completed: Tue Feb 22 15:51:43 2005
DUMP: Average transfer rate: 6141 kB/s
DUMP: DUMP IS DONE
Restore ͨ���ᴴ��һ������ restoresymtable���ļ��������ȷ�����ļ�ϵͳ�ؽ�������û�д�����������Խ�����ļ�ɾ���� ������ļ�ϵͳ�ĸ��ƣ���������������������ӷ����ĸ��ơ��� /usr��ʼ��(�ٶ������ڵĹ���Ŀ¼��δ�������ļ�ϵͳ)��
mount /dev/xxx  ./usr

cd ./usr

ssh targetPC 'dump -0 -f - /usr' | restore -r -f -
��� mount-cd-dump/restore ѭ�����ڿ��Զ��������Ŀ¼�ظ����в����������ᵽ�Ķ� /usr/share(��Դ�������Ǹ������ķ���)�Ĵ���, ���Լ򵥵�ͨ���л�Ŀ¼�� ./usr/share (ע�������.��)��Ȼ��򵥵��ظ�
ssh targetPC 'dump -0 -f - /usr/share' | restore -r -f -
��Ŀ���ļ�ϵͳ����Ҫ restore ���ļ�ʱ��Restore �ᱨ����ͨ�� ssh ����һ��̨���Ե����ݻỨ�Ѵ��һ��Сʱ��100MB ������Ҳ����Ҫ����������crossover cable����

ע�⣺ ת���ļ�ϵͳʱ��������Ҫ���أ�����Խ���ͨ������ ������, �� /dev/hda6,���Ǽ��غ��Ŀ¼����

��һ��ѡ��  netcat

��һ���ַ�����ʹ�� ssh����ʹ�� netcat(1), netcat ��� nc. Netcat ��һ�ѷdz������õĻ��� TCP/IP Э��(C/Sģ�͵�)�ġ���ʿ��������������������ͨ�����紴���ܵ���pipe�������������ֻ��������һ����һ��㶫���Ϳ������ˡ����Ǽ�������� /var/backup �ϵķ���������Ҫͨ��dump/restore �����͵ġ�

�ڽ��ն�(Ŀ�����)������һ�� netcat �ļ������̣�-l��������������̽��ܵ������ restore��
nc -l -p 2000 -q 1 | restore -r -f -
�� Դ����, ������һ�� netcat �����̣�������̽����ӹܵ���õ������뷢��Ŀ����ԣ����� target-IP ��Ŀ����Ե� IP ��ַ��
dump -0 -f - /var/backup | nc <target-ip>   2000
-q ѡ������ nc �ڵ����ļ�������EOF��ʱֹͣ���У��������ֶ����� nc �ġ���������Ȼ������ʹ��ssh ��

���ڹ���

��ϲ�㣡��ĿǰΪֹ�����Ѿ��ɹ��ĸ��������ϵͳ��ʣ�µ�������������úõĹ������������ȣ����Ǹ������ /etc/fstab �ļ���������Ŀ����Ե� IP ��ַ���ˣ���ô���������ļ� (Debian ������/etc/hosts��/etc/network/interfaces �����ļ�)��Ȼ����Ƿdz���Ҫ�� �������� �ļ��������������ζ���Ҫ���µġ���lilo ��˵, ������Ҫ�޸� /etc/lilo.conf�ļ�(�ر��� root=... ѡ��) Ȼ������ lilo -v���� �� grub ��˵, �༭ /boot/grub/menu.lst(�� /boot/grub/grub.conf��ȡ�����ĸ��Ƿ�������)Ȼ������ grub,
grub> root (hd0,xxx)

... filesystem is ...

grub> setup (hd0)

... lots of output here

grub> quit 
������ grub-install /dev/xxx ���� xxx �����Ӳ�̡��ڴˣ�������root (hdn,xx) �������� root=/dev/xxx �����á�

���ܵ�����ǣ������ڸ��ƺõĵ�������һЩ���õ�Ӳ������˿�����Ҫ�޸��� �ں˵����� ��������ϵͳ�кܶ�Ԥ�����õĺõ�ģ��(�� RedHat, SuSe, Mandrake, Fedora ...) ����ô�ܿ����Ѿ����˺��ʵ�ģ�飨module���ˡ�����, lspci -vv ���Լ����±����ںˡ��������Կ���ͬ�ˣ����� /etc/X11/XF86Config-4(������ RH/Fedora ��xorg.conf )��������ܣ����������м��� 3 ��ʹ�ù������������ X���� debian ��,һЩ�����DZ�Ҫ�ģ��Ҿͺ����˵ķ����ҵ�������r128 ��Ϊ��radeon��

����ϵͳ

��ƪ���½����˿�¡ ext2/ext3 �ļ�ϵͳ��ȫ���̡��ܶ����Ƶ���������ںܶ������� *nix ϵͳ�ϣ����� FreeBSD, HP-UX, IRIX ��Ҳ�ṩ dump/restore ��Щ����; �� Solaris �У��ⱻ���� ufsdump/ufsrestore����ȻҲ�е��ļ�ϵͳ���ṩ dump ���ܣ����� ReiserFS��������������ʹ�� rsync�ˡ�����ʹ�� rsync �ɹ�����Linux ϵͳ�����⣬�μ� [1]��

References

[1] ''Replicating a Linux System - Yet Another Method.'' Ben Okopnik, Linux Gazette Issue 83, October 2002.