New ncdu, ncdc + btrfssize + misc changes

This commit is contained in:
Yorhel 2016-12-30 13:46:17 +01:00
parent 7cf772d968
commit 07143cfb36
17 changed files with 182 additions and 84 deletions

2
Bug.pm
View file

@ -103,7 +103,7 @@ sub dbSave {
$TUWF::OBJ->dbExec( $TUWF::OBJ->dbExec(
"INSERT INTO !s (issue, date, closed, summary, name, email, type, status, message, admin) VALUES ($issue, ?, ?, !l)", "INSERT INTO !s (issue, date, closed, summary, name, email, type, status, message, admin) VALUES ($issue, ?, ?, !l)",
$self->{table}, $id || $self->{table}, time(), $closed?1:0, \@a); $self->{table}, $id || $self->{table}, time(), $closed?1:0, \@a);
return $TUWF::OBJ->dbRow('SELECT MAX(issue) AS issue FROM !s', $self->{table})->{issue}; return $TUWF::OBJ->dbRow('SELECT issue FROM !s ORDER BY date DESC LIMIT 1 ', $self->{table})->{issue};
} }

40
dat/dump-btrfssize Normal file
View file

@ -0,0 +1,40 @@
=pod
I<2016-08-16> - btrfs-size.pl is a quick little script to provide an overview
of the disk space used by btrfs subvolumes. It's comparable to
L<btrfs-size.sh|https://poisonpacket.wordpress.com/2015/05/26/btrfs-snapshot-size-disk-usage/>,
but is somewhat faster and has a few options to sort the output.
Honestly, it's still hard to draw any conclusions from the sizes provided by
btrfs, but sadly, L<ncdu|https://dev.yorhel.nl/ncdu> is useless for
snapshot-heavy filesystems.
Only tested with btrfs-progs v4.4.1.
B<Download:> L<btrfs-size.pl|https://p.blicky.net/FNPXpbwMXfTI.txt>
(L<syntax-highligted version|https://p.blicky.net/FNPXpbwMXfTI>).
=head2 Usage
btrfs-size.pl --help [-nser] <path>
-n Order by path name
-s Order by (total) subvolume size
-e Order by exclusive subvolume size
-r Reverse order
=head2 Example output
# btrfs-size.pl /data
gfbf007/cur 46.32 GiB 16.00 KiB
gfbf007/snap/2016-08-14.08 46.32 GiB 428.00 KiB
gfbf007/snap/2016-08-15.03 46.32 GiB 428.00 KiB
gfbf007/snap/2016-08-16.03 46.32 GiB 16.00 KiB
ggit011/cur 23.92 MiB 16.00 KiB
ggit011/snap/2016-08-14.08 23.90 MiB 300.00 KiB
ggit011/snap/2016-08-15.08 23.92 MiB 16.00 KiB
gman015/cur 3.74 GiB 16.00 KiB
gman015/snap/2016-08-14.08 3.74 GiB 112.00 KiB
gman015/snap/2016-08-15.02 3.74 GiB 96.00 KiB
gman015/snap/2016-08-16.02 3.74 GiB 16.00 KiB

View file

@ -10,13 +10,13 @@ ncurses interface.
=item Latest version =item Latest version
1.19.1 ([dllink ncdc-1.19.1.tar.gz download] 1.20 ([dllink ncdc-1.20.tar.gz download]
- L<changes|https://dev.yorhel.nl/ncdc/changes>) - L<changes|https://dev.yorhel.nl/ncdc/changes>)
Convenient static binaries for Linux: Convenient static binaries for Linux:
L<64-bit|https://dev.yorhel.nl/download/ncdc-linux-x86_64-1.19.1-12-g55616.tar.gz> - L<64-bit|https://dev.yorhel.nl/download/ncdc-linux-x86_64-1.20.tar.gz> -
L<32-bit|https://dev.yorhel.nl/download/ncdc-linux-i486-1.19.1-12-g55616.tar.gz> - L<32-bit|https://dev.yorhel.nl/download/ncdc-linux-i486-1.20.tar.gz> -
L<ARM|https://dev.yorhel.nl/download/ncdc-linux-arm-1.19.1-12-g55616.tar.gz>. Check the L<ARM|https://dev.yorhel.nl/download/ncdc-linux-arm-1.20.tar.gz>. Check the
L<installation instructions|https://dev.yorhel.nl/ncdc/install> for more info. L<installation instructions|https://dev.yorhel.nl/ncdc/install> for more info.
=item Development version =item Development version
@ -36,25 +36,24 @@ Ncdc is entirely written in C and available under a liberal MIT license.
[html] [html]
L<Bug tracker|https://dev.yorhel.nl/ncdc/bug> - For bugs reports, feature requests and patches.<br /> L<Bug tracker|https://dev.yorhel.nl/ncdc/bug> - For bugs reports, feature requests and patches.<br />
L<Mailing list|http://l.blicky.net/listinfo/ncdc> - For general discussions, questions and feedback.<br /> C<adcs://dc.blicky.net:2780/> - For real-time chat.
C<adcs://dc.blicky.net:2780/> - If the mailing list is too slow for you.
É É
=item Packages and ports =item Packages and ports
Are available for the following systems: Are available for the following systems:
L<Arch Linux|http://aur.archlinux.org/packages.php?ID=50949> - L<Arch Linux|https://aur.archlinux.org/packages/ncdc/> -
L<Fedora|https://apps.fedoraproject.org/packages/ncdc/overview/> - L<Fedora|https://apps.fedoraproject.org/packages/ncdc/overview/> -
L<FreeBSD|http://www.freshports.org/net-p2p/ncdc/> - L<FreeBSD|http://www.freshports.org/net-p2p/ncdc/> -
L<Frugalware|http://frugalware.org/packages/136807> - L<Frugalware|http://frugalware.org/packages?srch=ncdc&op=pkg&arch=all&ver=all> -
L<Gentoo|http://packages.gentoo.org/package/net-p2p/ncdc> - L<Gentoo|http://packages.gentoo.org/package/net-p2p/ncdc> -
L<GNU Guix|https://www.gnu.org/software/guix/package-list.html> - L<GNU Guix|https://www.gnu.org/software/guix/package-list.html> -
L<Homebrew|http://braumeister.org/formula/ncdc> - L<Homebrew|http://braumeister.org/formula/ncdc> -
L<MacPorts|http://www.macports.org/ports.php?by=name&substr=ncdc> -
L<OpenSUSE|http://packman.links2linux.org/package/ncdc> L<OpenSUSE|http://packman.links2linux.org/package/ncdc>
I also have a few packages on the L<Open Build I have a few old packages on the L<Open Build
Service|https://build.opensuse.org/package/show?package=ncdc&project=home%3Ayorhel>. Service|https://build.opensuse.org/package/show?package=ncdc&project=home%3Ayorhel>,
but these are unmaintained. The static binaries are preferred.
A convenient installer is available for A convenient installer is available for
L<Android|http://code.ivysaur.me/ncdcinstaller.html>. L<Android|http://code.ivysaur.me/ncdcinstaller.html>.

View file

@ -1,3 +1,13 @@
1.20 - 2016-12-30
- Support bracketed paste mode in input handling (cologic)
- Add 'geoip_cc4' and 'geoip_cc6' settings
- Add 'log_hubchat' setting
- Add 'local' option to 'active_ip' setting
- Add support for multistream bzip2 filelists
- Disable RC4 ciphers by default from tls_priority
- Fix potential null pointer deference
- Fix chmod of destination directories (Johannes Beisswenger)
1.19.1 - 2014-04-23 1.19.1 - 2014-04-23
- Fix remote null pointer dereference - Fix remote null pointer dereference
- Searching now works in the search results list - Searching now works in the search results list

View file

@ -38,11 +38,11 @@ compiling and/or installing it, I also offer statically linked binaries:
=over =over
=item * L<Linux, 64-bit|https://dev.yorhel.nl/download/ncdc-linux-x86_64-1.19.1-12-g55616.tar.gz> =item * L<Linux, 64-bit|https://dev.yorhel.nl/download/ncdc-linux-x86_64-1.20.tar.gz>
=item * L<Linux, 32-bit|https://dev.yorhel.nl/download/ncdc-linux-i486-1.19.1-12-g55616.tar.gz> =item * L<Linux, 32-bit|https://dev.yorhel.nl/download/ncdc-linux-i486-1.20.tar.gz>
=item * L<Linux, ARM|https://dev.yorhel.nl/download/ncdc-linux-arm-1.19.1-12-g55616.tar.gz> =item * L<Linux, ARM|https://dev.yorhel.nl/download/ncdc-linux-arm-1.20.tar.gz>
=back =back
@ -66,11 +66,11 @@ available for Android 2.3 and later, which makes use of the static binary.
=head2 Arch Linux =head2 Arch Linux
Ncdc is available on L<AUR|https://aur.archlinux.org/packages.php?ID=50949>, to Ncdc is available on L<AUR|https://aur.archlinux.org/packages/ncdc/>, to
install it you can use your favorite AUR-installer. If you don't have a install it you can use your favorite AUR-installer. If you don't have a
favorite, go for the manual approach: favorite, go for the manual approach:
wget https://aur.archlinux.org/packages/nc/ncdc/ncdc.tar.gz wget https://aur.archlinux.org/cgit/aur.git/snapshot/ncdc.tar.gz
tar -xf ncdc.tar.gz tar -xf ncdc.tar.gz
cd ncdc cd ncdc
makepkg -si makepkg -si
@ -81,10 +81,6 @@ favorite, go for the manual approach:
There's a L<package|https://apps.fedoraproject.org/packages/ncdc/overview/> There's a L<package|https://apps.fedoraproject.org/packages/ncdc/overview/>
available for Fedora. available for Fedora.
Alternatively, I also have packages on the L<Open Build
Service|http://software.opensuse.org/download/package?project=home:yorhel&package=ncdc>.
=head2 FreeBSD =head2 FreeBSD
@ -108,16 +104,7 @@ Ncdc is available in the Portage tree, so installation is trivial:
=head2 Mac OS X =head2 Mac OS X
Ncdc is available in Ncdc is available in L<Homebrew|http://braumeister.org/formula/ncdc>.
L<MacPorts|http://www.macports.org/ports.php?by=name&substr=ncdc> and
L<Homebrew|http://braumeister.org/formula/ncdc>.
To install from MacPorts, follow the L<instructions on installing
MacPorts|http://www.macports.org/install.php> if you haven't done so already,
then open a terminal and run the following magical command:
sudo port install ncdc
=head2 OpenIndiana =head2 OpenIndiana
@ -130,9 +117,9 @@ First install some required packages (as root):
Then, fetch the ncdc source tarball, extract and build as follows: Then, fetch the ncdc source tarball, extract and build as follows:
wget https://dev.yorhel.nl/download/ncdc-1.19.1.tar.gz wget https://dev.yorhel.nl/download/ncdc-1.20.tar.gz
tar -xf ncdc-1.19.1.tar.gz tar -xf ncdc-1.20.tar.gz
cd ncdc-1.19.1 cd ncdc-1.20
export PATH="$PATH:/usr/perl5/5.10.0/bin" export PATH="$PATH:/usr/perl5/5.10.0/bin"
./configure --prefix=/usr LDFLAGS='-L/usr/gnu/lib -R/usr/gnu/lib' ./configure --prefix=/usr LDFLAGS='-L/usr/gnu/lib -R/usr/gnu/lib'
make make
@ -148,41 +135,24 @@ necessary in order for C<./configure> and C<make> to find C<pod2man>.
Get the package from L<PackMan|http://packman.links2linux.org/package/ncdc>: Get the package from L<PackMan|http://packman.links2linux.org/package/ncdc>:
Select your openSUSE release and hit the "1 click install" button. Select your openSUSE release and hit the "1 click install" button.
Alternatively, I also have packages on the L<Open Build
Service|http://software.opensuse.org/download/package?project=home:yorhel&package=ncdc>,
but I suspect their quality isn't really on the same level as those on PackMan
because I am not an openSUSE developer. :-)
=head2 Ubuntu & Debian =head2 Ubuntu & Debian
The preferred way of installing ncdc on Ubuntu or Debian is to use the packages The preferred way of installing ncdc on Ubuntu or Debian is to use the static
provided on the L<Open Build binaries provided above.
Service|http://software.opensuse.org/download/package?project=home:yorhel&package=ncdc>.
Select your distribution and follow the instructions. The listed commands
should be run with superuser privileges; To get a root shell on Ubuntu type
C<sudo -s>. When installing the package, you may get a warning about how the
package is not authenticated or verified, this can be safely ignored. Just
confirm the installation when prompted whether it should continue or not.
You only have to follow the above steps once, newer versions will be installed Alternatively, you can also try to compile ncdc from source. To do so, first
automatically with regular system updates. install the required libraries:
=head3 Building from source
In the event that there is no up-to-date package available for your version,
you can also try to compile ncdc from source. To do so, first install the
required libraries:
sudo apt-get install libbz2-dev libsqlite3-dev libncurses5-dev\ sudo apt-get install libbz2-dev libsqlite3-dev libncurses5-dev\
libncursesw5-dev libglib2.0-dev libgnutls-dev zlib1g-dev libncursesw5-dev libglib2.0-dev libgnutls-dev zlib1g-dev
Then run the following commands to download and install ncdc: Then run the following commands to download and install ncdc:
wget https://dev.yorhel.nl/download/ncdc-1.19.1.tar.gz wget https://dev.yorhel.nl/download/ncdc-1.20.tar.gz
tar -xf ncdc-1.19.1.tar.gz tar -xf ncdc-1.20.tar.gz
cd ncdc-1.19.1 cd ncdc-1.20
./configure --prefix=/usr ./configure --prefix=/usr
make make
sudo make install sudo make install
@ -224,8 +194,8 @@ website|http://cygwin.com/> and use it to install the following packages:
Then open a Cygwin terminal and run the following commands to download, Then open a Cygwin terminal and run the following commands to download,
compile, and install ncdc: compile, and install ncdc:
wget https://dev.yorhel.nl/download/ncdc-1.19.1.tar.gz wget https://dev.yorhel.nl/download/ncdc-1.20.tar.gz
tar -xf ncdc-1.19.1.tar.gz tar -xf ncdc-1.20.tar.gz
cd ncdc-1.19.1 cd ncdc-1.20
./configure --prefix=/usr ./configure --prefix=/usr
make install make install

View file

@ -81,6 +81,10 @@ Display summary of options.
Don't automatically connect to hubs with the C<autoconnect> option set. Don't automatically connect to hubs with the C<autoconnect> option set.
=item B<--no-bracketed-paste>
Disable bracketed pasting.
=item B<-v, --version> =item B<-v, --version>
Display ncdc version. Display ncdc version.
@ -376,13 +380,15 @@ Your public IP address for use in active mode. If this is not set or set to '0.0
Both an IPv4 and an IPv6 address are set by providing two IP addresses separated with a comma. When unset, '0.0.0.0,::' is assumed. Only the IP version used to connect to the hub is used. That is, if you connect to an IPv6 hub, then the configured IPv6 address is used and the IPv4 address is ignored. Both an IPv4 and an IPv6 address are set by providing two IP addresses separated with a comma. When unset, '0.0.0.0,::' is assumed. Only the IP version used to connect to the hub is used. That is, if you connect to an IPv6 hub, then the configured IPv6 address is used and the IPv4 address is ignored.
When set to the special value `local', ncdc will automatically get your IP address from the local network interface that is used to connect to the hub. This option should only be used if there is no NAT between you and the hub, because this will give the wrong IP if you are behind a NAT.
=item B<active_port> <integer> =item B<active_port> <integer>
The listen port for incoming connections in active mode. Set to `0' to automatically assign a random port. This setting is by default also used for the UDP port, see the `active_tls_port' settings to change that. If you are behind a router or firewall, make sure that you have configured it to forward and allow these ports. The listen port for incoming connections in active mode. Set to `0' to automatically assign a random port. This setting is by default also used for the UDP port, see the `active_tls_port' settings to change that. If you are behind a router or firewall, make sure that you have configured it to forward and allow these ports.
=item B<active_udp_port> <integer> =item B<active_udp_port> <integer>
The listen port for incoming UDP connections in active mode. Defaults to the `active_port' setting, or to a random number of `active_port' is not set. The listen port for incoming UDP connections in active mode. Defaults to the `active_port' setting, or to a random number if `active_port' is not set.
=item B<adc_blom> <boolean> =item B<adc_blom> <boolean>
@ -489,6 +495,14 @@ The maximum age of a downloaded file list. If a file list was downloaded longer
Tell the OS to flush the file (disk) cache for file contents read while hashing and/or uploading or written to while downloading. On one hand, this will avoid trashing your disk cache with large files and thus improve the overall responsiveness of your system. On the other hand, ncdc may purge any shared files from the cache, even if they are still used by other applications. In general, it is a good idea to enable this if you also use your system for other things besides ncdc, you share large files (>100MB) and people are not constantly downloading the same file from you. Tell the OS to flush the file (disk) cache for file contents read while hashing and/or uploading or written to while downloading. On one hand, this will avoid trashing your disk cache with large files and thus improve the overall responsiveness of your system. On the other hand, ncdc may purge any shared files from the cache, even if they are still used by other applications. In general, it is a good idea to enable this if you also use your system for other things besides ncdc, you share large files (>100MB) and people are not constantly downloading the same file from you.
=item B<geoip_cc4> <path>|disabled
Path to the GeoIP Country database file for IPv4, or 'disabled' to disable GeoIP lookup for IPv4 addresses.
=item B<geoip_cc6> <path>|disabled
Path to the GeoIP Country database file for IPv6, or 'disabled' to disable GeoIP lookup for IPv6 addresses.
=item B<hash_rate> <speed> =item B<hash_rate> <speed>
Maximum file hashing speed. See the `download_rate' setting for allowed formats for this setting. Maximum file hashing speed. See the `download_rate' setting for allowed formats for this setting.
@ -515,6 +529,10 @@ Log debug messages to stderr.log in the session directory. It is highly recommen
Log downloaded files to transfers.log. Log downloaded files to transfers.log.
=item B<log_hubchat> <boolean>
Log the main hub chat. Note that changing this requires any affected hub tabs to be closed and reopened before the change is effective.
=item B<log_uploads> <boolean> =item B<log_uploads> <boolean>
Log file uploads to transfers.log. Log file uploads to transfers.log.
@ -907,7 +925,7 @@ more information.
=head1 BUGS =head1 BUGS
Please report bugs or feature requests to the bug tracker or the mailing list. Please report bugs or feature requests to the bug tracker or the mailing list.
Both can be found on the ncdc homepage at L<https://dev.yorhel.nl/ncdc>. There Both can be found on the ncdc homepage at L<http://dev.yorhel.nl/ncdc>. There
is also an ADC hub available at C<adc://dc.blicky.net:2780/> for general is also an ADC hub available at C<adc://dc.blicky.net:2780/> for general
support and discussions. support and discussions.
@ -915,4 +933,4 @@ support and discussions.
ncdc is written by Yoran Heling <projects@yorhel.nl> ncdc is written by Yoran Heling <projects@yorhel.nl>
Web: L<https://dev.yorhel.nl/ncdc> Web: L<http://dev.yorhel.nl/ncdc>

View file

@ -13,12 +13,12 @@ POSIX-like environment with ncurses installed.
=item Latest version =item Latest version
1.11 ([dllink ncdu-1.11.tar.gz download] 1.12 ([dllink ncdu-1.12.tar.gz download]
- L<changes|https://dev.yorhel.nl/ncdu/changes>) - L<changes|https://dev.yorhel.nl/ncdu/changes>)
I also have convenient static binaries for Linux I also have convenient static binaries for Linux
L<i486|https://dev.yorhel.nl/download/ncdu-linux-i486-1.11.tar.gz> and L<i486|https://dev.yorhel.nl/download/ncdu-linux-i486-1.12.tar.gz> and
L<ARM|https://dev.yorhel.nl/download/ncdu-linux-arm-1.11.tar.gz>. Download, L<ARM|https://dev.yorhel.nl/download/ncdu-linux-arm-1.12.tar.gz>. Download,
extract and run; no compilation or installation necessary (uses extract and run; no compilation or installation necessary (uses
L<musl|http://www.musl-libc.org/>). L<musl|http://www.musl-libc.org/>).
@ -38,25 +38,24 @@ Ncdu is entirely written in C and available under a liberal MIT license.
Ncdu has been packaged for quite a few systems, here's a list of the ones I am aware of: Ncdu has been packaged for quite a few systems, here's a list of the ones I am aware of:
L<AgiliaLinux|http://packages.agilialinux.ru/search.php?tag=sys-fs> -
L<AIX|http://www.perzl.org/aix/index.php?n=Main.Ncdu> - L<AIX|http://www.perzl.org/aix/index.php?n=Main.Ncdu> -
L<Alpine Linux|http://pkgs.alpinelinux.org/package/main/x86/ncdu> - L<Alpine Linux|http://pkgs.alpinelinux.org/packages?name=ncdu> -
L<ALT Linux|http://sisyphus.ru/en/srpm/ncdu> - L<ALT Linux|http://sisyphus.ru/en/srpm/ncdu> -
L<Arch Linux|http://www.archlinux.org/packages/?q=ncdu> - L<Arch Linux|https://www.archlinux.org/packages/?q=ncdu> -
L<CRUX|http://crux.nu/portdb/?q=ncdu&a=search> - L<CRUX|https://crux.nu/portdb/?q=ncdu&a=search> -
L<Cygwin|http://cygwin.com/cgi-bin2/package-grep.cgi?grep=ncdu> - L<Cygwin|https://cygwin.com/cgi-bin2/package-grep.cgi?grep=ncdu> -
L<Debian|http://packages.debian.org/ncdu> - L<Debian|http://packages.debian.org/ncdu> -
L<Fedora|https://admin.fedoraproject.org/pkgdb/package/ncdu/> - L<Fedora|https://admin.fedoraproject.org/pkgdb/package/ncdu/> -
L<FreeBSD|http://www.freshports.org/sysutils/ncdu/> - L<FreeBSD|https://www.freebsd.org/cgi/ports.cgi?query=ncdu&stype=all> -
L<Frugalware|http://frugalware.org/packages/?op=pkg&srch=ncdu&arch=all&ver=all> - L<Frugalware|http://frugalware.org/packages/?op=pkg&srch=ncdu&arch=all&ver=all> -
L<Gentoo|http://packages.gentoo.org/package/sys-fs/ncdu> - L<Gentoo|https://packages.gentoo.org/packages/sys-fs/ncdu> -
L<GNU Guix|https://www.gnu.org/software/guix/package-list.html> - L<GNU Guix|https://www.gnu.org/software/guix/package-list.html> -
L<IPCop|http://www.ipadd.de/binary-v2.html> - L<IPCop|http://www.ipadd.de/binary-v2.html> -
L<OpenBSD|http://cvsweb.openbsd.org/cgi-bin/cvsweb/ports/sysutils/ncdu/> - L<OpenBSD|http://cvsweb.openbsd.org/cgi-bin/cvsweb/ports/sysutils/ncdu/> -
Mac OS X (L<Fink|http://pdb.finkproject.org/pdb/package.php/ncdu> - L<Homebrew|http://braumeister.org/formula/ncdu> - L<MacPorts|http://www.macports.org/ports.php?by=name&substr=ncdu>) - Mac OS X (L<Fink|http://pdb.finkproject.org/pdb/package.php/ncdu> - L<Homebrew|http://braumeister.org/formula/ncdu> - L<MacPorts|http://www.macports.org/ports.php?by=name&substr=ncdu>) -
L<Puppy Linux|http://www.murga-linux.com/puppy/viewtopic.php?t=35024> - L<Puppy Linux|http://www.murga-linux.com/puppy/viewtopic.php?t=35024> -
L<Solaris|http://www.opencsw.org/packages/ncdu> - L<Solaris|http://www.opencsw.org/packages/ncdu> -
Slackware (L<Slackbuilds|http://slackbuilds.org/repository/14.1/system/ncdu/> - L<Slackers.it|http://www.slackers.it/repository/ncdu/>) - L<Slackware|http://slackbuilds.org/repository/14.2/system/ncdu/> -
L<Slax Linux|http://www.slax.org/modules.php?detail=ncdu> - L<Slax Linux|http://www.slax.org/modules.php?detail=ncdu> -
L<Ubuntu|http://packages.ubuntu.com/search?searchon=sourcenames&keywords=ncdu> L<Ubuntu|http://packages.ubuntu.com/search?searchon=sourcenames&keywords=ncdu>

View file

@ -1,3 +1,8 @@
1.12 - 2016-08-24
- Add NCDU_SHELL environment variable
- Add --confirm-quit flag
- Fix compilation due to missing sys/wait.h include
1.11 - 2015-04-05 1.11 - 2015-04-05
- Added 'b' key to spawn shell in the current directory - Added 'b' key to spawn shell in the current directory
- Support scanning (and refreshing) of empty directories - Support scanning (and refreshing) of empty directories

View file

@ -29,7 +29,7 @@ the existing format.
=head2 Metadata =head2 Metadata
The C<< <metadata> >> element is a JSON object holding whatever (short) The C<< <metadata> >> element is a JSON object holding whatever (short)
metadata you'd want. This block is currently (1.9-1.11) ignored by ncdu when metadata you'd want. This block is currently (1.9-1.12) ignored by ncdu when
importing, but it writes out the following keys when exporting: importing, but it writes out the following keys when exporting:
=over =over
@ -109,7 +109,7 @@ C<< 0 <= dev < 2^64 >>.
Number. Inode number as reported by C<lstat().st_ino>. Together with the Device Number. Inode number as reported by C<lstat().st_ino>. Together with the Device
ID this uniquely identifies a file in this dump. In the case of hard links, two ID this uniquely identifies a file in this dump. In the case of hard links, two
objects may appear with the same (C<dev>,C<ino>) combination. A value of 0 is objects may appear with the same (C<dev>,C<ino>) combination. A value of 0 is
assumed if this field is absent. This is currently (ncdu 1.9-1.11) not a assumed if this field is absent. This is currently (ncdu 1.9-1.12) not a
problem as long as the C<hlnkc> field is false, otherwise it will consider problem as long as the C<hlnkc> field is false, otherwise it will consider
everything with the same C<dev> and empty C<ino> values as a single hardlinked everything with the same C<dev> and empty C<ino> values as a single hardlinked
file. Accepted values are in the range of C<< 0 <= ino < 2^64 >>. file. Accepted values are in the range of C<< 0 <= ino < 2^64 >>.

View file

@ -103,6 +103,11 @@ List sizes using base 10 prefixes, that is, powers of 1000 (KB, MB, etc), as
defined in the International System of Units (SI), instead of the usual base 2 defined in the International System of Units (SI), instead of the usual base 2
prefixes, that is, powers of 1024 (KiB, MiB, etc). prefixes, that is, powers of 1024 (KiB, MiB, etc).
=item --confirm-quit
Requires a confirmation before quitting ncdu. Very helpful when you
accidentally press 'q' during or after a very long scan.
=back =back
=head2 Scan Options =head2 Scan Options
@ -214,9 +219,14 @@ Refresh/recalculate the current directory.
Spawn shell in current directory. Spawn shell in current directory.
We first check the $SHELL environment variable of the user for the preferred Ncdu will determine your preferred shell from the C<NCDU_SHELL> or C<SHELL>
shell interpreter. If it's not set, we fall back to the compile time variable (in that order), or will call C</bin/sh> if neither are set. This
configured default shell (usually /bin/bash). allows you to also configure another command to be run when he 'b' key is
pressed. For example, to spawn the L<vifm(1)> file manager instead of a shell,
run ncdu as follows:
export NCDU_SHELL=vifm
ncdu
=item q =item q
@ -307,7 +317,12 @@ or multicolumn characters.
All sizes are internally represented as a signed 64bit integer. If you have a All sizes are internally represented as a signed 64bit integer. If you have a
directory larger than 8 EiB minus one byte, ncdu will clip its size to 8 EiB directory larger than 8 EiB minus one byte, ncdu will clip its size to 8 EiB
minus one byte. minus one byte. When deleting items in a directory with a clipped size, the
resulting sizes will be incorrect.
Item counts are stored in a signed 32-bit integer without overflow detection.
If you have a directory with more than 2 billion files, quite literally
anything can happen.
Please report any other bugs you may find at the bug tracker, which can be Please report any other bugs you may find at the bug tracker, which can be
found on the web site at https://dev.yorhel.nl/ncdu found on the web site at https://dev.yorhel.nl/ncdu

View file

@ -0,0 +1,16 @@
-----BEGIN PGP SIGNATURE-----
iQIcBAABCgAGBQJYZkvqAAoJEGI5TGmMJzn653IQAJmPCbJOYMzObXGY+HvLM719
ZzTT060NWBMJzLMNTa1wygpSrnYva/v1/T1VLHL9/PcLqV6no+J0mJmw+BpNX1Zg
HIdJIEBgL76JfsCqOheKV3mPWbCI9KoFRnd7lAHOfMSW/yuzQ+H+wJTFamO6op2y
8M4FGHxVxUqe9QNs++QGS3mPVTTd75vB7Whv0iHU+mLB5fldxgyf11LEowouJb9Z
khdYRWLChzbG7ycKRYjd3VXRrDybAI8gsBuc9i37AtTQnhCnymipSF3O2X+vYApX
Dgq9SoLbpsJB9cZU93qrpBQVmD8yBVlLcUxS255V+iszvtDVPG+BliQxiKlz+CxL
wL0KAtMqu5kPOd1B+R1pBcitXRlZ/p/UfUKliUsTxIn8m8sJApt5WDb7ino/kWwb
BqQ7dS5gVKeY+zP4ksNABQHseAmDdXlGMZSXR6iK5ucbCWc/pVOnIczYY+IIyu3T
jTPhttaxDzg7+Bjn8owdu8I/rxFgNPs779R8JYp3iTahmYf73epHs870g8vOJDAt
j+6Pn0u/MGpwJsAM5lrev0djv2RhULq84pWeESIuCIO1PX0EIS+3G6A6kPD2k3D9
ceIaj9gjLv5aRwnFolEKYgp/ChOdDFqW4tLOT7RvE2htRu10HkNJT1QWmrZvzBrt
/R+0i5+oRip1E3HNsbcq
=//tc
-----END PGP SIGNATURE-----

View file

@ -0,0 +1 @@
662fbddf17392cdb963d480af1812ae7 ncdc-1.20.tar.gz

View file

@ -0,0 +1 @@
cc8b0543423a552a9974445659c59e2723e1452b ncdc-1.20.tar.gz

View file

@ -0,0 +1,17 @@
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2
iQIcBAABCgAGBQJXve7uAAoJEGI5TGmMJzn6KSgQANBWNkj7HPYaO6tGAA4X8f81
gfHEPDSIXXboPpbLQQ4b4wPpDRCESgn9pmmemFRDI6JbBBLU2m21GTZlyRW3eFyC
hDH82QcsuZZilqb/DSeEjklhF46C4UqEwMNQTHVJZ2MYFDJNq4RIliSs8yQzS7+g
zGZ9CfGccvGFlogC2eDyFjQhGl9cY3m51hd4hh7ITxtJ4B+kJko8bXMFDC4islbi
ybz9DW4GTXEwzKFsqsKt++ECau1npuJGQ3MHiGgje0OjsRIZvtogyYFnfvW81VMp
6k8s3DqtZhOFtdWDVmkWinWlcRUkdA8MFqow/69W2O0Ro8hzL7Wq07igs4VzwwNl
ZyVsUH9/an/284xsFkKigC6EtgqN/1TEfLvIrCiINsmCqnXQXzzUF7mCC22v3bFt
B3PCC1bqAWcoLLMgRPai8NyYHHpv8/YlbBSgABsQ4CC1UekO+jNB91hmMgN9LcPK
vlB7zS3qBPGGgQtKsHVl6ypTPyrSjCmAVKiezPTCGMLC+MU5MxER9GTn/copRXyg
CBNSGGM1caziK9OYr3eHK1B7BNGA0obb7hIntvXZONfJ+XTD2wTBUYHAAtRtcaAm
Sf6p4H+mb7352evUa8/2n9ybcj/4tqgtrwJ/fh6gdIT5E0FzHRa1EIgzIJZKh9Xl
CNr5Q312Soqccoqhzurm
=Ihe8
-----END PGP SIGNATURE-----

View file

@ -0,0 +1 @@
7365ac46c420bc511621216b1747984f ncdu-1.12.tar.gz

View file

@ -0,0 +1 @@
b79b1c44784f334dca74d89a49f49274f14cfeef ncdu-1.12.tar.gz

View file

@ -12,6 +12,9 @@ BEGIN { ($ROOT = abs_path $0) =~ s{index\.cgi$}{}; }
my @changes = ( my @changes = (
[ '2016-12-30', '/ncdc', 'ncdc 1.20 released' ],
[ '2016-08-24', '/ncdu', 'ncdu 1.12 released' ],
[ '2016-08-16', '/dump/btrfssize', 'Uploaded btrfs-size.pl' ],
[ '2015-09-27', '/tuwf', 'TUWF 1.0 released' ], [ '2015-09-27', '/tuwf', 'TUWF 1.0 released' ],
[ '2015-04-05', '/ncdu', 'ncdu 1.11 released' ], [ '2015-04-05', '/ncdu', 'ncdu 1.11 released' ],
[ '2014-07-29', '/doc/easyipc', 'New article: The Sorry State of Convenient IPC' ], [ '2014-07-29', '/doc/easyipc', 'New article: The Sorry State of Convenient IPC' ],
@ -120,9 +123,10 @@ TUWF::register(
qr{dump} => sub { podpage(shift, 'dump', 'dump', '', 'Code dump') }, qr{dump} => sub { podpage(shift, 'dump', 'dump', '', 'Code dump') },
qr{demo} => sub { podpage(shift, 'dump-demo', 'dump', 'demo', 'Demos') }, qr{demo} => sub { podpage(shift, 'dump-demo', 'dump', 'demo', 'Demos') },
qr{dump/awshrink} => sub { podpage(shift, 'dump-awshrink', 'dump', 'awshrink', 'AWStats Data File Shrinker') }, qr{dump/awshrink} => sub { podpage(shift, 'dump-awshrink', 'dump', 'awshrink', 'AWStats Data File Shrinker') },
qr{dump/btrfssize}=> sub { podpage(shift, 'dump-btrfssize', 'dump', 'btrfssize', 'btrfs-size.pl') },
qr{dump/grenamr} => sub { podpage(shift, 'dump-grenamr', 'dump', 'grenamr', 'GTK+ Mass File Renamer') }, qr{dump/grenamr} => sub { podpage(shift, 'dump-grenamr', 'dump', 'grenamr', 'GTK+ Mass File Renamer') },
qr{dump/nccolour} => sub { podpage(shift, 'dump-nccolour', 'dump', 'nccolour', 'Colours in NCurses') },
qr{dump/insbench} => sub { podpage(shift, 'dump-insbench', 'dump', 'insbench', 'Insertion Performance Benchmarks') }, qr{dump/insbench} => sub { podpage(shift, 'dump-insbench', 'dump', 'insbench', 'Insertion Performance Benchmarks') },
qr{dump/nccolour} => sub { podpage(shift, 'dump-nccolour', 'dump', 'nccolour', 'Colours in NCurses') },
qr{(?:($feedreg)/)?feed\.atom} => \&atom, qr{(?:($feedreg)/)?feed\.atom} => \&atom,
qr{(ncdc|ncdu|globster|yxml)/bug} => \&bug_list, qr{(ncdc|ncdu|globster|yxml)/bug} => \&bug_list,
qr{(ncdc|ncdu|globster|yxml)/bug/feed\.atom} => \&bug_atom, qr{(ncdc|ncdu|globster|yxml)/bug/feed\.atom} => \&bug_atom,
@ -465,6 +469,7 @@ sub htmlHeader {
br; b '= donate ='; br; b '= donate =';
a href => 'https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=BBF8LGT2LLNFN&lc=US&currency_code=EUR&bn=PP%2dDonationsBF%3abtn_donate_SM%2egif%3aNonHosted', 'paypal'; a href => 'https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=BBF8LGT2LLNFN&lc=US&currency_code=EUR&bn=PP%2dDonationsBF%3abtn_donate_SM%2egif%3aNonHosted', 'paypal';
br; b '= pgp ='; br; b '= pgp =';
txt 'only used for releases'; br;
a href => 'https://yorhel.nl/key.asc', 'key'; a href => 'https://yorhel.nl/key.asc', 'key';
txt ' - '; a href => 'http://pgp.mit.edu:11371/pks/lookup?search=0x8c2739fa', 'mit'; txt ' - '; a href => 'http://pgp.mit.edu:11371/pks/lookup?search=0x8c2739fa', 'mit';
br; i '7446 0D32 B808 10EB A9AF A2E9 6239 4C69 8C27 39FA'; br; i '7446 0D32 B808 10EB A9AF A2E9 6239 4C69 8C27 39FA';
@ -519,7 +524,6 @@ sub htmlMenu {
$m->('/ncdc/changes', 'Changelog', $o{sec} eq 'changes'); $m->('/ncdc/changes', 'Changelog', $o{sec} eq 'changes');
$m->('/ncdc/scr', 'Screenshots', $o{sec} eq 'scr'); $m->('/ncdc/scr', 'Screenshots', $o{sec} eq 'scr');
$m->('/ncdc/bug', 'Bug tracker', $o{sec} eq 'bug'); $m->('/ncdc/bug', 'Bug tracker', $o{sec} eq 'bug');
$m->('http://l.blicky.net/listinfo/ncdc', 'Mailing list ');
} elsif($o{page} eq 'globster') { } elsif($o{page} eq 'globster') {
$m->('/globster', 'Info', !$o{sec}); $m->('/globster', 'Info', !$o{sec});
$m->('/globster/daemon', 'Commands', (scalar $o{sec} =~ /(daemon|ctl|launch)/), sub { $m->('/globster/daemon', 'Commands', (scalar $o{sec} =~ /(daemon|ctl|launch)/), sub {
@ -548,7 +552,6 @@ sub htmlMenu {
$m->('/', 'Home', !$o{page}); $m->('/', 'Home', !$o{page});
$m->('/ncdu', 'Ncdu '); $m->('/ncdu', 'Ncdu ');
$m->('/ncdc', 'Ncdc '); $m->('/ncdc', 'Ncdc ');
$m->('/globster', 'Globster ');
$m->('/tuwf', 'Tuwf '); $m->('/tuwf', 'Tuwf ');
$m->('/yxml', 'Yxml '); $m->('/yxml', 'Yxml ');
$m->('/ylib', 'Ylib', $o{page} eq 'ylib'); $m->('/ylib', 'Ylib', $o{page} eq 'ylib');
@ -560,7 +563,9 @@ sub htmlMenu {
$m->('/dump/grenamr', 'Grenamr', $o{page} eq 'dump' && $o{sec} eq 'grenamr'); $m->('/dump/grenamr', 'Grenamr', $o{page} eq 'dump' && $o{sec} eq 'grenamr');
$m->('/dump/nccolour','NC-Colour', $o{page} eq 'dump' && $o{sec} eq 'nccolour'); $m->('/dump/nccolour','NC-Colour', $o{page} eq 'dump' && $o{sec} eq 'nccolour');
$m->('/dump/insbench','Ins-bench', $o{page} eq 'dump' && $o{sec} eq 'insbench'); $m->('/dump/insbench','Ins-bench', $o{page} eq 'dump' && $o{sec} eq 'insbench');
$m->('/dump/btrfssize','Btrfs-size', $o{page} eq 'dump' && $o{sec} eq 'btrfssize');
}); });
$m->('/globster', 'Globster ');
} }
if($o{spec}{$o{page}}) { if($o{spec}{$o{page}}) {
li; li;