Debian

bad super-block

从家里开始用debian就感觉这东西真是要命,今天super-block又出问题了,修复过程记录一下。

# mke2fs -n /dev/sdb3   #bad super-blcik partition
mke2fs 1.35 (28-Feb-2004)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
611648 inodes, 1222940 blocks
61147 blocks (5.00%) reserved for the super user
First data block=0
38 block groups
32768 blocks per group, 32768 fragments per group
16096 inodes per group
Superblock backups stored on blocks:
        32768, 98304, 163840, 229376, 294912, 819200, 884736

#e2fsck -b 32768 /dev/sdb3
###一步按y

sudo

sudo安装配置

# apt-get update
# apt-get install sudo
# vi /etc/suders
用户名     ALL=(ALL) ALL (添加)

时间修正

dpkg-reconfigure tzdata

vi /etc/timezone
也需要更改

dos2unix

集合在工具包sysutils中,需要更改sources.list后可以安装 apt-get -y install sysutils

sources.list

deb http://ftp.jp.debian.org/debian etch main contrib non-free
deb http://security.debian.org etch/updates main contrib non-free
deb http://ftp.jp.debian.org/debian-volatile etch/volatile main contrib
deb http://www.jp.backports.org/ etch-backports main contrib non-free

安装源更改后
运行
apt-get update
报错如下:
W: GPG error: http://www.jp.backports.org etch-backports Release:
The following signatures couldn't be verified because the public key is not available: NO_PUBKEY EA8E8B2116BA136C
W: You may want to run apt-get update to correct these problems

解决方法:
# wget http://www.backports.org/debian/archive.key
# apt-key add archive.key
OK
# apt-get update

源码安装rtorrent

安装前准备
aptitude install subversion build-essential libtool automake1.9 \
openssl libcurl3 libcurl3-dev libsigc++-2.0-0c2a libsigc++-2.0-dev libncurses5 libncurses5-dev
下载 source code
   1. cd /usr/src
   2. mkdir rtorrent
   3. cd rtorrent
   4. svn co svn://rakshasa.no/libtorrent/trunk
   5. cd trunk
   6. svn up
[编译 libtorrent]

   1. cd libtorrent
   2. ./autogen.sh
   3. ./configure
   4. make
   5. make install

[编译 rtorrent]

   1. cd ../rtorrent
   2. ./autogen.sh
   3. ./configure
   4. make
   5. make install
运行时报错如下:
rtorrent: error while loading shared libraries: libtorrent.so.11: cannot open shared object file: No such file or directory

解决办法:
修改 /etc/ld.so.conf ,如果內容只有 include /etc/ld.so.conf.d/*.conf

加入下面两行
include /etc/ld.so.conf.d/*.conf
/usr/lib
/usr/local/lib

再执行 ldconfig 后, 再运行rtorrent看看

PPC版Debian fdisk

这个软件是在linux ppc版本中必须的分区工具,因为fdisk -l在linux ppc版本中,根本没有办法用。所以这个工具,还是极有必要的。

This explains the basics of creating partitions with mac-fdisk in a step by step manner. Note if you need to share the disk with MacOS you will need to first create the MacOS partitions with the MacOS utility Drive setup. When creating the MacOS partitions you should first create with Drive setup a placeholder HFS partition as big as the total space ALL of your planned GNU/Linux partitions will take. For example, if you plan to have 4 1GB Linux partitions you would make the HFS placeholder partition 4GB. You will delete this partition with mac-fdisk and create the Linux partitions in the space it leaves behind. The MacOS partition[s] should be last on the disk.

For Newworld systems you *must* have an 800K partition with type Apple_Bootstrap appearing *before* any MacOS partitions.

DO NOT try and create Linux partitions with Apple's Drive setup!

If you are not going to keep MacOS and intend to have a GNU/Linux only disk/system you should use the `i' command to mac-fdisk to clear out the partition table and make a new empty one, however mac-fdisk occasionally miscalculates the number of blocks the disk has. When you run the `i' command it will prompt you for the number of blocks the disk has, make sure this number is correct before accepting it.

NOTE: the mac-fdisk in Debian woody has been fixed, and no longer has this problem. If you are using mac-fdisk with Debian woody boot-floppies you need not find the number of blocks yourself as described below.

To find out the number of blocks the disk has do the following (you can skip this if using Debian woody mac-fdisk):

# cat /proc/partitions
 
find the device you are partitioning, for example `hda' you should see
something like this:
 
...
3 0 20044080 hda
...

take the number next to `hda' and double it, in this example you would get 40088160 that is the number of 512 byte blocks /dev/hda has, this is the number mac-fdisk should give as the default when you use the `i' command, if not type it in yourself.

If you are sharing the disk with MacOS you should have already created two HFS partitions, the first just a placeholder to reserve the space for all your Linux partitions. The second for MacOS. Note if you want to also install MacOSX, you should use Drive setup to create a 3rd partition type Apple_UFS, or MacOSX. The MacOSX installer uses this as a placeholder partition, it will delete it and create 2 bootstrap partitions and then recreate the Apple_UFS partition. It is important that you not create the Apple_UFS partition before the GNU/Linux placeholder otherwise the MacOSX bootstrap partition will be ahead of the Linux bootstrap partition. Using HFS+ for MacOSX is not recommended as MacOS will debless the OSX partition rendering it unbootable. GNU/Linux also has read-only support for UFS unlike HFS+.

First you need to find and delete the placeholder partition:

when you enter mac-fdisk you get the following prompt:
 
Command (? for help):
 
the first command you should give is the `p' print command:
 
Command (? for help): p
/dev/sdb
# type name length base ( size ) system
/dev/sdb1 Apple_partition_map Apple 63 @ 1 ( 31.5k) Partition map
/dev/sdb2 Apple_Driver43 Macintosh 54 @ 64 ( 27.0k) Driver 4.3
/dev/sdb3 Apple_Driver43 Macintosh 74 @ 118 ( 37.0k) Driver 4.3
/dev/sdb4 Apple_Driver_IOKit Macintosh 512 @ 192 (256.0k) Unknown
/dev/sdb5 Apple_Patches Patch Partition 512 @ 704 (256.0k) Unknown
/dev/sdb6 Apple_HFS untitled 194557 @ 1216 ( 95.0M) HFS
/dev/sdb7 Apple_HFS untitled 2 333025 @ 195773 (162.6M) HFS
/dev/sdb8 Apple_Free Extra 10 @ 528798 ( 5.0k) Free space
 
Block size=512, Number of Blocks=528807
DeviceType=0x0, DeviceId=0x0
Drivers-
1: @ 64 for 22, type=0x1
2: @ 118 for 36, type=0xffff
 
In this case the placeholder partition is 95MB (absurd but this is
just a demonstration)
 
Note that partitions 2-5 are MacOS cruft, they are only required if
you are keeping MacOS, they are completly unnecessary if you delete
MacOS. It is reccommended that you remove all of these driver
partitions if you do not plan to keep MacOS, do this with the `i'
command.
 
to delete this partition we use the `d' command and use the partition
number, in this case 6:
 
Command (? for help): d
Partition number: 6
Command (? for help): p
/dev/sdb
# type name length base ( size ) system
/dev/sdb1 Apple_partition_map Apple 63 @ 1 ( 31.5k) Partition map
/dev/sdb2 Apple_Driver43 Macintosh 54 @ 64 ( 27.0k) Driver 4.3
/dev/sdb3 Apple_Driver43 Macintosh 74 @ 118 ( 37.0k) Driver 4.3
/dev/sdb4 Apple_Driver_IOKit Macintosh 512 @ 192 (256.0k) Unknown
/dev/sdb5 Apple_Patches Patch Partition 512 @ 704 (256.0k) Unknown
/dev/sdb6 Apple_Free Extra 194557 @ 1216 ( 95.0M) Free space
/dev/sdb7 Apple_HFS untitled 2 333025 @ 195773 (162.6M) HFS
/dev/sdb8 Apple_Free Extra 10 @ 528798 ( 5.0k) Free space
 
as you can see there is now just a free space hole.
 
create the bootstrap partition:
 
If your using the mac-fdisk in Debian woody you can do this using the
`b' command which will automatically create the partition with the
correct type and size:
 
Command (? for help): b
First block: 6P
Command (? for help): p
/dev/sdb
# type name length base ( size ) system
/dev/sdb1 Apple_partition_map Apple 63 @ 1 ( 31.5k) Partition map
/dev/sdb2 Apple_Driver43 Macintosh 54 @ 64 ( 27.0k) Driver 4.3
/dev/sdb3 Apple_Driver43 Macintosh 74 @ 118 ( 37.0k) Driver 4.3
/dev/sdb4 Apple_Driver_IOKit Macintosh 512 @ 192 (256.0k) Unknown
/dev/sdb5 Apple_Patches Patch Partition 512 @ 704 (256.0k) Unknown
/dev/sdb6 Apple_Bootstrap bootstrap 1600 @ 1216 (800.0k) Unknown
/dev/sdb7 Apple_Free Extra 192957 @ 2816 ( 94.2M) Free space
/dev/sdb8 Apple_HFS untitled 2 333025 @ 195773 (162.6M) HFS
/dev/sdb9 Apple_Free Extra 10 @ 528798 ( 5.0k) Free space
 
Otherwise you will have to create it manually, note that the `C'
command is NOT the same as the `c' command:
 
Command (? for help): C
First block: 6P
Length in blocks: 800K
Name of partition: bootstrap
Type of partition: Apple_Bootstrap
Command (? for help): p
/dev/sdb
# type name length base ( size ) system
/dev/sdb1 Apple_partition_map Apple 63 @ 1 ( 31.5k) Partition map
/dev/sdb2 Apple_Driver43 Macintosh 54 @ 64 ( 27.0k) Driver 4.3
/dev/sdb3 Apple_Driver43 Macintosh 74 @ 118 ( 37.0k) Driver 4.3
/dev/sdb4 Apple_Driver_IOKit Macintosh 512 @ 192 (256.0k) Unknown
/dev/sdb5 Apple_Patches Patch Partition 512 @ 704 (256.0k) Unknown
/dev/sdb6 Apple_Bootstrap bootstrap 1600 @ 1216 (800.0k) Unknown
/dev/sdb7 Apple_Free Extra 192957 @ 2816 ( 94.2M) Free space
/dev/sdb8 Apple_HFS untitled 2 333025 @ 195773 (162.6M) HFS
/dev/sdb9 Apple_Free Extra 10 @ 528798 ( 5.0k) Free space
 
For `First block:' we used the first Apple_Free partition, partition 6
hence `6P' you can use this syntax to avoid having to calculate the
block offsets yourself. Also note that the Apple_Free partition is
now partition 7 and is 1600 blocks smaller, this will occur each time
you create new partitions in that space until there is no more space
left and this Apple_Free partition will simply be gone.
 
Now create the rest of your GNU/Linux partitions, this will show only
one partition.
 
Command (? for help): c
First block: 7P
Length in blocks: 7P
Name of partition: /
Command (? for help): p
/dev/sdb
# type name length base ( size ) system
/dev/sdb1 Apple_partition_map Apple 63 @ 1 ( 31.5k) Partition map
/dev/sdb2 Apple_Driver43 Macintosh 54 @ 64 ( 27.0k) Driver 4.3
/dev/sdb3 Apple_Driver43 Macintosh 74 @ 118 ( 37.0k) Driver 4.3
/dev/sdb4 Apple_Driver_IOKit Macintosh 512 @ 192 (256.0k) Unknown
/dev/sdb5 Apple_Patches Patch Partition 512 @ 704 (256.0k) Unknown
/dev/sdb6 Apple_Bootstrap bootstrap 1600 @ 1216 (800.0k) Unknown
/dev/sdb7 Apple_UNIX_SVR2 / 192957 @ 2816 ( 94.2M) Linux native
/dev/sdb8 Apple_HFS untitled 2 333025 @ 195773 (162.6M) HFS
/dev/sdb9 Apple_Free Extra 10 @ 528798 ( 5.0k) Free space
 
In this example we used the `c' command instead of `C' the difference
is `c' does not ask for a partition type, which we needed to enter to
get the special Apple_Bootstrap partition. Also note that we used the
7P syntax for the `Length of Blocks:' this means use all the space the
selected Apple_Free partition has. For other partitions you would
want to use xyzM for number of MegaBytes similar to the above 800K for
800 KiloBytes used for the bootstrap partition.
 
The partition name does not matter except for the swap partition,
where it should be `swap'. I find it useful to use the mountpoint
path as a partition name.
 
once your are satisfied with your partitioning enter the `w' command
to save changes:
 
Command (? for help): w
Writing the map destroys what was there before. Is that okay? [n/y]: y
The partition table has been altered!
 
SCSI device sdb: hdwr sector= 512 bytes. Sectors= 528808 [258 MB] [0.3 GB]
sdb: sdb1 sdb2 sdb3 sdb4 sdb5 sdb6 sdb7 sdb8 sdb9
SCSI device sdb: hdwr sector= 512 bytes. Sectors= 528808 [258 MB] [0.3 GB]
sdb: sdb1 sdb2 sdb3 sdb4 sdb5 sdb6 sdb7 sdb8 sdb9
Command (? for help):
 
now quit mac-fdisk with the `q' command:
 
Command (? for help): q
 
If you are not going to keep MacOS then you should clear the partition
table like so:
 
Command (? for help): i
map already exists
do you want to reinit? [n/y]: y
size of 'device' is 528808 blocks:
new size of 'device' is 528808 blocks
Command (? for help): p
/dev/sda
# type name length base ( size ) system
/dev/sda1 Apple_partition_map Apple 63 @ 1 ( 31.5k) Partition map
/dev/sda2 Apple_Free Extra 528744 @ 64 (258.2M) Free space
 
Block size=512, Number of Blocks=528808
DeviceType=0x0, DeviceId=0x0
 
Command (? for help):
 
Note if mac-fdisk's idea of the `size of 'device'' is wrong then enter
the correct value as described above.
 
Clearing the partition table has the advantage of getting rid of all
the MacOS cruft partitions created by Drive setup, those partitions
are only required when sharing the disk with MacOS.
 
create your partitions as shown in the previous example.
 
---- REORDERING PARTITIONS ----
 
MacOSX uses Apple_UFS partitions created by Drive setup as a
placeholder, it deletes them and create two bootstrap partitions of
its own then recreates the Apple_UFS partition. You should always
create the GNU/Linux placeholder before any MacOS or MacOSX partitions
but in case you didn't here is how to fix things.
 
Reordering partitions is useful if you accidently created your
bootstrap partition after your MacOS partitions, and its too late to
repartition.
 
the fix fortunatly is pretty simple, once you boot back into a
GNU/Linux system run mac-fdisk (aka pdisk) and use the `p' command to
print the partition table. Find the new number of your Bootstrap
partition and then use the `r' command to move it back where it
belongs, here is an example:
 
[root@socrates /root]# mac-fdisk /dev/sda
Command (? for help): p
/dev/sda
# type name length base ( size ) system
/dev/sda1 Apple_partition_map Apple 63 @ 1 ( 31.5k) Partition map
/dev/sda2 Apple_Boot MacOSX_Bootstrap 16384 @ 64 ( 8.0M) Unknown
/dev/sda3 Apple_Second MacOSX_Second_stage 2048 @ 16448 ( 1.0M) Unknown
/dev/sda4 Apple_HFS MacOS9 102400 @ 18496 ( 50.0M) HFS
/dev/sda5 Apple_UFS MacOSX 112640 @ 120896 ( 55.0M) Unknown
/dev/sda6 Apple_Bootstrap bootstrap 1600 @ 233536 (800.0k) Unknown
/dev/sda7 Apple_UNIX_SVR2 GNU/Linux 293672 @ 235136 (143.4M) Linux native
 
Block size=512, Number of Blocks=528808
DeviceType=0x0, DeviceId=0x0
 
Command (? for help): r
Partition number: 6
New number: 2
Command (? for help): p
/dev/sda
# type name length base ( size ) system
/dev/sda1 Apple_partition_map Apple 63 @ 1 ( 31.5k) Partition map
/dev/sda2 Apple_Bootstrap bootstrap 1600 @ 233536 (800.0k) Unknown
/dev/sda3 Apple_Boot MacOSX_Bootstrap 16384 @ 64 ( 8.0M) Unknown
/dev/sda4 Apple_Second MacOSX_Second_stage 2048 @ 16448 ( 1.0M) Unknown
/dev/sda5 Apple_HFS MacOS9 102400 @ 18496 ( 50.0M) HFS
/dev/sda6 Apple_UFS MacOSX 112640 @ 120896 ( 55.0M) Unknown
/dev/sda7 Apple_UNIX_SVR2 GNU/Linux 293672 @ 235136 (143.4M) Linux native
 
Block size=512, Number of Blocks=528808
DeviceType=0x0, DeviceId=0x0
 
Command (? for help): w
Writing the map destroys what was there before. Is that okay? [n/y]: y
The partition table has been altered!
 
SCSI device sda: hdwr sector= 512 bytes. Sectors= 528808 [258 MB] [0.3 GB]
sda: sda1 sda2 sda3 sda4 sda5 sda6 sda7
SCSI device sda: hdwr sector= 512 bytes. Sectors= 528808 [258 MB] [0.3 GB]
sda: sda1 sda2 sda3 sda4 sda5 sda6 sda7
Command (? for help): q
[root@socrates /root]#
 
That should take care of the problem. You may also have to fix your
/etc/fstab if your GNU/Linux partitions moved, however that is beyond
the spoke of this document.
penguinppc.org is the new home of the PowerPC GNU/Linux project, the
/var/lib/openshift/bccd8eac1968476490eaee9ced33c7bf/app-root/runtime/repo/php/data/pages/debian.txt · 最后更改: 2012/09/07 09:21 (外部编辑)
到顶部
CC Attribution-Noncommercial-Share Alike 3.0 Unported
chimeric.de = chi`s home Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0