- IPMI and remote management.
- Trackpoint and Linux.
- ARM and other SoC/SBC.
- Computer
Howto sysadm blog.
- (2024/11/25) Sometimes you need to run graphical applications after su - root, for which you can temporarily relax your local display security using xhost si:localuser:root and re-assert security using xhost -si:localuser:root after you are done.
- (2024/11/12) If gsettings suddenly stops working for you, check that you are not getting it from a conda installation.
- (2024/11/09) Up to Ubuntu 14.04 Trusty Tahr, the world of Java and browser plugins was a simpler, more trusting one. The Trusty repo directly supported installing firefox, icedtea-7-plugin and openjdk-7-jdk and you could freely run Java plugins. IPMI remote desktops were an important class of software that relied on these Java plugins. Now all this is gone, but some time you need a remote management console, and no manufacturer in the world will support a 2014 motherboard to replace the Java plugin with HTML5-based remote consoles as in later motherboards. Earlier I was managing with a Trusty VM inside VirtualBox, but now with Wayland, 3d acceleration is acting up and old Ubuntu VMs are a mess. I am trying to manage with Docker now; here's a sample Dockerfile. If you try to build and run it, chances are, your Firefox tabs will keep crashing. The fix is to increase shared memory allocation in Docker. My command line (as root) is
# docker run --rm --name firecon --shm-size=256m -e DISPLAY=:0.0 -v /tmp/.X11-unix --net host sc/firedock:v1
This works for all the old Intel and Asrock motherboards I have. You will likely have to xhost +local:root for Firefox to be able to access your screen. (This is dangerous, but we assume you will use this only for short intervals of time, visiting BMC Web services only and not other iffy sites. You can also run the container in rootless mode but it is again more work.)
- (2024/11/08) If you cannot start xfce4 desktop on a minimal install, try these corrective steps.
- (2024/11/03) Intel motherboards show some cryptic LED codes that can be decoded to readable POST conditions.
- (2024/10/28) I have been trying to find a way to highlight LaTeX math in nested manner with diverse colors for a while and this is the best solution I have found.
- (2024/10/05) To toggle wifi-direct on some HP printers, hold down the information "i" button for three seconds. All control buttons will light up. Now press resume "↓" and wireless buttons at the same time.
- (2024/09/20) How to increase row padding in LaTeX tables.
- (2024/08/08) Shockingly, there is no single command yet for changing the UUID of an NTFS partition from Linux. Here are instructions. You may have to run partprobe afterward.
- (2024/08/03) When you cannot suspend, poweroff, or reboot Linux, even as root!
(sudo systemctl cancel might help.) Didn't expect to see this day for Linux.
- (2024/07/21) To pretty-print a JSON file, python -m json.tool /path/to/ugly.json.
- (2024/07/20) How to update Brother printer firmware from Linux, Brother DCP-L3551DW support and downloads.
- (2024/07/10) WPS may not be able to print to PDF unless you hack libtiff.so.6 to look like libtiff.so.5 via a symlink in /usr/lib/x86_64-linux-gnu/. Better to install a bonafide libtiff version 5 if available.
- (2024/01/09) To create a blank A4 PDF page, run
convert xc:none -page A4 a.pdf.
- (2023/10/16) To autostart a python program in Raspbian LXDE, add a line like @/usr/bin/python /home/pi/example.py --opt 4 to ~/.config/lxsession/LXDE/autostart in the home of the autologin user.
- (2023/06/02) How to rename an mdadm array.
- (2023/04/18) I found the TTC gold 80M a good replacement for the Omron D2FC-F-7N (10M) rather than junk otherwise good mice every year.
- (2023/03/31) SMART status for SSDs remains flaky: advise and workarounds [1, 2].
- (2023/03/25) Sometimes you want to disable automatic renaming of network interfaces at boot. The kernel flag is net.ifnames=0.
- (2023/02/08) badblocks cannot handle recently supersize HDDs unless you tweak the blocksize flag, e.g., badblocks -b 8192 -w -t 0 -s /dev/sdc.
- (2023/01/31) To bulk-convert a bunch of .png files to .pdf with good quality, install imagemagick and img2pdf and run the following commands.
$ find . -name \*\.png -exec convert {} -alpha off -quality 0 {}.jp2 \;
$ find . -name \*\.jp2 -exec img2pdf --imgsize A4 -o {}.pdf {} \;
- (2023/01/15) Active rclone mounts may inhibit systemd suspend. As a hack, drop an executable script in /lib/systemd/system-sleep/ with these contents:
#!/bin/sh
set -e
if [ "$1" = "pre" ]; then
/usr/bin/logger "killing rclone"
/usr/bin/killall -v -q -INT rclone
fi
exit 0
- (2023/01/13) Rdesktop, xfreerdp, vinagre, remmina, gnome-connections. AnyDesk, TeamViewer, NoMachine, RealVNC, UltraVNC, FreeNX. Oh my, so many choices. That must mean the technology is broken and no one has a clue, at least not one they will give away for free. And Xorg to WayLand transition isn't helping. At present, to connect from Linux to Windows (native display), it is best to use RDP. Run Microsoft's own Remote Desktop service on the Windows computer, and connect using Remmina. Then run uncap.exe (download) with proper flags in a PowerShell window on the Windows computer while you are connected to map capslock to control. Your luck with grabbing keys away from your Linux desktop may vary. To connect from Linux to Linux (virtual display, as in shared GPU servers), the best bet is to run tigervnc-standalone-server on the server side and gnome-connections on the client side. The above choices lead to the least key-mapping nuisance IMHO.
- (2022/12/13) If you are missing vim and such on Android, first install termux (current APK here) and then use the apt or pkg command inside termux to install them. You can also use plugins like gnupg.vim (current version here), after you have installed gnupg. Install the plugin into ~/.vim/plugin/vim-gnupg/ such that this directory has the autoload and plugin folders directly in it.
- (2022/12/10) Of late, ipmitool has started warning: "IANA PEN registry open failed: No such file or directory". To stop this annoyance, save this file to ~/.local/usr/share/misc/enterprise-numbers.txt. Not sure why Debian and Ubuntu won't package a snapshot of this file.
- (2022/11/30) If nm-applet crashes in Gnome 43 on trying to add a hidden network, try tweaking its schema. The things we do to survive various OSs...
- (2022/11/06) NFS ports are no longer specified in /etc/default/nfs* files but in /etc/nfs.conf. If you want to make availble NFS through a firewall like UFW, you have to tell mountd to use some specific port like 6666 for example, and open up this port, and ports 2049 (NFS) and 111 (portmapper).
- (2022/11/08) How to reduce Windows 10 update eagerness. Apparently one can disable updates entirely but I have tried this and Windows blatantly violates this configuration! You can also read this and try the "Windows Update for Business" configuration options. Apparently the only remaining way to tame Winblows updates is to tell it that you are on a metered network.
- (2022/09/18) Sometimes you need to download firmware from URLs like this one but they set a nofollow directive that prevents wget from downloading recursively. Use the -e robots=off flag.
- (2022/09/12) Debian bookworm forces gdm3 to suspend after 1200 seconds, which is stupid for servers, but this can be defeated.
- (2022/09/03) hddtemp has disappeared from Ubuntu 22.04, but one can use smartctl in a script.
- (2022/05/21) How to downgrade SSL/TLS security to download files from obsolete Web servers.
- (2022/04/26) How to replace pulseaudio with pipewire
on Ubuntu 20.04 and Ubuntu 22.04 so your bluetooth headsets will work in both
A2DP and HSP modes. You might also have to systemctl --user mask pulseaudio to preserve pipewire across reboots.
- (2022/03/22 h/t Keshav Kolluru) If you need to use Indic and other
non-Roman charsets in a paper (e.g., submitted to ACL), you have to
use something like XeLaTeX, which may not have "Computer Modern"
fonts, in which case set the default font to "TeX Gyre TermesX".
- Use swaks
to test your SMTP smarthost from the command line.
- (2022/01/17) How to widen jupyter notebook cells.
- (2022/01/14) How to shift audio vs video using ffmpeg.
- (2022/01/13) The last TF1, namely TF1.15, cannot be installed with python after
3.7. Use conda to manage.
- (2021/12/12) Thunderbird UI has tiny fonts on HiDP, unrelieved
by GTK font scaling?
Use userChrome.css,
see this
and this.
Command line to change font scaling in gnome:
gsettings set org.gnome.desktop.interface
text-scaling-factor 1.3.
You can also
enlarge
Thunderbird UI fonts this way.
- (2021/12/10) How to sync Gmail to your
private imap server.
- (2021/12/01) How to set masked email for command-line git push.
- (2021/10/06) How to rummage around for deleted files in a git repo history and then delete its whole history.
- (2020/11/13) How to remove paths with all history from a git repo.
- (2021/08/11) How to construct objects from command line arguments in Python.
- (2021/08/09) How to play noise in Ubuntu to shut out the background.
- (2021/08/03) Keep installing chromium from standard repo rather than snap for a little while longer.
- (2020/10/13) Live a snap-free life on Ubuntu.
- (2020/05/12) A better Ubuntu Linux without the crappy Snap.
- (2021/07/26) If you get "Authentication is required to create a color profile" or "Authentication is required to create a color managed device" warnings on starting a Linux desktop, you have to tweak polkit configuration.
- (2020/11/13) More polkit horror:
"authentication is required to create a color managed device".
- (2021/03/10) How to increase scroll wheel speed in Ubuntu using imwheel.
- (2021/03/05) Thought you knew where Windows hides your personal .potx files?
Think again!
- AOMEI is evil, but we already knew that. It offers to do something on Windows that is not even required on Linux, namely, move `immovable' files so that the Windows OS partition can be shrunk. While about it, if the GPT disk has an ext4 partition, AOMEI could just leave it alone, but it destroys the partition! How depraved is that? Fortunately veteran sysads write down the partition table somewhere (and take a backup) before entrusting their SSDs to such crap tools, and AOMEI at least does not (yet) wipe Linux partitions. On a positive note, there have been years when just cloning a Windows disk and trying to install and boot from the clone would get Windows's knickers in a twist. At least Windows will now boot from a SSD cloned from an old HDD without requiring a roundtrip telegram to Redmond.
- (2020/11/18) If the default pip in a virtual env is harassing you, you need to omit pip while creating the env and add it later (h/t Abir De):
$ virtualenv venv --no-pip
$ source venv/bin/activate
$ curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
$ python get-pip.py pip==19.3.1
- (2020/11/16) If you already have a schedule for updating and upgrading, you can quieten the noise from update notifier on Ubuntu for all users by disabling some services.
- (2020/11/14) If do-release-upgrade is failing to find Ubuntu 20.04, it is because of an SSL issue. Deleting motd files does nothing.
- (2020/11/02) Cloning Ubuntu in preparation for dist-upgrade.
- (2020/07/21) How to upgrade mysql charset after zabbix upgrade.
- (2020/05/31) To stop spurious alerts from smartd on specific SSDs, stop smartd and delete or move away corresponding files from /var/lib/smartmontools. (2020/07/22) You may need to add "-R 197" or "-C 0" to /etc/smartd.conf. There also seems to be no way to do this in smartd.conf for some disks and not others without enumerating the others.
- (2020/05/28) To limit UFW BLOCK messages
to /var/log/ufw.log and prevent them from crowding syslog,
uncomment the last # & stop line of /etc/rsyslog.d/20-ufw.conf and # service rsyslog restart.
- (2020/05/25) How to retrieve
the return code of all components of a pipe from PIPESTATUS.
- (2020/05/24) Pythonic code to load a file into a python set:
set(line.strip() for line in open(filename)).
- (2020/05/17) If you change files affecting nscd, you have to invalidate its cache, restarting it will not suffice.
- (2020/04/28) How to generate hashed passwords for /etc/shadow.
- (2020/04/27) How to remove HWE kernel from Ubuntu.
- (2020/03/09) A great source of fake records
with which to stuff evil phishing databases.
- (2020/03/08) Some years back, you could change the IP address of
a Linux box and /etc/init.d/networking restart and the new
IP address would take effect, but, for your convenience, not any more. You have to ifdown eno1 && ip addr flush eno1 && ifup eno1.
- (2020/02/01)
If you don't have an end-to-end integrated SATA/SAS HBA to
cables to backplane with indicator LEDs controlled out-of-band,
managing a RAID on a hotswap backplane can be stressful. Pull out
the wrong bay and you have broken your RAID. Here
is a script that prints an association between
physical port IDs and disk serial numbers. The physical port
IDs should be immune to removal and insertion of disks. If you
write the port IDs on the bay covers, you should be set.
- (2020/02/01) How
to remove
ZFS meta data from reclaimed hard disks:
dd if=/dev/zero of=/dev/sdX bs=512 count=10 and then
dd if=/dev/zero of=/dev/sdX bs=512 seek=$(( $(blockdev --getsz
/dev/sdX) - 4096 )) count=1M.
- Install qt5-style-plugins on Ubuntu to let
qt5-based applications like virtualbox and vlc to use Gtk
themes.
- To let reftex pick up a bib file to associate with a LaTeX file, add %%% reftex-default-bibliography: ("path/to/bibfile.bib") *** at the end of the LaTeX file. The full trailer looks like this:
%%% Local Variables: ***
%%% mode:latex ***
%%% reftex-default-bibliography: ("/path/to/refs.bib") ***
%%% End: ***
- If LaTeX hyperref links straddling pages is crashing pdflatex,
try the tip/hack here. Surprising this old bug has persisted so long.
- About some dirt
under the relocatable virtualenv carpet.
- As of late 2019, you need to jump through some hoops to let ImageMagick write out PDF files.
- How to concatenate every two lines in a text file.
- If you are sure about what you are doing, ssh flags -o
StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null will
let you live dangerously.
- In case you
wonder why
cellulose sponge freshly unpacked is soft but hardens after a few
uses. (OK, this isn't about sysad-giri.)
- How to upgrade from buster to bullseye as testing. If your cinnamon-control-center won't start, here's a potential fix.
- To widen the paper-thin draggable window borders in Cinnamon,
install dconf-editor and change
org.cinnamon.muffin.draggable-border-width to something like
20. Doesn't help with some applications like Opera.
- How to install FreeNAS on software RAID1.
- Hacking
HP common slot power supplies to get high-current 12V DC supply.
- To access APC SmartUPS status over SNMP, download PowerNet-MIB
files from APC, install in /usr/share/snmp/mibs
or ~/.snmp/mibs and run snmpwalk -v 1 -m +PowerNet-MIB
-c public ups_host_name apc. Make sure you enable SNMP v1 at
the UPS network card first. SNMP v3 takes more work.
To get
numeric OIDs to stick into Zabbix, use these tips.
- How
to switch
origin from https to ssh on github.
- How
to cache
https credentials with a git client for a limited time.
- MTP on Linux is generally broken as of early
2019 2020. Give up on USB cables and MTP and set up an sshd server (such as SimpleSSHD) on Android. Be sure to install key-based ssh. You could then use sftpmount to mount the phone file system on your Linux laptop and run Unison on Linux, but Unison cannot remember what it synced last time, and sftp is also far from rock solid. I have found FreeFileSync better than Unison.
- If mono runtime throws exceptions
like System.TypeInitializationException: The type initializer
for 'System.Console' threw an exception. --->
System.TypeInitializationException: The type initializer for
'System.ConsoleDriver' threw an exception. --->
System.Exception: Magic number is wrong: 542, run
as TERM=xterm ./hello.exe.
- To deallocate the default Tensorflow graph and session while
using Keras,
use this
code snippet. Can be useful if you are doing hyperparameter
grid search or cross-validation.
- To see what sort of certificate (chain) a SSL-endowed server is
throwing at you, use cat /dev/null | openssl s_client -connect
host:port -showcerts. If this used to show you certificates
but has stopped so after an SSL-related upgrade, that might mean
your client is demanding a version larger than your server is
willing to work. As a possible temporary fix,
edit /etc/ssl/openssl.cnf and replace suitable lines with
MinProtocol = None and CipherString = DEFAULT,
or, if you need to be pushy, replace MinProtocol =
TLSv1.2 by MinProtocol = TLSv1.
- Interesting text highlighter code using Tikz, useful for attention heatmaps.
- How to install docker-ce on Debian. How to install nvidia-docker on Debian, including configuring apt and one possibly required fix if you are on Debian testing.
- If you are surprised to see no effect from \abovedisplayskip
0pt \belowdisplayskip 0pt etc., you have to
\makeatletter
\g@addto@macro{\normalsize}{%
\setlength{\abovedisplayskip}{0pt}%
\setlength{\abovedisplayshortskip}{0pt}%
\setlength{\belowdisplayskip}{0pt}%
\setlength{\belowdisplayshortskip}{0pt}}
\makeatother
because \normalsize
resets these variables to defaults.
The % at the end of each line is needed, otherwise section numberings
get indented with these (newline) spaces.
- Gpu-burn is
useful for stress-testing your GPU and power supply.
- Simple bash+curl script for typical proxy authentication:
# Define proxy $url here.
read -p "Login: " -e user
read -p "Password: " -e -s secret
echo
echo -n "Status: "
echo "passwd=$secret" | /usr/bin/curl -s -S -w '%{http_code}' -o /dev/null -d uname=$user -d @- $url
echo
- How
to use rebind_domain
with rebind_protection in dnsmasq, for example, with
OpenWRT.
- To resize and center a set of images into a PDF with all A4
pages, run:
convert *.jpg -compress jpeg -resize 1240×1753 -extent 1240×1753 -gravity center -units PixelsPerInch -density 300×300 output.pdf
- Use one of these commands
systemctl set-default multi-user.target and
systemctl set-default graphical.target
to switch between graphical and text-mode logins in the systemd world.
- To spin down idle (non-RAID) disks, install hdparm, identify the
disk you want to sping down, and write
in /etc/hdparm.conf:
/dev/disk/by-id/blah {
apm = 125
spindown_time = 244
}
- Dump files are large and can get corrupted on disk or over
wires. To create a md5sum checksum while dumping to a remote
backup host, use tee as follows.
# xfsdump -J - /mnt/source | tee >(md5sum -b >source.xfsdump.md5sum ) | ssh backup_host dd bs=4M of=/mnt/target/source.xfsdump
And then copy the checksum file over as well to backup_host, to check and archive.
- Desktop Linux has arrived, and is as flaky as Windows, rejoice!
(OK, that was unfair.)
Cinnamon screen
lock jams for
tens of seconds when a laptop is unsuspended. Only happens to
some laptops, apparently. The fix as of 2018/02 is to purge
cinnamon-screensaver-x-plugin xscreensaver-data
xscreensaver-data-extra xscreensaver-gl xscreensaver-gl-extra
light-locker and install gnome-screensaver. Also, in /usr/bin,
rename cinnamon-screensaver-command and cinnamon-screensaver to
cinnamon-screensaver-command.hide and cinnamon-screensaver.hide.
Finally, soft-link gnome-screensaver-command as
cinnamon-screensaver-command. Basically, con cinnamon to use
gnome-screensaver.
- How
to read
SNMP-capable devices using MIB tables.
- Command line flags to build one module of a large LaTeX document at a time, saving to separate files.
- If you need to reset networked printer configuration, you can
either use reliable instructions or garbage1, garbage2, garbage3.
- Querying Wikidata for Freebase MIDs.
- How to git merge with default precedence for ours or theirs. Possibly handy when origin/master had a regression and you used a branch to investigate and fixed up origin/master.
- How to diff two branch tips or commits on git.
- Some time back vi/vim sprouted a disagreeable "visual mode" which is best put to rest using :set mouse-=a inside the editor or set mouse-=a in ~/.vimrc.
- Linux Ethernet bonding seems to have some gaps [1, 2] between what is in man pages vs. what actually works. Specifically, you must place the slave stanzas in
/etc/network/interfaces
before the bond stanza, which should then, somewhat counterintuitively, say
bond-slaves none
- If you see error messages like
RTNETLINK answers: File exists
Failed to bring up eth0
when you try to restart your network, you may want to
# ip addr flush dev wlan0
- To use pdfpages from inside beamer, you must add the line
{
\setbeamercolor{background canvas}{bg=}
\includepdf[pages={61}]{file_to_include.pdf}
}
Otherwise the included pages will show up blank.
- Debian
testing vs. Android USB tether: no matter who wins, we
lose.
- To share a counter between figures and tables in LaTeX, and make
them render in the source order, use these magic incantations:
\makeatletter
\let\c@table\c@figure \let\ftype@table\ftype@figure
\makeatother
- How
to update
Lenovo laptop BIOS without access to a CD writer (what's
that?).
- Instructions for migrating single-device Linux to mdadm RAID1. I prefer booting from a different OS to copy the non-RAID OS to the initially degraded RAID1 using dump and restore, rather than use rsync.
- If your Debian update-grub cannot find another Linux
like Ubuntu on a /dev/md? device, consider a
patch
(further patched to guard against md paths with colons)
to your Debian /usr/bin/os-prober and then
run update-grub. Useful notes on how grub2 works with mdraid.
Conversely, if upgrade-grub is finding operating systems you do not wish to be found (on USB thumb drives, for example), use the GRUB_DISABLE_OS_PROBER=true option in /etc/default/grub on grub2 onwards.
- (2020/02/20) If your md array is being assembled with a strange name and device path that you don't like, you can fix these by:
# mdadm --stop /dev/md127
# mdadm --assemble --update=name --name=host:0 /dev/md0 /dev/sdXn /dev/sdYn
- PXE Booting Debian to AUFS-NFS root.
Lots of delicate steps, easy to make mistakes, hard to debug.
- Subversion used to be tolerant to non-LF line endings in revprops, but recent versions are not. To get around hotcopy errors, edit revprops files by hand to remove the training ^M and reduce the line length by one.
- Lifecam NX6000 and Debian testing:
uvcvideo quirks,
compatible
v4l2, hacking skype.desktop.
- How to use ecryptfs on Debian.
- Notes on messing around with mdadm to upgrade disk sizes. More notes on mdadm performance tweaks.
- How to fix funny highlight problems in evince.
- How to write to dbus from inside a daemon without a DISPLAY (response 5). I used this to notify Fn-F5 rfkill on the wireless card, using the ACPI script below:
#!/bin/bash
function notify {
path=/usr/share/icons/hicolor/32x32/apps
imgs=(nm-no-connection.png nm-device-wired.png)
stats=('Off' 'On')
for pid in $(pgrep 'xfce4-panel'); do
eval $(grep -z ^USER /proc/$pid/environ)
eval export $(grep -z ^DISPLAY /proc/$pid/environ)
eval export $(grep -z ^DBUS_SESSION_BUS_ADDRESS /proc/$pid/environ)
su $USER -c "notify-send -t 1400 -i $path/${imgs[$2]} $1 ${stats[$2]}"
done
}
for nif in $(find /sys/devices -path '*/rfkill?/state'); do
rfkilldir=$(dirname $nif)
notify 'Wifi' $(cat $rfkilldir/state)
done
- Linuxen around 2014 have a bug in gnome-network-manager which, under certain conditions, prevents wireless PEAP authentication if the user declines to use a CA and the hotspot offers a self-signed certificate. The workaround is to edit /etc/NetworkManager/system-connections/YourSSID and set system-ca-certs=false.
- Find Android internal vs. micro SD storage confusing? Me too!
- To get the canonical name of a class from a static method in a manner safe for refactoring and copy-paste, use
new Throwable().getStackTrace()[0].getClassName()
- Many old laptops and netbooks have small 1.8-inch disks or SSDs installed straight on the motherboard that are not easy or possible to upgrade. Some of them provide a SD/MMC slot for storage expansion. By default, Linux will regard cards in these slots as removable volumes, and therefore unmount, suspend, resume, and remount. This policy protects against data corruption, but will restrict you to VFAT, and it can be inconvenient to lose the mount every time you suspend+resume. You can compile a kernel with CONFIG_MMC_UNSAFE_RESUME=y, which will assume the card in the slot has not been disturbed while suspended. (Violating this assumption will result in data corruption and loss.) However, a custom kernel may not be enough. E.g., in Debian Squeeze, you also need to go to /usr/lib/pm-utils/sleep.d and rename 010_unmount_SD to something like .010_unmount_SD so that pm-suspend does not run it. There is a grub command-line flag to the kernel, mmc_core.removable=0, that achieves the same effect.
- Using inotify to back up modified files. Can't deal with huge directory trees with lots of inodes, unfortunately.
- Simple command line to loop audio in to out on Ubuntu:
gst-launch pulsesrc ! pulsesink. Hit control-C to stop.
- How to restart pulseaudio:
$ pulseaudio --check
$ pulseaudio -k
$ pulseaudio -D
- How to speed up mdadm RAID5/6 using stripe_cache_size.
Makes a real difference.
- How to set hostname from DHCP.
- 2014, and enabling resume from suspend on USB activity in Linux remains rocket science.
- How to trick a motherboard into believing that
it has (way) more
fans installed than it actually does.
- Fresh
UPS batteries can come with fresh problems. Further tips on
calibration.
- If, after moving /var/lib/mysql/ to some other place, mysqld refuses to start, it could be AppArmor stupidity.
- Yet more apparmor silliness manifest via broken evince.
- Comprehensive tutorial on building stock kernels the Ubuntu way, starting from git clone.
- In Java, to print a unique ID of objects that may have
overridden toString, use
Integer.toHexString(System.identityHashCode(object))
as suggested here.
- If you need to ssh into a host and nohup some command there,
you can say
$ ssh host 'nohup date >/tmp/date.out 2>&1 </dev/null &'
and this will generally work. But if you use ssh -t, it
may fail, because the ssh session may have been dissolved before the
nohup is scheduled. One quick and sloppy way to cope is to sleep:
$ ssh -t host 'nohup date >/tmp/date.out 2>&1 </dev/null & sleep 1'
- To stop gutter scum Vodafone from leaching 3 INR by sending you popup flash messages, follow these instructions.
- If Nvidia or VirtualBox dkms is giving trouble with
mainline kernel 3.8, this may help fix it.
- How to move Android apps from phone flash to microSD, untested.
- TTF for some LaTeX fonts can be downloaded from
here.
- If you are having persistent BADSIG problems with apt-get update,
the trouble may be in apt-cacher-ng.
- How to tunnel git protocol through a HTTP proxy.
- On some old motherboards with new SATA2 HDDs,
kernel option libata.force=1.5Gbps may
improve stability, in case the disks are worked heavily
and proving unstable at 3Gb/s.
- LVM primer.
- How to obliterate btrfs, because, sometimes, you gotta do what you gotta do.
- How to perform various kinds of surgery on SVN repositories.
- How to convert between ssh key formats.
- Tips on monitoring
disk and RAID health via Ganglia and NAGIOS.
- How to deal with occasional bad sectors on disks.
- Very helpful tips to access environment variables from inside LaTeX.
- If you are updating .bib files from outside Emacs and want Emacs
to revert that buffer so you can search for new or modified bib keys,
add this to your .emacs file: (global-auto-revert-mode
t).
- The latest word on Sun vs. open JDK.
- If, after importing the public key from
https://raw.github.com/ceph/ceph/master/keys/release.asc,
you are getting GPG error NO_PUBKEY DA4420ED288995C8,
instead import the key from http://newdream.net/~sage/pubkey.asc.
- To enable HTTP proxy for some repositories (e.g. if you are using
a cache) but disable it for others, use
this sample apt configuration file.
- If disabling IPv6 is causing new problems with X11 forwarding over
ssh, write in /etc/rc.local the following lines to
disable IPv6 for all interfaces other than loopback:
echo -n 1 > /proc/sys/net/ipv6/conf/all/disable_ipv6
echo -n 0 > /proc/sys/net/ipv6/conf/lo/disable_ipv6
- Saving a Dell 2405FPW monitor
from capacitor (and other) plague.
- A supposedly good CD player
with a sub-standard laser pickup mechanism.
- How to use sysfs to control SCSI devices.
- If you hate cutting DVDs (even DVD-RWs will wear out faster than
USB keys), you will like to
use UNetbootin, which
will take most bootable ISOs and make a bootable USB key out of it.
- Taming the MTNL "Jadoo" 3G USB dongle.
- Saving a motherboard from
capacitor plague.
- Using VNC into headless servers.
- Hibernating with apcupsd.
- Silencing a whining Thinkpad X40 fan.
- Of teflon tape and assembling your own PC.
- Cropping PDF to MediaBox.
- SSL and TLS for LDAP.
- When you don't trust your RAM.
- Migrating to Ubuntu and Debian.
- When you can't trust your OS.
- Windows users beware of shadow disks!.
- How to embed Type1 fonts into PDF.
- Notes on RAID, hardware, software, ugly.
- How to flush file caches in Linux.
- How to compile for JNI on Linux.
- How to set up modems on Linux.
- To look for dead links under a directory, run
$ find /path/to/ -type l -exec bash -c "if [ ! -r {} ]; then echo {}; fi" \;
But there's also the easier find -L . -type l command.
man find to know how this works.
- To run IBM UDB 6.1 on Redhat7.2,
link in this patch.
Also insert this line
echo 50 > /proc/sys/kernel/msgmni
at the end of your rc.local.
NO WARRANTY WHATSOEVER.
- To turn off version control in Emacs, e.g., while running on
Windows, add
(setq vc-handled-backends nil)
(setq vc-ignore-vc-files t)
to your .emacs or _emacs file.
- HEVEA,
a great LaTeX to HTML translator.
- Dawn,
an addressbook converter.
- A DVI viewer
for Windows.
- (Archived) CSE SysComm hub