awesom's tips

awesom's tips

home | all | random | tags | add | login or register

Extraire plusieurs pages d'un .djvu
by acieroid on Jan 26th 2012
djvused permet d'extraire une page, mais pas plusieurs. djvm permet quant à lui d'assembler plusieurs documents djvu ensemble. Donc:

    for page in $(seq 170 185)
    do
        djvused big.djvu -e "select $page; save-page-with page-$page.djvu"
    done
    djvm -c small.djvu page-*.djvu

djvu
\WINDOWS\SYSTEM32 \CONFIG\SYSTEM manquant
by Izu on Jan 16th 2012

  mount -t ntfs-3g /dev/sda1 /mnt/windows
  cd /mnt/windows/WINDOWS/system32/config
  mv default default.old
  mv SAM SAM.old
  mv SECURITY SECURITY.old
  mv software software.old
  mv system system.old
  cd /mnt/windows/System\ Volume\ Information/_restore*
  cd RP
  cd snapshot
  cp _REGISTRY_MACHINE_SAM /mnt/windows/WINDOWS/system32/config/SAM
  cp _REGISTRY_MACHINE_SECURITY /mnt/windows/WINDOWS/system32/config/SECURITY
  cp _REGISTRY_MACHINE_SOFTWARE /mnt/windows/WINDOWS/system32/config/software
  cp _REGISTRY_MACHINE_SYSTEM /mnt/windows/WINDOWS/system32/config/system
  cp _REGISTRY_USER_.DEFAULT /mnt/windows/WINDOWS/system32/config/default

windows, registre
titre du terminal
by heaumer on Jan 15th 2012
En utilisant les obscurs caractères d'échappements:

  $ echo -ne "\033]0;${PWD}/-${HOSTNAME}\007"
Et si l'on est dans screen(1), on peut utiliser la variable PROMPT_COMMAND pour changer le titre à chaque exécution de commandes:

  $ PROMPT_COMMAND='echo -ne "\033]0;${PWD}/-${HOSTNAME}\007"'

shell, unix, screen
Éviter les problèmes avec les espaces insécables
by acieroid on Jan 13rd 2012
Un espace insécable mal placé ça peut être très chiant, ça ne se distingue pas d'un espace normal a l'œuil nu, mais c'est bien différent. Pour éviter ces problèmes, on peut les mettre en évidence dans vim (~/.vimrc):

    highlight NbSp ctermbg=lightgray guibg=lightred
    match NbSp /\%xa0/
Et on peut automatiquement les remplacer par des espaces normaux dans zsh:

    function space {
      LBUFFER+=" "
      zle self-insert
    }
    zle -N space
    bindkey " " space

nbsp, vim, zsh
Vitesse d'une interface ethernet (linux)
by heaumer on Jan 13rd 2012

  # dmesg | grep -i eth0
  ...
  [   53.854565] tg3 0000:09:00.0: eth0: Link is up at 100 Mbps, full duplex
  ...
  # ethtool eth0 | grep Speed
          Speed: 100Mb/s
Pour changer la vitesse (10Mb/s), soit avec ethtool, ou mii-tool

  # ethtool -s eth0 speed 10
  # mii-tool -F 10baseT-FD eth0

ethernet, speed
Limiter le nombre de fichiers ouverts sous FreeBSD
by acieroid on Jan 8th 2012
Pour éviter de (gros) ennuis si un process se met à oublier de fermer ses fichiers, il faut adapter kern.maxfilesperproc, qui est a une valeur trop élevée de base.

En effet, le nombre de fichiers ouverts au total est:

    # sysctl kern.maxfiles
    kern.maxfiles: 12328
Et le nombre de fichier ouvert par processus

    # sysctl kern.maxfilesperproc
    kern.maxfilesperproc: 11095
On limite donc cette valeur (qui est a 1024 par défaut sous linux, cf. ulimit -n), par exemple:

    # sysctl kern.maxfilesperproc=5000

freebsd, sysctl
rename lowercase space comma - for mp3
by Izu on Dec 4th 2011
Izu style :

  rename 'y/A-Z/a-z/' *; rename 's/ - /-/g' *; rename 's/ /_/g' *; rename "s/\'//g" *;
heaumer style (not tested) :

  for i in *; do mv "$i" `echo $i | sed 'y/A-Z/a-z/;s/ - /-/g;s/ /_/g;s/\'//g'`; done

rename
bare repository et clone automatique avec git
by heaumer on Nov 26th 2011

  # on cherche à avoir un bare repository sur remote ainsi
  # qu'un répértoire contenant la dernière version des
  # fichiers, sur remote aussi.
  # voir http://toroid.org/ams/git-website-howto pour
  # plus d'informations
  
  # on crée un repository en local que l'on copie sur remote
  (local)$ mkdir website; cd website; git init
  (local)$ echo '<p>hello, world</p>' > index.html
  (local)$ git commit -a -m 'testing'
  (local)$ cd ../; scp -r website/ remote:/tmp/
  
  # on initialise le bare repository
  (remote)$ cd ~; git clone --bare /tmp/website/.git website.git; cd website.git
  # on crée le répertoire devant contenir les fichiers du
  # repository
  (remote)$ mkdir ~/www/
  # on met à jour ce répertoire à chaque fois qu'une
  # modification est effectuée sur le bare repository
  (remote)$ cat > hooks/post-receive <<EOF
  #!/bin/sh
  GIT_WORK_TREE=~/www/ git checkout -f
  EOF
  (remote)$ chmod +x hooks/post-receive
  
  # ajout d'une branche master
  (local)$ cd website/; git remote add web remote:~/website.git
  (local)$ git push web +master:refs/heads/master
  [...]
  (local)$ git push web

git, bare, repository
mounter plusieurs fois le même système de fichier
by heaumer on Sep 7th 2011
Sous linux, avec l'option --bind (-B) de mount:

  # mount --bind /dev /mnt/otherlinux/dev
  # mount -B /proc /mnt/otherlinux/proc
  # chroot /mnt/otherlinux
  (chroot)# mount /dev/sda1 /mnt/foo

mount
supprimer la barre de défilement verticale sous firefox
by heaumer on Aug 27th 2011
Ajouter dans son $HOME/.mozilla/firefox/profilename/chrome/userContent.css:

  /* hide vertical scrollbar */
  notificationbox {
      overflow-x: hidden;
  }
  browser[type="content-primary"], browser[type="content-targetable"] {
      overflow-y: scroll;
      margin-right: -12px; /* 12px == width of the scrollbar */
  }

firefox, scrollbar