niedziela, 11 listopada 2018

5 UNIX / Linux e2fsck Command Examples

What is e2fsck?
5 e2fsck examples
Syntax and Options
Related Commands

What is e2fsck?

Check ext2, ext3, or ext4 filesystems.

5 e2fsck Examples

1. Check a partition

You should be root to execute this command. If not, you’ll get the following error message.

$ /sbin/e2fsck /dev/sdb1
e2fsck 1.35 (28-Feb-2004)
/sbin/e2fsck: Permission denied while trying to open /dev/sdb1
You must have r/w access to the filesystem or be root

Also, the filesystem should not be mounted when you are performing the check. If it is mounted, you’ll get the following error message.

# e2fsck /dev/sdb1
e2fsck 1.41.12 (17-May-2010)
e2fsck: Device or resource busy while trying to open /dev/sdb1
Filesystem mounted or opened exclusively by another program?

So, login to root, unmount the filesystem, and perform the check as shown below.

$ su -

# umount /home 

# e2fsck /dev/sdb1
e2fsck 1.35 (28-Feb-2004)
/dev/sdb1: clean, 250/73187328 files, 26838739/146374231 blocks

2. Automatic repair using e2fsck

Using -p option, you can instruct e2fsck to check and automtically repair all issues without prompting you for confirmation.

# e2fsck -p /dev/sdb1

You can also use option -y, which will use “yes” answer to all the questions that are asked by the e2fsck command.

# e2fsck -y /dev/sdb1

3. Check only (no change) using e2fsck

Using -n option, you can instruct e2fsck to perform check only. i.e this will not make any changes to the filesystem, it will only check

# e2fsck -n /dev/sdb1

4. Force the filesystem check

When the filesystem is clean, it will not perform any checks, it will return the following message

# e2fsck /dev/sdb1
e2fsck 1.35 (28-Feb-2004)
/dev/sdb1: clean, 250/73187328 files, 26838739/146374231 blocks

However, if you want to force the filesystem check, even when it is clean, use the -f option as shown below.

# e2fsck -f /dev/sdb1
e2fsck 1.35 (28-Feb-2004)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/sdb1: 250/73187328 files (6.0% non-contiguous), 26838739/146374231 blocks

5. Display a progress bar during e2fsck check

Using -C option, you can specify a file descriptor, where e2fsck will send the output, which is useful when you are doing e2fsck from a shell script.

If you specify “-C 0”, it will display a progress bar while e2fsck is doing the check, which is useful, as you can see that it is doing something.

# e2fsck -f -C 0 /dev/sdb1
e2fsck 1.35 (28-Feb-2004)
Pass 1: Checking inodes, blocks, and sizes
/dev/sdb1: |=====                                                   -  9.5%

Syntax and Options

Syntax:

e2fsck  [ -pacnyrdfkvtDFV ] [ -b superblock ] [ -B blocksize ] [ -l|-L bad_blocks_file ] [ -C fd ] [ -j external-journal ] [ -E extended_options ] device

Explain the option of the e2fsck command. e.g. of chmod shown below.

Short Option Long Option Option Description
-a Same as option -p. It is only for backward compatibility.
-b Using this option, you can specify an alternative superblock. Use this when the main superblock is corrupted. For filesystems with 1k blocksizes, a backup superblock can be found at block 8193; for filesystems with 2k blocksizes, at block 16384; and for 4k block‐sizes, at block 32768. Use mke2fs -n option to see additional backup superblocks. The mke2fs -b option, which specifies blocksize of the filesystem must be specified in order for the superblock locations that are printed out to be accurate
-B /td> Using this option it will search for the superblock using different block sizes. This option forces e2fsck to use only the specified superblock blocksize. If the superblock is not found, e2fsck will terminate with a fatal error.
-c Using this option it use badblocks program to do a read-only scan of the device in order to find any bad blocks. If any bad blocks are found, they are added to the bad block inode to prevent them from being allocated to a file or directory. If this option is specified twice, then the bad block scan will be done using a non-destructive read-write test.
-C Using this option it writes completion information to the specified file descriptor so that the progress of the filesystem check can be monitored. This option is typically used by programs which are running e2fsck.
-d Print debugging output. Not useful except to debug e2fsck command itself.
-D Use this option to optimize directories in filesystem. Does this by reindexing them, or by sorting and compressing directories for smaller directories, or for filesystems using traditional linear directories.
-E Using this option you can set e2fsck extended options. These are comma separated, and may take an argument using the equals (‘=’) sign. It supports ea_ver=extended_attribute_version and fragcheck
-f Force checking even if the file system seems clean
-F Flush the filesystem device’s buffer caches before beginning. Only really useful for doing e2fsck time trials.
-j Set the pathname where the external-journal for this filesystem can be found.
-k When combined with the -c option, any existing bad blocks in the bad blocks list are preserved, and any new bad blocks found by running badblocks(8) will be added to the existing bad blocks list.
-l Add the block numbers listed in the file specified by filename to the list of bad blocks.
-L Using this option set the bad blocks list to be the list of blocks specified by filename. (This option is the same as the -l option, except the bad blocks list is cleared before the blocks listed in the file are added to the bad blocks list.)
-n Using this option open the filesystem read-only, and assume an answer of `no’ to all questions. Allows e2fsck to be used non-interactively. This option may not be specified at the same time as the -p or -y options.
-p Automatically repair (“preen”) the file system. This option will cause e2fsck to automatically fix any filesystem problems that can be safely fixed without human intervention. If e2fsck discovers a problem which may require the system administrator to take additional corrective action, e2fsck will print a description of the problem and then exit with the value 4 logically or’ed into the exit code.
-r This option does nothing at all; it is provided only for backwards compatibility.
-t Print timing statistics for e2fsck. If this option is used twice, additional timing statistics are printed on a pass by pass basis.
-v Verbose mode.
-V Print version information and exit.
-y Assume an answer of `yes’ to all questions; allows e2fsck to be used non-interactively. Don’t use it when you are using -n or -p options.

The exit code returned by e2fsck is the sum of the following conditions:

  • 0 – No errors
  • 1 – File system errors corrected
  • 2 – File system errors corrected, system should
  • be rebooted
  • 4 – File system errors left uncorrected
  • 8 – Operational error
  • 16 – Usage or syntax error
  • 32 – E2fsck canceled by user request
  • 128 – Shared library error


Related Commands

e2fsck.conf
badblocks
dumpe2fs
debugfs
e2image
mke2fs
tune2fs

source

niedziela, 4 listopada 2018

8 Linux Bash Shell Readline Bind Command Examples

In bash shell, using bind command you can view and modify the readline keybindings.

You can also set a value to a readline variable, or macro, or function.

You can either put this in the .inputrc, you can add it using the bind command rom the command line.

In the command line, by default it uses the emacs keybinding, but you can change it to vi keybindings.

1. List all Readline Functions

Using -l option, you can view all the readline function names. There are around 150 functions that are available by default.

# bind -l
abort
accept-line
alias-expand-line
arrow-key-prefix
backward-byte
backward-char
backward-delete-char
backward-kill-line
backward-kill-word
backward-word
beginning-of-history
beginning-of-line
...

# bind -l | wc -l
154

2. Display Keybindings and Function Names

Use the -p option, which will display both the keybindings and the corresponding function names. This is very easy to read as shown below.

# bind -p
"\C-g": abort
"\C-x\C-g": abort
"\e\C-g": abort
"\C-j": accept-line
"\C-m": accept-line
"\C-b": backward-char
"\eOD": backward-char
"\e[D": backward-char
"\C-h": backward-delete-char
"\C-?": backward-delete-char
"\C-x\C-?": backward-kill-line
"\e\C-h": backward-kill-word
"\e\C-?": backward-kill-word

3. Display List based on Functions

You can also view list of all functions along with the bindingins where they appear. This is little bit easier to read, when you like to view all the keybindings for a particular function name.

When there are multiple keybindings for the name function, it displays only one line item in the output for that particular function as shown below.

# bind -P
abort can be found on "\C-g", "\C-x\C-g", "\e\C-g".
accept-line can be found on "\C-j", "\C-m".
alias-expand-line is not bound to any keys
arrow-key-prefix is not bound to any keys
backward-byte is not bound to any keys
backward-char can be found on "\C-b", "\eOD", "\e[D".
backward-delete-char can be found on "\C-h", "\C-?".
backward-kill-line can be found on "\C-x\C-?".
backward-kill-word can be found on "\e\C-h", "\e\C-?".
backward-word can be found on "\eOd", "\e[1;5D", "\e[5D", "\eb".
beginning-of-history can be found on "\e<".
beginning-of-line can be found on "\C-a", "\eOH", "\e[1~", "\e[H".
call-last-kbd-macro can be found on "\C-xe".
capitalize-word can be found on "\ec".
...

4. Read Keybindings from a File

For some reason, if you don't like to use the default ~/.intputrc file, you can also define your own custom keybindings in a different file.

For example, the following mybindings file has a custom keybindings.

# cat mybindings
"\C-i": yank

The following command will load the keybindings from the mybindings file

# bind -f mybindings
 
# bind -p | grep yank
"\C-i": yank

5. Query based on Function

If you want to view keybindings only for a specific function, use the query option -q as shown below.

The following displays keybindings only for the function yank.

# bind -q yank
yank can be invoked via "\C-i", "\C-y".

6. Remove a Keybinding based on Name

You can also unbind a keybinding using -u option. This will remove the key combinations that is assigned to a particular function.

The following will unbind the keys bound to yank function.

# bind -u yank

# bind -p | grep yank
# yank (not bound)

7. Remove a Keybinding based on Keys

Similar to the previous example, you can also remove keybindings based on key combinations (instead of the name).

The following will remove the keybinding that is assigned to Ctrl-i (which in this example is yank function)

# bind -r "\C-i"

# bind -p | grep yank
# yank (not bound)

8. Display Readline Variables

To view all the readline variables using -v option. You can use either -v or -V.

# bind -v
set bind-tty-special-chars on
set blink-matching-paren on
set byte-oriented off
set completion-ignore-case off
set convert-meta off
set disable-completion off
set echo-control-characters on
set enable-keypad off
set enable-meta-key on
set expand-tilde off
set history-preserve-point off
set horizontal-scroll-mode off
...
source

czwartek, 1 listopada 2018

torrenttrackerlist

torrenttrackerlist
udp://public.popcorn-tracker.org:6969/announce

http://182.176.139.129:6969/announce
 
http://5.79.83.193:2710/announce
 
http://91.218.230.81:6969/announce

udp://tracker.ilibr.org:80/announce
 
http://atrack.pow7.com/announce
 
http://bt.henbt.com:2710/announce
 
http://mgtracker.org:2710/announce
 
http://mgtracker.org:6969/announce
 
http://open.touki.ru/announce.php
 
http://p4p.arenabg.ch:1337/announce
 
http://pow7.com:80/announce
 
http://retracker.krs-ix.ru:80/announce
 
http://secure.pow7.com/announce
 
http://t1.pow7.com/announce
 
http://t2.pow7.com/announce
 
http://thetracker.org:80/announce
 
http://torrentsmd.com:8080/announce
 
http://tracker.bittor.pw:1337/announce
 
http://tracker.dutchtracking.com:80/announce
 
http://tracker.dutchtracking.nl:80/announce
 
http://tracker.edoardocolombo.eu:6969/announce
 
http://tracker.ex.ua:80/announce
 
http://tracker.kicks-ass.net:80/announce
 
http://tracker1.wasabii.com.tw:6969/announce
 
http://tracker2.itzmx.com:6961/announce
 
http://www.wareztorrent.com:80/announce
 
udp://62.138.0.158:6969/announce
 
udp://eddie4.nl:6969/announce
 
udp://explodie.org:6969/announce
 
udp://shadowshq.eddie4.nl:6969/announce
 
udp://shadowshq.yi.org:6969/announce
 
udp://tracker.eddie4.nl:6969/announce
 
udp://tracker.mg64.net:2710/announce
 
udp://tracker.sktorrent.net:6969
 
udp://tracker2.indowebster.com:6969/announce
 
udp://tracker4.piratux.com:6969/announce

http://atrack.pow7.com/announce
 
http://bt.henbt.com:2710/announce
 
http://mgtracker.org:2710/announce
 
http://mgtracker.org:6969/announce
 
http://open.touki.ru/announce.php
 
http://p4p.arenabg.ch:1337/announce
 
http://pow7.com:80/announce
 
http://retracker.krs-ix.ru:80/announce
 
http://secure.pow7.com/announce
 
http://t1.pow7.com/announce
 
http://t2.pow7.com/announce
 
http://thetracker.org:80/announce
 
http://torrentsmd.com:8080/announce
 
http://tracker.bittor.pw:1337/announce
 
http://tracker.dutchtracking.com/announce
 
http://tracker.dutchtracking.com:80/announce
 
http://tracker.dutchtracking.nl:80/announce
 
http://tracker.edoardocolombo.eu:6969/announce
 
http://tracker.ex.ua:80/announce
 
http://tracker.kicks-ass.net:80/announce
 
http://tracker.mg64.net:6881/announce
 
http://tracker.tfile.me/announce
 
http://tracker1.wasabii.com.tw:6969/announce
 
http://tracker2.itzmx.com:6961/announce
 
http://tracker2.wasabii.com.tw:6969/announce
 
http://www.wareztorrent.com:80/announce
 
udp://bt.xxx-tracker.com:2710/announce
 
udp://eddie4.nl:6969/announce
 
udp://shadowshq.eddie4.nl:6969/announce
 
udp://shadowshq.yi.org:6969/announce
 
udp://tracker.eddie4.nl:6969/announce
 
udp://tracker.mg64.net:2710/announce
 
udp://tracker.mg64.net:6969/announce
 
udp://tracker.opentrackr.org:1337/announce
 
udp://tracker.sktorrent.net:6969
 
udp://tracker2.indowebster.com:6969/announce
 
udp://tracker4.piratux.com:6969/announce

udp://tracker.coppersurfer.tk:6969/announce

http://tracker.opentrackr.org:1337/announce

udp://zer0day.ch:1337/announce

udp://zer0day.to:1337/announce

http://explodie.org:6969/announce

udp://tracker.leechers-paradise.org:6969/announce

udp://9.rarbg.com:2710/announce

udp://9.rarbg.me:2780/announce

udp://9.rarbg.to:2730/announce

udp://p4p.arenabg.com:1337/announce

udp://tracker.sktorrent.net:6969/announce

http://p4p.arenabg.com:1337/announce

udp://tracker.aletorrenty.pl:2710/announce

http://tracker.aletorrenty.pl:2710/announce

http://tracker.bittorrent.am/announce

udp://tracker.kicks-ass.net:80/announce

http://tracker.kicks-ass.net/announce

http://tracker.baravik.org:6970/announce

udp://torrent.gresille.org:80/announce

http://torrent.gresille.org/announce

http://tracker.skyts.net:6969/announce

http://tracker.internetwarriors.net:1337/announce

udp://tracker.skyts.net:6969/announce

http://tracker.dutchtracking.nl/announce

udp://tracker.yoshi210.com:6969/announce

udp://tracker.tiny-vps.com:6969/announce

udp://tracker.internetwarriors.net:1337/announce

udp://mgtracker.org:2710/announce

http://tracker.yoshi210.com:6969/announce

http://tracker.tiny-vps.com:6969/announce

udp://tracker.filetracker.pl:8089/announce

udp://tracker.ex.ua:80/announce

udp://91.218.230.81:6969/announce

https://www.wareztorrent.com/announce

http://www.wareztorrent.com/announce

http://tracker.filetracker.pl:8089/announce

http://tracker.ex.ua/announce

http://tracker.calculate.ru:6969/announce

udp://tracker.grepler.com:6969/announce

udp://tracker.flashtorrents.org:6969/announce

udp://tracker.bittor.pw:1337/announce

http://tracker.tvunderground.org.ru:3218/announce

http://tracker.grepler.com:6969/announce

http://tracker.flashtorrents.org:6969/announce

http://retracker.gorcomnet.ru/announce

http://bt.pusacg.org:8080/announce

http://87.248.186.252:8080/announce

udp://tracker.kuroy.me:5944/announce

udp://182.176.139.129:6969/announce

http://tracker.kuroy.me:5944/announce

http://retracker.krs-ix.ru/announce

http://open.acgtracker.com:1096/announce

udp://open.stealth.si:80/announce

udp://208.67.16.113:8000/announce

http://tracker.dler.org:6969/announce

http://bt2.careland.com.cn:6969/announce

http://open.lolicon.eu:7777/announce

http://tracker.opentrackr.org:1337/announce

http://explodie.org:6969/announce

http://p4p.arenabg.com:1337/announce

http://tracker.aletorrenty.pl:2710/announce

http://tracker.bittorrent.am/announce

http://tracker.kicks-ass.net/announce

http://tracker.baravik.org:6970/announce

http://torrent.gresille.org/announce

http://tracker.skyts.net:6969/announce

http://tracker.internetwarriors.net:1337/announce

http://tracker.dutchtracking.nl/announce

http://tracker.yoshi210.com:6969/announce

http://tracker.tiny-vps.com:6969/announce

http://www.wareztorrent.com/announce

http://tracker.filetracker.pl:8089/announce

http://tracker.ex.ua/announce

http://tracker.calculate.ru:6969/announce

http://tracker.tvunderground.org.ru:3218/announce

http://tracker.grepler.com:6969/announce

http://tracker.flashtorrents.org:6969/announce

http://retracker.gorcomnet.ru/announce

http://bt.pusacg.org:8080/announce

http://87.248.186.252:8080/announce

http://tracker.kuroy.me:5944/announce

http://retracker.krs-ix.ru/announce

http://open.acgtracker.com:1096/announce

http://bt2.careland.com.cn:6969/announce

http://open.lolicon.eu:7777/announce

https://www.wareztorrent.com/announce

udp://213.163.67.56:1337/announce

http://213.163.67.56:1337/announce

udp://185.86.149.205:1337/announce

http://74.82.52.209:6969/announce

udp://94.23.183.33:6969/announce

udp://74.82.52.209:6969/announce

udp://151.80.120.114:2710/announce

udp://109.121.134.121:1337/announce

udp://168.235.67.63:6969/announce

http://109.121.134.121:1337/announce

udp://178.33.73.26:2710/announce

http://178.33.73.26:2710/announce

http://85.17.19.180/announce

udp://85.17.19.180:80/announce

http://210.244.71.25:6969/announce

http://85.17.19.180/announce

http://213.159.215.198:6970/announce

udp://191.101.229.236:1337/announce

http://178.175.143.27/announce

udp://89.234.156.205:80/announce

http://91.216.110.47/announce

http://114.55.113.60:6969/announce

http://195.123.209.37:1337/announce

udp://114.55.113.60:6969/announce

http://210.244.71.26:6969/announce

udp://107.150.14.110:6969/announce

udp://5.79.249.77:6969/announce

udp://195.123.209.37:1337/announce

udp://37.19.5.155:2710/announce

http://107.150.14.110:6969/announce

http://5.79.249.77:6969/announce

udp://185.5.97.139:8089/announce

udp://194.106.216.222:80/announce

udp://91.218.230.81:6969/announce

https://104.28.17.69/announce

http://104.28.16.69/announce

http://185.5.97.139:8089/announce

http://194.106.216.222/announce

http://80.246.243.18:6969/announce

http://37.19.5.139:6969/announce

udp://5.79.83.193:6969/announce

udp://46.4.109.148:6969/announce

udp://51.254.244.161:6969/announce

udp://188.165.253.109:1337/announce

http://91.217.91.21:3218/announce

http://37.19.5.155:6881/announce

http://46.4.109.148:6969/announce

http://51.254.244.161:6969/announce

http://104.28.1.30:8080/announce

http://81.200.2.231/announce

http://157.7.202.64:8080/announce

http://87.248.186.252:8080/announce

udp://128.199.70.66:5944/announce

udp://182.176.139.129:6969/announce

http://128.199.70.66:5944/announce

http://188.165.253.109:1337/announce

http://93.92.64.5/announce

http://173.254.204.71:1096/announce

udp://195.123.209.40:80/announce

udp://62.212.85.66:2710/announce

udp://208.67.16.113:8000/announce

http://125.227.35.196:6969/announce

http://59.36.96.77:6969/announce

http://87.253.152.137/announce

http://158.69.146.212:7777/announce

udp://tracker.coppersurfer.tk:6969/announce

udp://zer0day.ch:1337/announce

udp://tracker.leechers-paradise.org:6969/announce

udp://9.rarbg.com:2710/announce

udp://p4p.arenabg.com:1337/announce

udp://tracker.sktorrent.net:6969/announce

udp://tracker.aletorrenty.pl:2710/announce

udp://tracker.kicks-ass.net:80/announce

udp://torrent.gresille.org:80/announce

udp://tracker.skyts.net:6969/announce

udp://tracker.yoshi210.com:6969/announce

udp://tracker.tiny-vps.com:6969/announce

udp://tracker.internetwarriors.net:1337/announce

udp://mgtracker.org:2710/announce

udp://tracker.filetracker.pl:8089/announce

udp://tracker.ex.ua:80/announce

udp://91.218.230.81:6969/announce

udp://tracker.grepler.com:6969/announce

udp://tracker.flashtorrents.org:6969/announce

udp://tracker.bittor.pw:1337/announce

udp://tracker.kuroy.me:5944/announce

udp://182.176.139.129:6969/announce

udp://open.stealth.si:80/announce

udp://208.67.16.113:8000/announce

udp://tracker.coppersurfer.tk:6969/announce

http://tracker.opentrackr.org:1337/announce

udp://zer0day.ch:1337/announce

http://explodie.org:6969/announce

udp://tracker.leechers-paradise.org:6969/announce

udp://9.rarbg.com:2710/announce

udp://p4p.arenabg.com:1337/announce

udp://tracker.sktorrent.net:6969/announce

http://p4p.arenabg.com:1337/announce

udp://tracker.aletorrenty.pl:2710/announce

http://tracker.aletorrenty.pl:2710/announce

http://tracker.bittorrent.am/announce

udp://tracker.kicks-ass.net:80/announce

http://tracker.kicks-ass.net/announce

http://tracker.baravik.org:6970/announce

udp://tracker.piratepublic.com:1337/announce

udp://213.163.67.56:1337/announce

http://213.163.67.56:1337/announce

udp://185.86.149.205:1337/announce

http://74.82.52.209:6969/announce

udp://94.23.183.33:6969/announce

udp://74.82.52.209:6969/announce

udp://151.80.120.114:2710/announce

udp://109.121.134.121:1337/announce

udp://168.235.67.63:6969/announce

http://109.121.134.121:1337/announce

udp://178.33.73.26:2710/announce

http://178.33.73.26:2710/announce

http://85.17.19.180/announce

udp://85.17.19.180:80/announce

http://210.244.71.25:6969/announce

http://85.17.19.180/announce