Sometimes you want to separate old files (for example older than 30 days) into separate subdirectory to make navigation easier. Using Linux tools it’s pretty easy task:
mkdir -p OLD; find . -maxdepth 1 -mtime +30 -exec mv \{\} OLD \;
Explanation:
- mkdir -p OLD: create OLD subdirectory if not exists
- -maxdepth 1: search only one level under current working directory
- -mtime +30: find only files that are older than 30 days
- -exec …. \;: for every file/directory found execute the following command
- \{\}: will be replaced by filename
Above command will move all old files/subdirectories into OLD subdirectory.
If you used to Debian you probably know that “dpkg-reconfigure locales” brings you locale selection tool. It’s not the case for Ubuntu. How to replace Debian’s behavior? Read below:
# grep pl_PL.UTF-8 /usr/share/i18n/SUPPORTED > /var/lib/locales/supported.d/local
# dpkg-reconfigure locales
Generating locales...
pl_PL.UTF-8... done
Generation complete.
Above example show how to add pl_PL.UTF-8 locale.
Sometimes you want your user-level program to be automatically started on every Linux reboot. Scared of complicated SYSV startup scripts? Don’t panic, this task is easier than you think!
First of all you need root access on a machine to install startup script. Default startup scripts are placed in /etc/init.d directory and special symbolic link must be created under /etc/rc5.d (at least on Debian-based systems).
First let’s create startup script for your “daemon”-like program:
(more…)
Sometimes you want to install latest version of selected software package while keeping base system stable. Then installing from source is a safe option to proceed.
First, you have to include sources from fresh system version, below is example taken from Ubuntu, I selected natty (/etc/apt/sources.list):
deb-src http://pl.archive.ubuntu.com/ubuntu/ natty main restricted
Then you should refresh package list:
sudo apt-get update
and install dependencies:
sudo apt-get build-dep ccache
and finally build the new version of a package (note that no root account is needed for that step):
apt-get -b source ccache
As a result there’s a *.deb package, install it:
sudo dpkg -i ccache*.deb
That’s all!
I assume you want to encrypt some files using your public GPG key. I’ll focus on simplicity rather than completeness (minimal steps required to implement encryption).
First you have to generate key pair:
$ mkdir -p ~/.gnupg
$ gpg --gen-key
Then see your new key ID and export it to public key storage:
$ gpg --list-keys # get KEY_ID from output
$ gpg --keyserver "hkp://subkeys.pgp.net" --send-key <KEY_ID>
On remote machine import the key and make it trusted (to avoid warnings during encryption):
$ gpg --keyserver "hkp://subkeys.pgp.net" --recv-keys <KEY_ID>
$ gpg --edit-key <KEY_ID>
> trust
Then you can used this key to encrypt files and delete original (if needed):
$ gpg -r <KEY_ID> --output <FILE>.gpg --encrypt <FILE>
$ rm <FILE>
And the decryption (on host where private key is stored):
$ gpg -r <KEY_ID> --output <FILE> --decrypt <FILE>.gpg