Why did adding the Debian testing repository create so many package dependencies?

I have Debian 6.0.4, and I'm running an outdated Geany text editor package. There's no newer version available in the current stable repository, so I added testing packages to `sources.list`:               #debian testing     deb http://ftp.debian.org/debian/ testing main contrib non-free     deb-src http://ftp.debian.org/debian/ testing main contrib non-free      And this is what I get for installation of the package:               Reading package lists... Done     Building dependency tree            Reading state information... Done     The following packages were automatically installed and are no longer required:       python-crypto mono-2.0-gac python-tagpy libcommons-collections3-java       libhsqldb-java-gcj gstreamer0.10-alsa menu-xdg evolution-common       geoclue-localnet libgnomekbd4 libtracker-client-0.8-0 gnome-utils-common       libepc-ui-1.0-3 libpeas-common libpanel-applet-4-0 libboost-python1.46.1       python-pyasn1 geoclue python-twisted-core evolution-webcal ekiga       python-opengl libgtkmm-3.0-1 gir1.2-totem-1.0 rpm2cpio xsltproc gcalctool       freedesktop-sound-theme libcolamd2.7.1 libnl-3-200 lp-solve telepathy-salut       libarchive1 gnuchess-book gnome-nettool libxcb-render-util0 gnome-media       gnome-games-extra-data libepc-1.0-3 gnome-desktop-data libgnomepanel2.24-cil       aisle-themes liblouis-data       a empathy-common sound-juicer       qt4-qtconfig gnomine     Use 'apt-get autoremove' to remove them.     The following extra packages will be installed:       abiword abiword-common accountsservice acl aisleriot alacarte apg apt aspell       baobab brasero brasero-common cheese cheese-common colord console-setup       console-setup-linux cpp-4.4 crda cups-pk-helper dbus dconf-gsettings-backend       dconf-service dconf-tools debianutils dvd+rw-tools empathy empathy-common       eog epiphany-browser epiphany-browser-data epiphany-extensions evince       evince-common evolution evolution-common evolution-data-server       evolution-data-server-common evolution-exchange evolution-plugins       file-roller folks-common fonts-cantarell fonts-opensymbol gcalctool gcc-4.4       gcc-4.4-base gcc-4.6-base gcj-4.4-base gcj-4.4-jre gcj-4.4-jre-headless       gconf-defaults-service gconf-service gconf2 gconf2-common gdebi gdebi-core       gdesklets gdm3 geany-common gedit gedit-common gedit-plugins gimp gimp-data       gir1.2-accountsservice-1.0 gir1.2-atk-1.0 gir1.2-caribou-1.0       gir1.2-clutter-1.0 gir1.2-clutter-gst-1.0 gir1.2-cogl-1.0       gir1.2-coglpango-1.0 gir1.2-evince-3.0 gir1.2-folks-0.6 gir1.2-freedesktop       gir1.2-gconf-2.0 gir1.2-gdata-0.0 gir1.2-gdkpixbuf-2.0 gir1.2-gee-1.0       gir1.2-gkbd-3.0 gir1.2-glib-2.0 gir1.2-gmenu-3.0 gir1.2-gnomebluetooth-1.0       gir1.2-gnomekeyring-1.0 gir1.2-goa-1.0 gir1.2-gst-plugins-base-0.10       gir1.2-gstreamer-0.10 gir1.2-gtk-3.0 gir1.2-gtkclutter-1.0       gir1.2-gtksource-3.0 gir1.2-gucharmap-2.90 gir1.2-javascriptcoregtk-3.0       gir1.2-json-1.0 gir1.2-mutter-3.0 gir1.2-networkmanager-1.0       gir1.2-panelapplet-4.0 gir1.2-pango-1.0 gir1.2-peas-1.0 gir1.2-polkit-1.0       gir1.2-rb-3.0 gir1.2-soup-2.4 gir1.2-sushi-1.0 gir1.2-telepathyglib-0.12       gir1.2-telepathylogger-0.2 gir1.2-totem-1.0 gir1.2-totem-plparser-1.0       gir1.2-tracker-0.14 gir1.2-upowerglib-1.0 gir1.2-vte-2.90 gir1.2-webkit-3.0       gjs glchess glib-networking glib-networking-common glib-networking-services       glines gnect gnibbles gnobots2 gnome-applets gnome-applets-data       gnome-backgrounds gnome-bluetooth gnome-contacts gnome-control-center       gnome-control-center-data gnome-desktop3-data gnome-dictionary       gnome-disk-utility gnome-documents gnome-font-viewer gnome-games       gnome-games-data gnome-icon-theme gnome-icon-theme-extras       gnome-icon-theme-symbolic gnome-keyring gnome-mag gnome-media gnome-menus       gnome-nettool gnome-online-accounts gnome-packagekit gnome-packagekit-data       gnome-panel gnome-panel-data gnome-power-manager gnome-screensaver       gnome-screenshot gnome-search-tool gnome-session gnome-session-bin       gnome-session-common gnome-settings-daemon gnome-shell gnome-shell-common       gnome-sudoku gnome-sushi gnome-sushi-common gnome-system-log       gnome-system-monitor gnome-system-tools gnome-terminal gnome-terminal-data       gnome-themes-standard gnome-user-guide gnome-user-share gnome-utils-common       gnome-video-effects gnomine gnotravex gnotski gnumeric gnumeric-common       growisofs gsettings-desktop-schemas gstreamer0.10-ffmpeg gstreamer0.10-gconf       gstreamer0.10-plugins-bad gstreamer0.10-plugins-base       gstreamer0.10-plugins-good gstreamer0.10-plugins-ugly       gstreamer0.10-pulseaudio gtali gtk2-engines-pixbuf gucharmap gvfs       gvfs-backends gvfs-bin gvfs-common gvfs-daemons gvfs-libs hamster-applet       hpijs hplip hplip-cups hplip-data iagno imagemagick-common initscripts       inkscape insserv iw krb5-locales krb5-multidev libaacs0 libabiword-2.9       libaccountsservice0 libacl1 libapache2-mod-python libarchive12 libasound2       libasound2-plugins libaspell15 libatk1.0-0 libatk1.0-data libatkmm-1.6-1       libattr1 libavahi-ui-gtk3-0 libavcodec53 libavformat53 libavutil51       libbluetooth3 libbluray1 libboost-python1.46.1 libbrasero-media3-1 libburn4       libc-bin libc-dev-bin libc6 libc6-dev libc6-i686 libcairo-gobject2 libcairo2       libcamel-1.2-29 libcanberra-gtk3-0 libcanberra-gtk3-module libcanberra-pulse       libcanberra0 libcap2-bin libcaribou-common libcaribou0 libchamplain-0.12-0       libchamplain-gtk-0.12-0 libcheese-gtk20 libcheese1 libclutter-1.0-0       libclutter-1.0-common libclutter-gst-1.0-0 libclutter-gtk-1.0-0       libclutter-imcontext-0.1-0 libcluttergesture-0.0.2-0 libcogl-common       libcogl-pango0 libcogl5 libcolord1 libcurl3-gnutls libcurl3-nss libdb5.1       libdbus-glib1.0-cil libdbus1.0-cil libdconf0 libdirac-decoder0       libdjvulibre-text libdjvulibre21 libdmapsharing-3.0-2 libdvbpsi7       libebackend-1.2-1 libebml3 libebook-1.2-12 libecal-1.2-10       libedata-book-1.2-11 libedata-cal-1.2-13 libedataserver-1.2-15       libedataserverui-3.0-1 libepc-1.0-3 libepc-common libepc-ui-1.0-3       libevent-2.0-5 libevince3-3 libevolution libexempi3 libfolks-eds25       libfolks-telepathy25 libfolks25 libgail-3-0 libgail-common libgail18       libgc1c2 libgcc1 libgcj10 libgcj10-awt libgck-1-0 libgconf-2-4 libgconf2-4       libgcr-3-1 libgcr-3-common libgdata13 libgdict-1.0-6 libgdk-pixbuf2.0-0       libgdk-pixbuf2.0-common libgdu-gtk0 libgdu0 libgeocode-glib0 libgfortran3       libgimp2.0 libgirepository-1.0-1 libgjs0b libglib2.0-0 libglib2.0-bin       libglibmm-2.4-1c2a libgmime-2.6-0 libgmime2.6-cil libgmp10       libgnome-bluetooth8 libgnome-control-center1 libgnome-desktop-3-2       libgnome-keyring-common libgnome-keyring0 libgnome-media-profiles-3.0-0       libgnome-menu-3-0 libgnome2-0 libgnome2-common libgnomekbd-common       libgnomekbd7 libgnutls26 libgoa-1.0-0 libgoa-1.0-common libgoffice-0.8-8       libgoffice-0.8-8-common libgomp1 libgpg-error0 libgphoto2-2 libgphoto2-l10n       libgphoto2-port0 libgraphite2-2.0.0 libgrilo-0.1-0 libgssapi-krb5-2       libgssrpc4 libgstreamer-plugins-bad0.10-0 libgstreamer-plugins-base0.10-0       libgstreamer0.10-0 libgtk-3-0 libgtk-3-bin libgtk-3-common libgtk-vnc-2.0-0       libgtk2.0-0 libgtk2.0-bin libgtkhtml-4.0-0 libgtkhtml-4.0-common       libgtkhtml-editor-4.0-0 libgtkmm-2.4-1c2a libgtkmm-3.0-1       libgtksourceview-3.0-0 libgtksourceview-3.0-common libgucharmap-2-90-7       libgvnc-1.0-0 libgweather-3-0 libhpmud0 libhunspell-1.3-0 libhyphen0       libicu48 libimobiledevice2 libisofs6 libjavascriptcoregtk-1.0-0       libjavascriptcoregtk-3.0-0 libjpeg8 libjs-jquery libjs-jquery-ui       libjson-glib-1.0-0 libjson0 libjte1 libk5crypto3 libkadm5clnt-mit8       libkadm5srv-mit8 libkate1 libkdb5-6 libkrb5-3 libkrb5-dev libkrb5support0       liblcms2-2 libloudmouth1-0 libltdl7 liblzma5 libmagick++4 libmagickcore4       libmagickwand4 libmatroska5 libmhash2 libmono-addins-gui0.2-cil       libmono-addins0.2-cil libmono-cairo4.0-cil libmono-corlib2.0-cil       libmono-corlib4.0-cil libmono-posix4.0-cil libmono-security4.0-cil       libmono-sharpzip4.84-cil libmono-sqlite2.0-cil       libmono-system-configuration4.0-cil libmono-system-core4.0-cil       libmono-system-security4.0-cil libmono-system-web2.0-cil       libmono-system-xml4.0-cil libmono-system2.0-cil libmono-system4.0-cil       libmount1 libmozjs185-1.0 libmp3lame0 libmpfr4 libmtp-common libmtp-runtime       libmtp9 libmutter0 libmx-1.0-2 libnautilus-extension1a libnettle4       libnl-3-200 libnl-genl-3-200 libnl-route-3-200 libnm-glib4 libnm-gtk-common       libnm-gtk0 libnm-util2 libnotify4 liboauth0 liboobs-1-5 liborc-0.4-0 libots0       libp11-kit0 libpackagekit-glib2-14 libpam-gnome-keyring libpanel-applet-4-0       libpango1.0-0 libpangomm-1.4-1 libpcre3 libpeas-1.0-0 libpeas-common       libpixman-1-0 libpolkit-agent-1-0 libpolkit-backend-1-0       libpolkit-gobject-1-0 libpoppler-glib6 libpoppler13 libportmidi0       libpostproc52 libpulse-mainloop-glib0 libpulse0 libpython2.7 libqt4-dbus       libqt4-designer libqt4-network libqt4-opengl libqt4-qt3support libqt4-script       libqt4-sql libqt4-sql-mysql libqt4-sql-sqlite libqt4-svg libqt4-webkit       libqt4-xml libqt4-xmlpatterns libqtcore4 libqtgui4 libqtwebkit4 libquadmath0       libquvi-scripts libquvi7 libraptor2-0 librasqal3 librdf0       libresid-builder0c2a librest-0.7-0 librest-extras-0.7-0 librhythmbox-core5       librsvg2-2 librsvg2-common librtmp0 libsamplerate0 libsane-hpaio       libschroedinger-1.0-0 libseed-gtk3-0 libsidplay2 libsmbclient       libsocialweb-client2 libsocialweb0 libsoundtouch0 libsoup-gnome2.4-1       libsoup2.4-1 libspandsp2 libssl1.0.0 libstartup-notification0 libstdc++6       libsushi-1.0-0 libswscale2 libtag1-vanilla libtag1c2a libtalloc2 libtar0       libtdb1 libtelepathy-glib0 libtelepathy-logger2 libtiff4 libtinfo5 libtirpc1       libtotem-plparser17 libtotem0 libtracker-extract-0.14-0       libtracker-miner-0.14-0 libtracker-sparql-0.12-0 libtracker-sparql-0.14-0       libunique-3.0-0 libunistring0 libupower-glib1 libva-x11-1 libva1       libvisual-0.4-0 libvisual-0.4-plugins libvlc5 libvlccore5 libvo-aacenc0       libvo-amrwbenc0 libvpx1 libvte-2.90-9 libvte-2.90-common libvte-common       libvte9 libwbclient0 libwebkitgtk-1.0-0 libwebkitgtk-1.0-common       libwebkitgtk-3.0-0 libwebkitgtk-3.0-common libwmf0.2-7 libwnck-3-0       libwnck-3-common libwpd-0.9-9 libwpg-0.2-2 libwps-0.2-2 libwv-1.2-4       libx264-120 libxalan2-java libxapian22 libxcb-composite0 libxcb-keysyms1       libxcb-util0 libxcb-xfixes0 libxfixes3 libxklavier16 libxvidcore4 libyajl2       libyelp0 libzvbi-common libzvbi0 linux-headers-2.6.32-5-common locales       mahjongg make metacity-common mono-4.0-gac mono-gac mono-runtime       multiarch-support mutter-common nautilus nautilus-data nautilus-dropbox       nautilus-sendto nautilus-sendto-empathy network-manager       network-manager-gnome nfs-common nfs-kernel-server notification-daemon nscd       packagekit packagekit-backend-aptcc pkg-config planner planner-data       policykit-1 poppler-data printer-driver-hpcups printer-driver-hpijs       pulseaudio pulseaudio-esound-compat pulseaudio-module-x11 pulseaudio-utils       python python-apt python-brlapi python-cairo python-compizconfig       python-crypto python-cups python-dbus python-evolution python-gconf       python-gdbm python-gi python-gi-cairo python-glade2 python-gmenu       python-gnome2 python-gnomedesktop python-gnomekeyring python-gobject       python-gobject-2 python-gpgme python-gst0.10 python-gtk2 python-gtkglext1       python-gtksourceview2 python-httplib2 python-imaging python-libxml2       python-lxml python-markupsafe python-minimal python-mysqldb python-notify       python-numpy python-openssl python-packagekit python-pkg-resources       python-pycurl python-pygame python-pyorbit python-pysqlite2 python-rdflib       python-reportlab python-software-properties python-support python-tagpy       python-twisted-bin python-twisted-conch python-twisted-core       python-twisted-web python-vte python-webkit python-wnck python-xapian       python-zope.interface python2.7 python2.7-minimal qdbus qt4-qtconfig       quadrapassel rhythmbox rhythmbox-data rhythmbox-plugin-cdrecorder       rhythmbox-plugins rpcbind rsyslog rtkit samba samba-common seahorse       smbclient sound-juicer swat telepathy-logger tomboy totem totem-common       totem-mozilla totem-plugins tracker uno-libs3 update-manager-core       update-manager-gnome update-notifier update-notifier-common ure vinagre vino       vlc vlc-data vlc-nox vlc-plugin-notify vlc-plugin-pulse winbind       wireless-regdb wpasupplicant yelp yelp-xsl zeitgeist-core zenity       zenity-common zlib1g zlib1g-dev     Suggested packages:       dpkg-dev apt-doc lzma aspell-doc spellutils vcdimager libdvdcss2       gcc-4.4-locales cdrskin telepathy-haze telepathy-butterfly unrar       evolution-dbg evolution-plugins-experimental evolution-data-server-dbg       evolution-exchange-dbg arj lha lzip lzop ncompress rzip sharutils unace       unalz zoo gcc-4.4-multilib libmudflap0-4.4-dev gcc-4.4-doc libgcc1-dbg       libgomp1-dbg libmudflap0-dbg libcloog-ppl0 libppl-c2 libppl7 fastjar       gcj-4.4-jdk xz-lzma doc-base gimp-help-en gimp-help gimp-data-extras       gnome-hearts gnome-video-effects-frei0r gnumeric-doc gnumeric-plugins-extra       frei0r-plugins hplip-gui hplip-doc dia dia-gnome libsvg-perl libxml-xql-perl       python-uniconvertor skencil bootchart krb5-doc libapache2-mod-python-doc       libbluray-bdj python3 glibc-doc libcap-dev libgcj10-dbg gphoto2 gtkam       krb5-user libjs-jquery-ui-docs liblcms2-utils libmagickcore4-extra       libmono-i18n2.0-cil libmono-i18n4.0-all libmono-winforms2.0-cil libgamin0       ttf-baekmuk ttf-arphic-gbsn00lp ttf-arphic-bsmi00lp ttf-arphic-gkai00mp       ttf-arphic-bkai00mp libqt4-dev raptor2-utils rasqal-utils       librdf-storage-postgresql librdf-storage-mysql librdf-storage-sqlite       redland-utils librsvg2-bin libxalan2-java-doc libbsf-java libxsltc-java       xapian-tools make-doc avahi-autoipd network-manager-openvpn-gnome       network-manager-vpnc-gnome network-manager-pptp-gnome       packagekit-backend-smart hpijs-ppds pavumeter pavucontrol paman paprefs       python-tk python-apt-dbg python-apt-doc python-crypto-dbg python-crypto-doc       python-dbus-doc python-dbus-dbg python-gnome2-doc python-gdbm-dbg       python-gtk2-doc python-gobject-2-dbg python-gst0.10-dev python-gst0.10-dbg       libgtksourceview2.0-dev python-imaging-doc python-imaging-dbg       python-lxml-dbg python-egenix-mxdatetime python-mysqldb-dbg python-numpy-doc       python-numpy-dbg python-nose python-dev gfortran python-openssl-doc       python-openssl-dbg python-distribute python-distribute-doc       libcurl4-gnutls-dev python-pycurl-dbg timidity python-pysqlite2-doc       python-pysqlite2-dbg python-egenix-mxtexttools python-reportlab-doc       python-twisted-bin-dbg python-qt3 python-wxgtk2.8 xapian-doc python2.7-doc       rsyslog-mysql rsyslog-pgsql rsyslog-doc rsyslog-gnutls rsyslog-gssapi       rsyslog-relp smbldap-tools ldb-tools ctdb gstreamer0.10-lame       gstreamer0.10-plugins-really-bad tasque gromit ubuntu-system-service       cli-uno-bridge videolan-doc wpagui libengine-pkcs11-openssl       zeitgeist-datahub     Recommended packages:       abiword-plugin-grammar abiword-plugin-mathview fonts-liberation unoconv       gnome-session-fallback grilo-plugins-0.1 libmono-i18n-west4.0-cil       planner-doc python-reportlab-accel python-renderpm tdb-tools tracker-utils       tracker-gui tracker-miner-fs tracker-miner-evolution apport-gtk rdesktop       libpam-winbind     The following packages will be REMOVED:       capplets-data console-terminus deskbar-applet gcc-4.3 gir1.0-clutter-1.0       gir1.0-freedesktop gir1.0-glib-2.0 gir1.0-gstreamer-0.10 gir1.0-gtk-2.0       gir1.0-json-glib-1.0 gnome gnome-accessibility gnome-core       gnome-desktop-environment libbrasero-media0 libepc-1.0-2 libepc-ui-1.0-2       libmetacity-private0 libmtp8 libnautilus-extension1 libpolkit-gtk-1-0       libseed0 libtar libvlccore4 linux-headers-2.6-686 linux-headers-2.6.32-5-686       metacity openoffice.org openoffice.org-base openoffice.org-base-core       openoffice.org-calc openoffice.org-common openoffice.org-core       openoffice.org-draw openoffice.org-emailmerge openoffice.org-evolution       openoffice.org-filter-binfilter openoffice.org-filter-mobiledev       openoffice.org-gcj openoffice.org-gnome openoffice.org-gtk       openoffice.org-help-en-gb openoffice.org-help-en-us openoffice.org-impress       openoffice.org-java-common openoffice.org-math openoffice.org-officebean       openoffice.org-report-builder-bin openoffice.org-style-galaxy       openoffice.org-style-tango openoffice.org-thesaurus-en-us       openoffice.org-writer portmap python-gnomeapplet python-psyco python-uno       seahorse-plugins totem-coherence     The following NEW packages will be installed:       abiword abiword-common accountsservice acl aisleriot apg colord       console-setup-linux crda dconf-gsettings-backend dconf-service dconf-tools       folks-common fonts-cantarell fonts-opensymbol gcc-4.6-base gconf-service       geany-common gir1.2-accountsservice-1.0 gir1.2-atk-1.0 gir1.2-caribou-1.0       gir1.2-clutter-1.0 gir1.2-clutter-gst-1.0 gir1.2-cogl-1.0       gir1.2-coglpango-1.0 gir1.2-evince-3.0 gir1.2-folks-0.6 gir1.2-freedesktop       gir1.2-gconf-2.0 gir1.2-gdata-0.0 gir1.2-gdkpixbuf-2.0 gir1.2-gee-1.0       gir1.2-gkbd-3.0 gir1.2-glib-2.0 gir1.2-gmenu-3.0 gir1.2-gnomebluetooth-1.0       gir1.2-gnomekeyring-1.0 gir1.2-goa-1.0 gir1.2-gst-plugins-base-0.10       gir1.2-gstreamer-0.10 gir1.2-gtk-3.0 gir1.2-gtkclutter-1.0       gir1.2-gtksource-3.0 gir1.2-gucharmap-2.90 gir1.2-javascriptcoregtk-3.0       gir1.2-json-1.0 gir1.2-mutter-3.0 gir1.2-networkmanager-1.0       gir1.2-panelapplet-4.0 gir1.2-pango-1.0 gir1.2-peas-1.0 gir1.2-polkit-1.0       gir1.2-rb-3.0 gir1.2-soup-2.4 gir1.2-sushi-1.0 gir1.2-telepathyglib-0.12       gir1.2-telepathylogger-0.2 gir1.2-totem-1.0 gir1.2-totem-plparser-1.0       gir1.2-tracker-0.14 gir1.2-upowerglib-1.0 gir1.2-vte-2.90 gir1.2-webkit-3.0       gjs glchess glib-networking glib-networking-common glib-networking-services       glines gnect gnibbles gnobots2 gnome-contacts gnome-control-center-data       gnome-desktop3-data gnome-documents gnome-font-viewer       gnome-icon-theme-extras gnome-icon-theme-symbolic gnome-online-accounts       gnome-packagekit gnome-packagekit-data gnome-shell gnome-shell-common       gnome-sudoku gnome-sushi gnome-sushi-common gnome-themes-standard       gnome-video-effects gnomine gnotravex gnotski gnumeric gnumeric-common       growisofs gsettings-desktop-schemas gstreamer0.10-gconf       gstreamer0.10-pulseaudio gtali gvfs-common gvfs-daemons gvfs-libs iagno       imagemagick-common iw krb5-locales libaacs0 libabiword-2.9       libaccountsservice0 libarchive12 libasound2-plugins libatkmm-1.6-1       libavahi-ui-gtk3-0 libavcodec53 libavformat53 libavutil51 libbluray1       libboost-python1.46.1 libbrasero-media3-1 libcairo-gobject2 libcamel-1.2-29       libcanberra-gtk3-0 libcanberra-gtk3-module libcanberra-pulse libcap2-bin       libcaribou-common libcaribou0 libchamplain-0.12-0 libchamplain-gtk-0.12-0       libcheese-gtk20 libcheese1 libclutter-1.0-common libclutter-gst-1.0-0       libclutter-gtk-1.0-0 libclutter-imcontext-0.1-0 libcluttergesture-0.0.2-0       libcogl-common libcogl-pango0 libcogl5 libcolord1 libcurl3-nss libdb5.1       libdbus-glib1.0-cil libdbus1.0-cil libdconf0 libdirac-decoder0       libdmapsharing-3.0-2 libdvbpsi7 libebackend-1.2-1 libebml3 libebook-1.2-12       libecal-1.2-10 libedata-book-1.2-11 libedata-cal-1.2-13       libedataserver-1.2-15 libedataserverui-3.0-1 libepc-1.0-3 libepc-ui-1.0-3       libevent-2.0-5 libevince3-3 libfolks-eds25 libfolks-telepathy25 libfolks25       libgail-3-0 libgck-1-0 libgconf-2-4 libgcr-3-1 libgcr-3-common libgdata13       libgdk-pixbuf2.0-0 libgdk-pixbuf2.0-common libgeocode-glib0       libgirepository-1.0-1 libgjs0b libglib2.0-bin libgmime-2.6-0 libgmime2.6-cil       libgmp10 libgnome-bluetooth8 libgnome-control-center1 libgnome-desktop-3-2       libgnome-keyring-common libgnome-media-profiles-3.0-0 libgnome-menu-3-0       libgnomekbd7 libgoa-1.0-0 libgoa-1.0-common libgoffice-0.8-8       libgoffice-0.8-8-common libgphoto2-l10n libgraphite2-2.0.0 libgrilo-0.1-0       libgstreamer-plugins-bad0.10-0 libgtk-3-0 libgtk-3-bin libgtk-3-common       libgtk-vnc-2.0-0 libgtkhtml-4.0-0 libgtkhtml-4.0-common       libgtkhtml-editor-4.0-0 libgtkmm-3.0-1 libgtksourceview-3.0-0       libgtksourceview-3.0-common libgucharmap-2-90-7 libgvnc-1.0-0       libgweather-3-0 libhunspell-1.3-0 libicu48 libimobiledevice2       libjavascriptcoregtk-1.0-0 libjavascriptcoregtk-3.0-0 libjpeg8 libjs-jquery       libjs-jquery-ui libjson0 libjte1 libkadm5clnt-mit8 libkadm5srv-mit8       libkdb5-6 liblcms2-2 libloudmouth1-0 liblzma5 libmagick++4 libmagickcore4       libmagickwand4 libmatroska5 libmhash2 libmono-cairo4.0-cil       libmono-corlib4.0-cil libmono-posix4.0-cil libmono-security4.0-cil       libmono-sharpzip4.84-cil libmono-system-configuration4.0-cil       libmono-system-core4.0-cil libmono-system-security4.0-cil       libmono-system-xml4.0-cil libmono-system4.0-cil libmount1 libmozjs185-1.0       libmp3lame0 libmtp-common libmtp-runtime libmtp9 libmutter0 libmx-1.0-2       libnautilus-extension1a libnettle4 libnl-3-200 libnl-genl-3-200       libnl-route-3-200 libnm-glib4 libnm-gtk-common libnm-gtk0 libnm-util2       libnotify4 liboauth0 liboobs-1-5 libots0 libp11-kit0 libpackagekit-glib2-14       libpanel-applet-4-0 libpeas-1.0-0 libpeas-common libpoppler-glib6       libpoppler13 libportmidi0 libpostproc52 libpython2.7 libqtwebkit4       libquadmath0 libquvi-scripts libquvi7 libraptor2-0 librasqal3       libresid-builder0c2a librest-0.7-0 librest-extras-0.7-0 librhythmbox-core5       librtmp0 libsamplerate0 libseed-gtk3-0 libsidplay2 libsocialweb-client2       libsocialweb0 libsoundtouch0 libspandsp2 libssl1.0.0 libsushi-1.0-0       libswscale2 libtar0 libtelepathy-logger2 libtinfo5 libtirpc1 libtotem0       libtracker-extract-0.14-0 libtracker-miner-0.14-0 libtracker-sparql-0.12-0       libtracker-sparql-0.14-0 libunique-3.0-0 libunistring0 libva-x11-1 libva1       libvlccore5 libvo-aacenc0 libvo-amrwbenc0 libvpx1 libvte-2.90-9       libvte-2.90-common libwebkitgtk-1.0-0 libwebkitgtk-1.0-common       libwebkitgtk-3.0-0 libwebkitgtk-3.0-common libwnck-3-0 libwnck-3-common       libwpd-0.9-9 libwpg-0.2-2 libwps-0.2-2 libwv-1.2-4 libx264-120       libxalan2-java libxcb-composite0 libxcb-util0 libxcb-xfixes0 libxvidcore4       libyajl2 libyelp0 libzvbi-common libzvbi0 mahjongg mono-4.0-gac       multiarch-support mutter-common packagekit packagekit-backend-aptcc       planner-data poppler-data printer-driver-hpcups printer-driver-hpijs       pulseaudio pulseaudio-esound-compat pulseaudio-module-x11 pulseaudio-utils       python-gi python-gi-cairo python-gobject-2 python-gpgme python-packagekit       python-pycurl python-reportlab python2.7 python2.7-minimal qdbus       quadrapassel rhythmbox-data rpcbind rtkit telepathy-logger tracker vinagre       wireless-regdb yelp-xsl zeitgeist-core zenity-common     The following packages will be upgraded:       alacarte apt aspell baobab brasero brasero-common cheese cheese-common       console-setup cpp-4.4 cups-pk-helper dbus debianutils dvd+rw-tools empathy       empathy-common eog epiphany-browser epiphany-browser-data       epiphany-extensions evince evince-common evolution evolution-common       evolution-data-server evolution-data-server-common evolution-exchange       evolution-plugins file-roller gcalctool gcc-4.4 gcc-4.4-base gcj-4.4-base       gcj-4.4-jre gcj-4.4-jre-headless gconf-defaults-service gconf2 gconf2-common       gdebi gdebi-core gdesklets gdm3 geany gedit gedit-common gedit-plugins gimp       gimp-data gnome-applets gnome-applets-data gnome-backgrounds gnome-bluetooth       gnome-control-center gnome-dictionary gnome-disk-utility gnome-games       gnome-games-data gnome-icon-theme gnome-keyring gnome-mag gnome-media       gnome-menus gnome-nettool gnome-panel gnome-panel-data gnome-power-manager       gnome-screensaver gnome-screenshot gnome-search-tool gnome-session       gnome-session-bin gnome-session-common gnome-settings-daemon       gnome-system-log gnome-system-monitor gnome-system-tools gnome-terminal       gnome-terminal-data gnome-user-guide gnome-user-share gnome-utils-common       gstreamer0.10-ffmpeg gstreamer0.10-plugins-bad gstreamer0.10-plugins-base       gstreamer0.10-plugins-good gstreamer0.10-plugins-ugly gtk2-engines-pixbuf       gucharmap gvfs gvfs-backends gvfs-bin hamster-applet hpijs hplip hplip-cups       hplip-data initscripts inkscape insserv krb5-multidev libacl1       libapache2-mod-python libasound2 libaspell15 libatk1.0-0 libatk1.0-data       libattr1 libbluetooth3 libburn4 libc-bin libc-dev-bin libc6 libc6-dev       libc6-i686 libcairo2 libcanberra0 libclutter-1.0-0 libcurl3-gnutls       libdjvulibre-text libdjvulibre21 libepc-common libevolution libexempi3       libgail-common libgail18 libgc1c2 libgcc1 libgcj10 libgcj10-awt libgconf2-4       libgdict-1.0-6 libgdu-gtk0 libgdu0 libgfortran3 libgimp2.0 libglib2.0-0       libglibmm-2.4-1c2a libgnome-keyring0 libgnome2-0 libgnome2-common       libgnomekbd-common libgnutls26 libgomp1 libgpg-error0 libgphoto2-2       libgphoto2-port0 libgssapi-krb5-2 libgssrpc4 libgstreamer-plugins-base0.10-0       libgstreamer0.10-0 libgtk2.0-0 libgtk2.0-bin libgtkmm-2.4-1c2a libhpmud0       libhyphen0 libisofs6 libjson-glib-1.0-0 libk5crypto3 libkate1 libkrb5-3       libkrb5-dev libkrb5support0 libltdl7 libmono-addins-gui0.2-cil       libmono-addins0.2-cil libmono-corlib2.0-cil libmono-sqlite2.0-cil       libmono-system-web2.0-cil libmono-system2.0-cil libmpfr4 liborc-0.4-0       libpam-gnome-keyring libpango1.0-0 libpangomm-1.4-1 libpcre3 libpixman-1-0       libpolkit-agent-1-0 libpolkit-backend-1-0 libpolkit-gobject-1-0       libpulse-mainloop-glib0 libpulse0 libqt4-dbus libqt4-designer libqt4-network       libqt4-opengl libqt4-qt3support libqt4-script libqt4-sql libqt4-sql-mysql       libqt4-sql-sqlite libqt4-svg libqt4-webkit libqt4-xml libqt4-xmlpatterns       libqtcore4 libqtgui4 librdf0 librsvg2-2 librsvg2-common libsane-hpaio       libschroedinger-1.0-0 libsmbclient libsoup-gnome2.4-1 libsoup2.4-1       libstartup-notification0 libstdc++6 libtag1-vanilla libtag1c2a libtalloc2       libtdb1 libtelepathy-glib0 libtiff4 libtotem-plparser17 libupower-glib1       libvisual-0.4-0 libvisual-0.4-plugins libvlc5 libvte-common libvte9       libwbclient0 libwmf0.2-7 libxapian22 libxcb-keysyms1 libxfixes3       libxklavier16 linux-headers-2.6.32-5-common locales make metacity-common       mono-gac mono-runtime nautilus nautilus-data nautilus-dropbox       nautilus-sendto nautilus-sendto-empathy network-manager       network-manager-gnome nfs-common nfs-kernel-server notification-daemon nscd       pkg-config planner policykit-1 python python-apt python-brlapi python-cairo       python-compizconfig python-crypto python-cups python-dbus python-evolution       python-gconf python-gdbm python-glade2 python-gmenu python-gnome2       python-gnomedesktop python-gnomekeyring python-gobject python-gst0.10       python-gtk2 python-gtkglext1 python-gtksourceview2 python-httplib2       python-imaging python-libxml2 python-lxml python-markupsafe python-minimal       python-mysqldb python-notify python-numpy python-openssl       python-pkg-resources python-pygame python-pyorbit python-pysqlite2       python-rdflib python-software-properties python-support python-tagpy       python-twisted-bin python-twisted-conch python-twisted-core       python-twisted-web python-vte python-webkit python-wnck python-xapian       python-zope.interface qt4-qtconfig rhythmbox rhythmbox-plugin-cdrecorder       rhythmbox-plugins rsyslog samba samba-common seahorse smbclient sound-juicer       swat tomboy totem totem-common totem-mozilla totem-plugins uno-libs3       update-manager-core update-manager-gnome update-notifier       update-notifier-common ure vino vlc vlc-data vlc-nox vlc-plugin-notify       vlc-plugin-pulse winbind wpasupplicant yelp zenity zlib1g zlib1g-dev     327 upgraded, 363 newly installed, 58 to remove and 1116 not upgraded.     Need to get 627 MB of archives.     After this operation, 84.4 MB disk space will be freed.     Do you want to continue [Y/n]? n      I'm not sure it's good idea to install all of this. Why is it doing so much to my system just to update one text editor?


Is xinetd still the best method to let non root daemons listen on privileged ports?

When I need to use SNMP monitoring for java applications, there is the need to that application (usually ran as daemon user) to listen on snmp port. If there is no other alternative, of course I can use another port, say 11161. But I can use XInetd to redirect port 161 to 11161. My question is: is this the best method? Is iptables port redirection better?


changing pattern of a text file

A text file has contents something like               chair     table     pen     desk      Now i want it to be changed and stored in a variable say `var` as below **('chair','chair'),('table','table'),('pen','pen'),('desk','desk')** is it possible? **EDIT** Jofel's anser gave following error               $ sed ':a;N;$!ba;s/\n/,/g;s/\w*/(''&'',''&'')/g' -i csclm.txt     sed: The label :a;N;$!ba;s/\n/,/g;s/\w*/(&,&)/g is greater than eight characters.      I am using :               $ uname -a     HP-UX rcihp145 B.11.23 U 9000/800 3683851961 unlimited-user license


darkstat shown blocked traffic

I've installed Darkstat on a Qemu VM which is connected to a bridge interface on top of main server's interface ( eth0 ) In Darkstat report I can see many hosts in the same IP range of specified VMs are transferring packets with VM while I've blocked all of them in forward chain of Iptables, Any one familiar with this kind of issue? any advise on how can that packets bypassing the Iptables?


/etc/crontab edited via copy and paste, how to revert back?

I have made a mistake, I have edited /etc/crontab via copy and paste. And now those crontab entries are not working.               [root@process ~]# cat /etc/crontab     SHELL=/bin/bash     PATH=/sbin:/bin:/usr/sbin:/usr/bin     MAILTO=root     HOME=/          # run-parts     01 * * * * root run-parts /etc/cron.hourly     02 4 * * * root run-parts /etc/cron.daily     22 4 * * 0 root run-parts /etc/cron.weekly     42 4 1 * * root run-parts /etc/cron.monthly     */5 * * * * root php /var/www/vhosts/mydomain.com/subdomains/apn/httpdocs/sdkstatistics/callEveryFiveMinute.php 2>&1 /tmp/testlog.log      Later I studied, and found that I should not edit crontab via copy and paste. Rather I have to use **crontab -e** to add crontab. I have run the **crontab -l** command to show the current listing               [root@process ~]# crontab -l     7,17,27,37,47,57 *  *  *  * /usr/lib/plesk-9.0/postfix-poplockdb-clean     1,16,31,46  *   *   *   *   /usr/local/psa/admin/sbin/backupmng >/dev/null 2>&1      Here, my last entry ***/5 * * * * root php /var/www/vhosts/mydomain.com/subdomains/apn/httpdocs/sdkstatistics/callEveryFiveMinute.php 2> &1 /tmp/testlog.log** is not listed. Now can i revert back to my previous state? Or, better what should I do?


Does LVM increase the risk of data loss?

Let's say I have two identical disks, and I set one LVM logical volume on them (no mirroring). **Question:** What will happen when one of the disks fails?   1. I will lose all the data from all the disks   2. I will lose the data from broken disk, but I get data from still working one   3. something else (what) ? Thank you in advance for clarification. _From what I've read mentioning RAIDs in LVM articles indicates I will lose everything, on the other hand shrinking LV indicates something opposite._ ## Update Good read: http://www.redhat.com/magazine/009jul05/features/lvm2/ According to this article with linear mapping (default, it is my case) and no mirroring, in case of failure you should lose data only from broken disk. I hope it is true, and eventually I find out :-/


Automatically backup usb drive to computer

I am trying to create a personal sync system for my project. I don't want to use something like dropbox, bittorrent sync, owncloud etc for various reasons. At the moment, I have my computers setup to use encfs and git over a usb drive. Where I have a local unencrypted folder on each computer and the encrypted encfs files are on the usb drive. This seems to work fine. What I am worried about is when the usb drive fails. I basically want to automatically keep a backup of the encrypted files on each computer. How do I go about doing that? Ideally, create a backup of the encrypted files when the usb drive is connected, or every minute or hour while the usb drive is connected? If something better is possible, please let me know. Can I use something like rsync with a cron job to do this? What I don't need is the advanced features of rsync to create a time-line of backups. I just need a copy of the latest files on the usb drive.


Test if multiple variables are set

I'd like to make sure that at a certain point of a script, after `source`ing a configuration file, several variables are set and, if they are not, to stop execution, telling the user about the missing variable. I have tried               for var in $one $two $three ; do         ...      but if for example `$two` is not set, the loop is never executed for `$two`. The next thing I tried was               for var in one two three ; do         if [ -n ${!var} ] ; then             echo "$var is set to ${!var}"         else             echo "$var is not set"         fi     done      But if two is not set, I still get "two is set to" instead of "two is not set". How can I make sure that all required variables are set? **Update/Solution:** I know that there is a difference between "set" and "set, but empty". I now use (thanks to http://stackoverflow.com/a/16753536/3456281 and the answers to this question) the following:               if [ -n "${!var:-}" ] ; then      so, if `var` is set but empty, it is still considered invalid.


Roll-your-own GMail alternative

I'm quitting GMail but attempting to avoid the headaches that come with administering my own Internet-facing IMAP server. I have access to a commercial IMAP account, and I'd like to continue to use that account. Basically the way I'd like it to work is that mail is downloaded to my server and deleted from my mailbox on the commercial IMAP server. Then once on my server it's served up via IMAP and webmail, so that it can be used on mobile + internet devices, and remains in sync across both. Things it must do:   * Be accessible from all devices   * Relatively fast searching   * Threaded viewing of message replies (preferably with my sent mails interspersed) Here's how I see it working:               Mail arrives at commercial IMAP server ->     On my server, fetchmail downloads via IMAP and delivers to ->     MDA/MTA, which updates a search cache for rapid searching and makes it available via IMAP to ->     Horde IMP, which caches the e-mails in the inbox for faster previewing      **The Question** I'm looking for an MDA/MTA pair that can be delivered to by fetchmail, emphasizes security, and supports search cacheing on this scale (so when I search the inbox in IMP it doesn't take forever). My plan is to be GMail-like in that I'll likely not put things in folders but leave everything in the Inbox and search it when I need to find anything. Any other thoughts on the sanity/insanity of this welcome, but my main concern is the MDA/MTA.


How can I avoid "Run fsck manually" messages while allowing experimenting with system time changes?

I'm working with a system where we want to allow users to play around with the date and time if they want, and where reboots may happen arbitrarily. This is fine, except for one thing: if there's a large time jump backwards, the following error appears on reboot:               Checking filesystems     IMAGE2: Superblock last mount time (Tue Mar  1 17:32:48 2011,             now = Thu Feb 24 17:34:29 2011) is in the future.          IMAGE2: UNEXPECTED INCONSISTENCY; RUN fsck MANUALLY.             (i.e., without -a or -p options)          *** An error occurred during the file system check.     *** Dropping you to a shell; the system will reboot     *** when you leave the shell.      …and then the boot hangs waiting for user console input, and even once console access is gained, requires a root password to continue. This is decidedly less than ideal. Is there any way to either skip the check or force the check to happen automatically on reboot? Google has only provided help that requires running fsck manually if/when this is hit, which is not what I'm after. Running fsck manually after setting the time doesn't work as the filesystem is still mounted at that point, and just disabling fsck entirely is less than ideal. I'm using RedHat 6. **Update** : The solution I'm currently going with is to hack fstab to disable fsck checking on reboot. I'd tried editing the last mount time on the disks using `debugfs`, which works fine for ext3 drives, but appears to fail inconsistently on ext4.


What package could "linux-headers-3.7.5-1-ARCH" mean?

I'm debugging a closed-source software installer that seems to have some pre- conceived notions about my distribution. The installation aborts after not finding `apt-get`. The command it attempts to run is:               apt-get -y -q install linux-headers-3.7.5-1-ARCH      I suppose the "package name" comes from `/usr/src`, where the sole entry is `linux-3.7.5-1-ARCH`. Does anyone have any educated guess as to which package I should install with pacman? The headers are probably going to be used to compile drivers for custom hardware. Here is some relevant text from the install log: > NOTE: Linux drivers must be built against the kernel sources for the kernel > that your Linux OS is currently running. This script automates this task for > you. > > NOTE: You must have the Linux OS kernel header source files installed. If > you plan on running the Jungo Debug Monitor, then you may also need to > install "compat-libstdc++" and "libpng3". > > Your Linux is currently running the following kernel version:   >  3.7.5-1-ARCH


How to set up screen resolution permanently

I just installed Fedora 19 on a VirtualBox and when I started it for the first time it only allowed the screen resolution 1024x768 After some research I managed to install the guest additions and I got a few more screen sizes but as none of them matched my screen I did some further research and found this question which showed me how to set the screen. But now I have to do it manually every time I log in. And when I login after setting it manually I get these errors:               none of the selected modes were compatible with the possible modes:     Trying modes for CRTC 62     CRTC 62: trying mode 1024x768@60Hz with output at 1368x768@60Hz (pass 0)     CRTC 62: trying mode 1600x1200@60Hz with output at 1368x768@60Hz (pass 0)     CRTC 62: trying mode 1440x1050@60Hz with output at 1368x768@60Hz (pass 0)     CRTC 62: trying mode 1280x960@60Hz with output at 1368x768@60Hz (pass 0)     CRTC 62: trying mode 1024x768@60Hz with output at 1368x768@60Hz (pass 0)     CRTC 62: trying mode 800x600@60Hz with output at 1368x768@60Hz (pass 0)     CRTC 62: trying mode 640x480@60Hz with output at 1368x768@60Hz (pass 0)     CRTC 62: trying mode 1024x768@60Hz with output at 1368x768@60Hz (pass 1)     CRTC 62: trying mode 1600x1200@60Hz with output at 1368x768@60Hz (pass 1)     CRTC 62: trying mode 1440x1050@60Hz with output at 1368x768@60Hz (pass 1)     CRTC 62: trying mode 1280x960@60Hz with output at 1368x768@60Hz (pass 1)     CRTC 62: trying mode 1024x768@60Hz with output at 1368x768@60Hz (pass 1)     CRTC 62: trying mode 800x600@60Hz with output at 1368x768@60Hz (pass 1)     CRTC 62: trying mode 640x480@60Hz with output at 1368x768@60Hz (pass 1)      I understand that this configuration should be put in the X config file xorg.conf but I cannot find it anywhere on my system (tried /dev/X11 and /dev/X11/xorg.conf.d but there was nothing there. I also tried `Xorg -configure :0` But I get this error:               (EE)      Fatal server error:     (EE) Server is already active for display 0         If this server is no longer running, remove /tmp/.X0-lock         and start again.     (EE)      (EE)      Please consult the Fedora Project support           at http://wiki.x.org      for help.      (EE)       So I'm at a dead end and need some help.


How to add smb service to run level?

I want smb start with system. Do i have to place script that start smb in etc/rc.d/rc6.d/ or there is a way to make it listed in autostart services after `#chkconfig smb on` ? The question is why if i do as prescribed `#chkconfig smbd on` this help my for a few launches of system, and eventually samba daemon stops again?               # chkconfig --list          Note: This output shows SysV services only and does not include native           systemd services. SysV configuration data might be overridden by native           systemd configuration.          dund            0:off   1:off   2:off   3:off   4:off   5:off   6:off     livesys         0:off   1:off   2:off   3:on    4:on    5:on    6:off     livesys-late    0:off   1:off   2:off   3:on    4:on    5:on    6:off     netconsole      0:off   1:off   2:off   3:off   4:off   5:off   6:off     network         0:off   1:off   2:off   3:off   4:off   5:off   6:off     pand            0:off   1:off   2:off   3:off   4:off   5:off   6:off     rfcomm          0:off   1:off   2:off   3:off   4:off   5:off   6:off     spice-vdagentd  0:off   1:off   2:off   3:off   4:off   5:on    6:off       this output don't change despite of chkconfig --level 5 smb on I need every start do in terminal `#systemctl restart smb.service` to get samba work one more circumstance i get this strange output               # ps aux |grep smb     root       859  0.0  0.1  25328  3184 ?        Ss   15:18   0:00 /usr/sbin/smbd     root       863  0.0  0.0  25844  1244 ?        S    15:18   0:00 /usr/sbin/smbd      when samba share don't work and after samba manual restart i get this               # ps aux |grep smb     root      1729  0.0  0.1  25328  3184 ?        Ss   15:26   0:00 /usr/sbin/smbd     root      1731  0.0  0.0  25844  1244 ?        S    15:26   0:00 /usr/sbin/smbd     nobody    1732  0.0  0.1  25632  3072 ?        S    15:27   0:00 /usr/sbin/smbd      a bit more info on subject               #systemctl list-unit-files --type=service |grep smb     smb.service                                 enabled      # systemctl list-unit-files --type=service |grep avahi     avahi-daemon.service                        enabled      # systemctl list-unit-files --type=service |grep nmb     nmb.service                                 enabled     #chkconfig --version     chkconfig version 1.3.59      To avoid mannualy typing each restart samba daemon start commands i made a desktop launcher for lxde fedora enviroment in ~/Desktop               [Desktop Entry]     Encoding=UTF-8     Type=Application     Name=mc     Name[en_US]=setsmb     Icon=share_32     Exec=/usr/bin/lxterminal -e "su root -c 'systemctl restart smb.service && systemctl restart nmb.service'"      I hope this help situation out as a crutch-solution for people in trouble with samba


Amount of memory transfer on a running Linux

Can I determinate the amount of RAM exchange (between the CPU and the RAM) on a running Linux system? I'm not looking for the max RAM speed (then memtest would be valid answer). I'm looking for the amount of megabytes of RAM that is read/written by the processor (without swapping). Is there a utility or a /{proc,sys} entry on Linux for this?


dhclient exits with status 0 but still no address

I've been trying to find out with the man page and some other sources if the exit status doesn't necessarily mean you achieved an address but I'm thinking I maybe didn't read it correctly. Does anyone know why dhclient would still exit with status 0 if it doesn't think I'm connected to a network? RHEL 6 seems to have some serious network issues. Mostly I'm just confused as to whether or not I'm reading what the exit status is supposed to mean here. I run 'dhclient eth0' Nothing returns in stdout. Yes where I am plugging in has DHCP set up correctly. I should mention that if I pop in Fedora 13 live disc and drop to bash I can do the exact same steps and get on the network just fine. The _only_ difference being that I used Fedora 13 rather than RHEL 6 disc.


DNS not resolving using IP rule for dialup modem

I am running Ubuntu 12.04. I have a HSDPA USB Modem, with which I can successfully dial in. It works fine as well when I set the default gateway (remote IP address) in the main routing table. But I would like to use this modem in parallel to my WLAN, which will be the main interface, and therefore occupy the default gateway in the main table. I want to send packets through the modem only from sockets on the local IP address assigned by dialing. Thus I introduced a new rule in the IP rule table `from x.x.x.x lookup table 1`, where I used the local IP address. Then in the table I simply added the `default via x.x.x.x dev ppp0` where I used the remote IP address provided by the dialing process. Now, if I turn of my WLAN and remove the default rule in the main table, I cannot resolve any host. I can however use `traceroute` to trace a path to the primary DNS server (Address also supplied by the dialing). If I add the default rule back to the main table, everything works fine again. So, I suspected that the IP from rule would do its job, but somehow somewhere packets are apparently dropping. Can anyone suggest or hint to a solution to my problem? **EDIT:** By adding the primary (and secondary if you like) nameserver to the ip rule list of to address, `from all to x.x.x.x lookup table 1`, I can actually retrieve host information, i.e. I can e.g. run `host google.com` successfully. But even by forcing ping to use the **ppp0** interface, `ping google.com -I ppp0`, I cannot reach it, **Network is unreachable**.


bootloader's messages and bootm.c

When I boot linux on zynq board, one of the line that I get is;               Starting kernel . . .      For debugging purpose I wanted to know where in the source code these lines are written, I would change them and then add printf/printk statements at various points to debug my linux kernel. I found that in the bootm.c file it was indeed written. But I also found this 'fake' stuff here which I am uanble to understand.               /**      * announce_and_cleanup() - Print message and prepare for kernel boot      *      * @fake: non-zero to do everything except actually boot      */     static void announce_and_cleanup(int fake)     {             printf("\n Starting kernel ...%s\n\n", fake ?                     "(fake run for tracing)" : "");             bootstage_mark_name(BOOTSTAGE_ID_BOOTM_HANDOFF, "start_kernel");     #ifdef CONFIG_BOOTSTAGE_FDT                if (flag == BOOTM_STATE_OS_FAKE_GO)                     bootstage_fdt_add_report();     #endif     #ifdef CONFIG_BOOTSTAGE_REPORT             bootstage_report();     #endif      the complete file is available here also What exactly is this 'fake' stuf and why do we need it?


How to find out from the logs what caused system shutdown?

E.g. I'm seeing this in `/var/log/messages`:               Mar 01 23:12:34 hostname shutdown: shutting down for system halt      Is there a way to find out what caused the shutdown? E.g. was it run from console, or someone hit power button, etc.?


Lost connectivity after iptables change

I attempted to add a couple web ports to iptables and in doing so lost the ability to resolve any external address. I have a working SSH session open and can get to the box easily if needed. Here's the current iptables config: [user@boxen]# iptables --line-numbers -n -L               Chain INPUT (policy ACCEPT)     num  target     prot opt source               destination              1    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           multiport dports 80,443 /* 100 allow http and https access */ state NEW      2    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           multiport ports 22 /* 100 ssh 22 */      3    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0                4    REJECT     all  --  0.0.0.0/0            0.0.0.0/0           reject-with icmp-host-prohibited           Chain FORWARD (policy ACCEPT)     num  target     prot opt source               destination                   Chain OUTPUT (policy ACCEPT)     num  target     prot opt source               destination               and cat /etc/sysconfig/iptables               *filter     :INPUT ACCEPT [0:0]     :FORWARD ACCEPT [0:0]     :OUTPUT ACCEPT [1:196]     -A INPUT -p tcp -m multiport --dports 80,443 -m comment --comment "100 allow http and https access" -m state --state NEW -j ACCEPT      -A INPUT -p tcp -m multiport --ports 22 -m comment --comment "100 ssh 22" -j ACCEPT      -A INPUT -i lo -j ACCEPT      -A INPUT -j REJECT --reject-with icmp-host-prohibited      COMMIT     # Completed on Wed Sep 25 14:20:02 2013      I can't ping the gateway or anything else. I am able to ping the gateway on another box in the same rack. I was able to ping gateway prior to my botched iptables update. What's wrong with this config?


Selective recursive move?

Is there a command like               mv --preserve-structure src src/1 src/2/3 dst      which creates `dst/1` and `dst/2/3`? It should work similar to `mv src/* dst`, but move only the subtrees listed.


ACPI Errors/Exeptions, why they spam, how to know and fix it?

I've been having these errors pollute my dmesg:               [21720.400079] ACPI Error: [\_TZ_.THRM] Namespace lookup failure, AE_NOT_FOUND (20130328/psargs-359)     [21720.400093] ACPI Error: Method parse/execution failed [\_GPE._L1C] (Node f584ec80), AE_NOT_FOUND (20130328/psparse-537)     [21720.400112] ACPI Exception: AE_NOT_FOUND, while evaluating GPE method [_L1C] (20130328/evgpe-580)     [21960.800116] ACPI Error: [\_TZ_.THRM] Namespace lookup failure, AE_NOT_FOUND (20130328/psargs-359)     [21960.800130] ACPI Error: Method parse/execution failed [\_GPE._L1C] (Node f584ec80), AE_NOT_FOUND (20130328/psparse-537)     [21960.800149] ACPI Exception: AE_NOT_FOUND, while evaluating GPE method [_L1C] (20130328/evgpe-580)      This happens infinitely. I tried each keyword and haven't found anything remotely relevant. This happens in each distribution I try. How do I diagnostic the origins of the message? Appart from polluting the message ring, I haven't found any other problem related to this.


Setting a Multi-Terminal Linux Server

So Im a complete newb when it comes to enterprise level linux distros, and linux servers in general. I know my way around Most Linux Desktops, but Im going to be setting up a small Linux Server that multiple people would be able to Terminal into (probably through SSH or Putty) How would I go about doing this (storing the users/passwords and such)....And is there a good FREE distro to do this? I was looking at Ubuntu Server, I was gonna do Centos but im a little bit iffy as their latest release is taking a LONGGG time. (We use Red Hat Enterprise 5.3 at work....but obviously I can't afford that lol) Thanks all. edit: Also how do you make like "names" for the server, so instead of 164.25.252.35 (or w/e ip, i just made that one up) it could be something like tron.dev.sauron.com or something.... (ya im a NUB)


Change file creation time on a FAT filesystem

I need a way to change the **creation time** of a file on a mounted FAT32 volume. I have to do that because my MP3 player will only read files sorted by this creation time. If I can find a way to set the file creation time (like `touch` can do with modification / access time) of a file, a trivial script will allow MP3 files to be read in the right order (as expected, alphabetically). But I've yet to find a solution, and my searches have been in vain. I hope you guys can help me !


mpd+ncmpcpp no lyrics

I was using an old version of ncmpcpp when suddenly it became unable to fetch lyrics anymore. I read on forums that the newer version fixed that bug. So I updated it but it still doesn't work... The following is the result of `ncmpcpp -v`               ncmpcpp version: 0.5.10          optional screens compiled-in:      - artist info          encoding detection: enabled     built with support for: curl iconv ncurses unicode      If anyone has a solution, please help me to make it work. I really like `mpd+ncmpcpp` but I also like to read the lyrics of songs I listen to...


Throttling web crawlers

My website is being DoS'ed by Google webspiders. Google is welcome to index my site, but sometimes it is querying a tagcloud on my site faster than my webserver can produce the results, making my webserver run out of resources. How can I limit access to my webserver in such a way that normal visitors are not affected? robots.txt is no option because it would block the whole site from being indexed. `iptables -m recent` is tricky, because some pages have a lot of images or other data files and 'recent' triggers on those too (typically my RSS aggregator, loading images and feeds). `iptables -m limit` has the same disadvantage and on top of that, I wasn't able to be selective per IP source address. How can I limit visitors that cause my server load to rise too high? I am running apache2 on Ubuntu server in a VirtualBox VM.


Kernel /proc ipv6 settings precedence

I'm about to connect our network to the IPv6 Internet and need to control the kernel ipv6 settings found under `/proc`. I know there are configurations for each interface, for `all` interfaces, and the `default` config. My question is: which settings win if the individual values contradict each other? While I was able to find good documentation on the individual settings, I don't know about setting precedence ... There is a related question concerning IPv4, but it mainly talks about the differences of `all`, `default` and the individual interfaces. From that I gather the concrete settings are always somehow logically combined. However, the fields most important to me (see the following examples) are not covered, and IPv6 seems to be implemented differently so that the referenced kernel source file in the referenced answer does not help my IPv6 issue and the following examples. A few examples:               cat /proc/sys/net/ipv6/conf/all/accept_ra     0     cat /proc/sys/net/ipv6/conf/eth1/accept_ra     1      Will eth1 accept router advertisements?               cat /proc/sys/net/ipv6/conf/all/forwarding     1     cat /proc/sys/net/ipv6/conf/eth1/forwarding     0     cat /proc/sys/net/ipv6/conf/eth1/accept_ra     1      Will eth1 accept router advertisements?               cat /proc/sys/net/ipv6/conf/all/disable_ipv6     1     cat /proc/sys/net/ipv6/conf/all/accept_ra     1     cat /proc/sys/net/ipv6/conf/eth1/disable_ipv6     0     cat /proc/sys/net/ipv6/conf/all/accept_ra     0      Will eth1 accept router advertisements?               cat /proc/sys/net/ipv6/conf/all/disable_ipv6     1     cat /proc/sys/net/ipv6/conf/all/fowarding     1     cat /proc/sys/net/ipv6/conf/eth1/disable_ipv6     0     cat /proc/sys/net/ipv6/conf/all/accept_ra     1      Will eth1 accept router advertisements?


Fontconfig default unavailable font selection, How is it defined in the XML configs? Couldn't locate in documentation

I've worked with Fontconfig previously, and understand how to do most of the common configurations. All my aliases work as expected, and I'm almost completely finished. I'm trying to set the default unavailable font selection, and couldn't find anything helpful in any documentation. Countless Google searches returned unrelated results. To clarify what I'm attempting to configure, how can I specify which font is selected in this circumstance?               fc-match 'nonexistent font'


how can "several file nodes" be associated with a single inode?

I am trying to learn about iNodes and file permissions. I thought that there is one inode that holds the permissions for a single file. The OS pulls a single inode into memory to check permissions for and single file. The slides from this book for my computer security class say that this is indeed how it works. But they also say that "several file nodes may be associated with a single inode." This seems contradictory. Is the book wrong? Did I miss something? What's going on?


When would you use pivot_root over switch_root?

I'm wanting to understand the Linux init process better in order to netboot a system over ceph rather than nfs. In the process I've come across two forms of switching root. One called switch_root, and the other called pivot_root. These scripts being run from an in memory filesystem (initramfs) obtained via tftp using the pxe boot process. When would you use one over the other? I've seen both used in some init script's placed in root.


How to delete a library which is not visible for package manager?

Long time ago I've installed matplotlib which I need to remove. I did it from the source, so if I go to synaptic manager (I use ubuntu) then I don't see matplotlib installed. But I found `/usr/local/lib/python2.7/dist- packages/matplotlib`. My question is how to correctly delete this library?


Compare two cdroms

I would like to verified if two CD-ROMs (UDF) identical or not. One cdrom will be read at Windows and the other CD-ROM at Linux, where the CD- ROMs can be with different burning programs. This means that they can be padded with different amount of zeros at the end of the CD-ROMs. Until know, with ISO files, i used isosize and then with the help of dd and md5sum, a md5sum generated and compared between the two systems. This approach is not possible with UDF CD-ROMs, since isosize is only for ISO CD-ROMs.               dd if=/dev/cdrom bs=2048 count=`isosize -d 2048 /dev/cdrom`| md5sum      Any idea how to compute a md5sum of the CD-ROM without the padded zeros?


Why screen is not splitting my GNOME terminal?

I am working in a remote `Linux` box using `VNC`.I have a single terminal with lots of tabs opened in my system. How can I split them using the `screen` utility? Does the `screen` utility work with already opened tabs or do I need to close all existing tabs to try it out ? I have been through this answer but it is not working for me.I tried to open a new terminal using `ctrl``a` then `c` but it just doesn't do anything . I am using `Red Hat Linux` and `GNOME terminal 1.16.0`. I can see `screen` is there in my system as shown below:                [subhrcho@slc04lyo pcbpel]$ which screen      /usr/bin/screen      But I can't find `tmux`.               [subhrcho@slc04lyo pcbpel]$ which tmux     tmux: Command not found.      Here's the linux version :               [subhrcho@slc04lyo pcbpel]$ cat /etc/redhat-release     Red Hat Enterprise Linux Server release 5.8 (Tikanga)      **Edit1** : Even if I close all the tabs and open a single window as suggested by @Jander, and then type `ctrl``a` then `c` I am seeing the character `c` is just getting printed in the shell. Am I missing something obvious ? **Edit2** : Turns out that I never actually ran `screen` command (Thanks to @andcoz). Now I can see my terminal getting split into horizontal sections but not vertically .


Customize Emacs Ruby Mode for PuppetLabs conifguration

I predominantly use emacs for editing my Puppet configuration files. I use the following settings in my .emacs to load Ruby mode and use it for Puppet config files (`*.pp`):               (autoload 'ruby-mode "ruby-mode" "Major mode for editing ruby scripts." t)     (setq auto-mode-alist  (cons '(".rb$" . ruby-mode) auto-mode-alist))     (setq auto-mode-alist  (cons '(".pp$" . ruby-mode) auto-mode-alist))      This works well except for the the indentation of the 'ensure' directive in my puppet files. Because `ensure` is a reserved word in Ruby, it outdents it:               cron { logrotate:       command => "/usr/sbin/logrotate",       user => root,       hour => 2,     ensure => present       minute => 0,     }      How do I tell Emacs to not treat `ensure` specially in Puppet files?


How to see driver parameters?

Drivers often support various parameters. For example NIC driver `e1000` supports flow-control (`FlowControl`) or auto-negotiation (`AutoNeg`) parameters. Is there a way to see which parameters were passed to driver during loading? `modinfo` just displays all the possible parameters for driver, but I would like to see which parameters (and the value of those parameters) were passed to module. `dmesg` doesn't seem to provide this information as well. One place where I did find some information was under `/sys/module/`, but for example in case of `e1000`, only the `copybreak` parameter was listed in `/sys/module/e1000/parameters` while according to `modinfo` the `e1000` module supports more than dozen parameters.


grep with a lot of files which contains a lot of lines?

Imagine we have a lot of huge(30000 line)files: a.2014-05-06, a.2014-05-07, a.2014-05-08 and so on. I know that we can grep a line with word using this command:               grep "word" a.*      First I guess this will open every file and close it before opening the second file to search for the word? is this efficient, if not is there a way more efficient? Second How to determine the file which we find the word in? for example:   if a.2014-05-06 have:               a     bx     .     .      a.2014-05-07:               by     .     .      a.2014-05-08:               c     .     .      and we do the following:               grep "b" a.*      the output will be:               bx     by      I want output like this:               bx  a.2014-05-06     by  a.2014-05-07


print capital words in first column of file

I want my output :               VDD.     GND     AGNDSUB      VMEASPOS.     VMEASNEG     VREFEXT       File1 having following information :               Power and signal      VDD Digital Power This pin provides power supply connection for the digital     blocks.     GND Digital Ground This pin provides ground connection for the digital blocks.     AGNDSUB Ground This pin provides substrate connection.     VMEASPOS Digital Power Voltage to be measured.     VMEASNEG Ground Ground for the voltage to be measured.     VREFEXT Digital Power Reference voltage input of 1.024V %for VSENS calibration.     operating voltage


Debian system with encrypted data that can be decrypted only from a remote server

This question is about the design of a service I want to setup. **Description** My purpose is to provide a client box which connects to a server and provides some features. The client box is a small computer like OLinuXino or Raspberry-Pi which would contain an embedded system with some files (information like security keys or executable files) I want to protect from being copied. Server is the centralized part of the service. Size of the protected files: from 1kB to 500kB. The client box will contain a Debian (wheezy) system which will be read-only and setup with tmpfs (as shown here). **How I want to secure it** This system will contain some configuration and executable files I want to keep hidden from curious eyes. So they will be strongly encrypted. As the client box will connect to the server and open a reverse ssh tunnel (from server to client), the server will have the ability to decrypt the files (with a key that is on server-side) after some verification. These files, once decrypted, will stay in client's RAM until shutdown of the client. This client box will be headless (no screen, no keyboard) and entirely automated, but I am not sure an user will not try to connect screen or keyboard to watch what is happening. So I would like to make the server checks that no keyboard nor screen is connected to the client. So it would call (remotely through an ssh call from server to client) some commands   1. to check the serial number, MAC address, some files checksum and other system specific information to verify that the client box was not compromised (nor the whole filesystem copied to another machine)   2. to detect if a keyboard was plugged and eventually block it.    3. to close all opened user sessions.   4. to block any new connection (keyboard, new session, devices)   5. to detect if a screen was plugged an block any output display. After this, the server would remotely decrypt the files in RAM. **My first question** : do you think this is a secure way to keep my files hidden ? Did I miss something ? **My second question** : for items 1, 2 and 3 of the above list, I am pretty sure I will find a way to do this. But for items 4 and 5, I am not sure. Would you have any suggestions ? Or do you think it is not possible at all ? Any advice (like "don't do this, it's silly" or "go, it will work") is welcome !


Can't wget from github, sslv3 handshake error

We have a script that downloads mod security from github that has recently started failing. The servers run CentOS 6 but RHEL 6 probably has the same issue. The output is:               # wget https://github.com/downloads/SpiderLabs/ModSecurity/modsecurity-apache_2.7.1.tar.gz     --2014-07-22 18:49:46--  https://github.com/downloads/SpiderLabs/ModSecurity/modsecurity-apache_2.7.1.tar.gz     Resolving github.com... 192.30.252.129     Connecting to github.com|192.30.252.129|:443... connected.     HTTP request sent, awaiting response... 302 Found     Location: https://cloud.github.com/downloads/SpiderLabs/ModSecurity/modsecurity-apache_2.7.1.tar.gz [following]     --2014-07-22 18:49:47--  https://cloud.github.com/downloads/SpiderLabs/ModSecurity/modsecurity-apache_2.7.1.tar.gz     Resolving cloud.github.com... 54.230.99.219, 205.251.219.190, 54.230.97.212, ...     Connecting to cloud.github.com|54.230.99.219|:443... connected.     OpenSSL: error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure     Unable to establish SSL connection.      Any ideas on how to fix or work around this?


Does tar actually compress files, or just group them together?

I usually assumed that `tar` was a compression utility, but I am unsure, does it actually compress files, or is it just like an ISO file, a file to hold files?


How to make wc interpret standard in as a file list

I know that there are other ways to go about this, but I'm looking to be able to make `wc` interpret stdin as a file name or list of file names. For example,               ls JP*/std* | wc      would work the same as               wc JP*/std*      I am guessing it isn't possible to adjust this behavior, but I'm working on a script where this'd make my life a lot easier. Thanks.


bash script select menu

I've many notes gleaned from the web and have written bash scripts to manage them. I've some scripts working that depend on `select` to make menus. Question: in a nested menu context, is it possible to revert to a preceding menu within the script ? I've a strong feeling that this may not be possible but am posting this in the hope there may be a way. To explain what I mean: say the user makes a choice against menu-1 which then determines what shows up in menu-2 which follows. If the user selects "done" in menu-2, is there a loop device to bring the user back to menu-1 ? The script below contains 3 selects - I'd like to be able to revert from the 3rd one back to the 2nd:               curd=($(ls)); # array          select dirup in ${curd[@]} done           do               cd $dirup;         ar=($(ls | awk -F"." '{ print $1 }' | awk -F"-" '{ for(i=2; i<=NF; i++) print $i }' | sort | uniq));                select choice in ${ar[@]} done # select list         do              echo "you selected: $choice"             [[ $choice == "done" ]] && exit              ar=($( find . -type f -maxdepth 1 -name "*$choice*" ));             ((cnt=${#ar[@]}+1))             select ntit in ${ar[@]} done                 do                      echo "choice is:[ $REPLY ]"                     for i in $REPLY; # $REPLAY contains numbers                         do                           if [ $i -lt $cnt ]                             then                                  ((var=$i-1));                                  open ${ar[$var]};                              else                                  exit                           fi                         done                      done                done          done


When using btrfs, why "Size", "Used" and "Avail" values from df do not match?

I have a btrfs partition. When I run `df -h`, it shows:               Filesystem      Size  Used Avail Use% Mounted on     /dev/sda2       113G  101G  8.3G  93% /home      From Why is that? Is it because reserved space for root as wth ext2/3/4? Or is it something else? If the former, how can I change it and reclaim those 4GB ? As per btrfs wiki, I know that metadata are stored twice which inflates the size of "Used" data:               user@machine:~$ df -h /     Filesystem            Size  Used Avail Use% Mounted on     /dev/sda1             894G  311G  583G  35% /                                 ^^^^     user@machine:~$ btrfs fi df /     Metadata: total=18.00GB, >>used=6.10GB<<  *2=  12.20GB     Data: total=358.00GB, >>used=298.37GB<<   *1= 298.37GB     System: total=12.00MB, >>used=40.00KB<<   *1=   0.00GB                                                == 310.57GB                                                 ~~ 311   GB      But this still does not explain why Used + Avail < Size.


Build a "live USB stick" image without actually using a stick

We're trying to build a customized installation stick for putting linux on our embedded product. We're wanting to build it from scratch every time -- that is, pull RPMs out of a (local) repository. All of the mechanisms we've used to date require us to have a physical USB stick in the build system at build time. For a variety of reasons, this is painful. What we'd really like to do is build an image (i.e., a file) that can later be copied to a physical device (e.g., a la _dd_ to a USB stick). We've toyed with using a virtual machine (Virtual Box) to spoof things, but haven't been able to figure out how to make a virtual USB stick appear there. What's a good way to create an image of the stick without the stick? It's acceptable that as a "finishing touch", some magic sectors have to be tickled -- that's something that can be quickly done at stick-population time. But waiting for a complete system generation is way too long for our scenario. [If it matters, we're using FC 7 as our base -- it's stable and, more importantly, our drivers all work with that kernel]


Find files in multiple folder names

I am trying to list all the files from `dir1`, `dir2`, `dir3` and `dir4` which might be anywhere in as a sub directory of my `cwd` using the `find` command. I tried the following with no success:               find . -type f -regextype posix-egrep -regex 'dir1/.+|dir2/.+|dir3/.+|dir4/.+'      I tried `posix-extended` as well. How can I list these files?


VirtualBox Package to DL for Linux Mint

I am trying to decide which edition of VirtualBox to download. I am currently running **Linux Mint 16 Petra MATE** and am wanting to install Windows 8.1 to a VM to use Visual Studio for some of my course projects...I would rather not dual-boot, I just left dual-boot with a bad experience as my Windows partition ended up with a nasty rundll32.exe virus infection. When I go to the Downloads section of VirtualBox's homepage, there isn't a specific package that is for Linux Mint. Was hoping someone can tell me what version of VirtualBox they're running on Linux Mint?


How do I give global access to a file in a private folder?

For example, I want all the files in `/home/trusktr/Downloads/` to remain hidden from other users, except for one. I tried `chmod 777 /home/trusktr/Downloads/someFile.avi` but someFile.avi is still invisible to other users. How do I make only someFile.avi visible to all users? RELEVANT INFO PERHAPS:               ┌─[21:48:25/starlancer/trusktr/~]     └─╼ ls -ld /home/trusktr     drwx------ 80 trusktr users 4096 Jan  9 21:29 /home/trusktr/          ┌─[21:48:34/starlancer/trusktr/~]     └─╼ ls -ld /home/trusktr/Downloads     drwxr-xr-x 8 trusktr users 4096 Jan  9 20:57 /home/trusktr/Downloads/          ┌─[21:48:43/starlancer/trusktr/~]     └─╼ ls -l /home/trusktr/Downloads/someFile.avi      -rwxrwxrwx 1 trusktr users 2575522316 Jan  9 20:40 /home/trusktr/Downloads/someFile.avi*


Passing custom variable from conky to lua

I am trying to use this rings script to make nice rings appear on my desktop. It allows for customization, addition of more rings, or so it says. How do I feed the output of my python script to these rings?


glibc does not upgrade on Gentoo Linux because of old SSP __guard symbols

When I'm doing `emerge -avuDN glibc` always getting this:               >>> Emerging (1 of 28) sys-libs/glibc-2.15-r3     * glibc-2.15.tar.xz SHA256 SHA512 WHIRLPOOL size ;-) ...                                                                                [ ok ]     * glibc-ports-2.15.tar.xz SHA256 SHA512 WHIRLPOOL size ;-) ...                                                                                [ ok ]     * glibc-2.15-patches-23.tar.bz2 SHA256 SHA512 WHIRLPOOL size ;-) ...                                                                           [ ok ]     make -s glibc-test      make -s glibc-test      * Scanning system for __guard to see if you need to rebuild first ... ...                                                                      [ !! ]     * Your system still has old SSP __guard symbols.  You need to     * rebuild all the packages that provide these files first:     * //bin/busybox     * //sbin/lvm.static     * //sbin/dmsetup.static     * //sbin/dmeventd.static     * //usr/bin/diet     * //usr/bin/dnsd     * //usr/bin/elftrunc     * //usr/sbin/vdu     * //usr/sbin/vps     * //usr/sbin/vtag     * //usr/sbin/nattribute     * //usr/sbin/vattribute     * //usr/sbin/chxid     * //usr/sbin/lsxid     * //usr/sbin/showattr     * //usr/sbin/vkill     * //usr/sbin/vwait     * //usr/sbin/vcontext     * //usr/sbin/setattr     * //usr/sbin/ncontext     * //usr/sbin/exec-cd     * //usr/sbin/vmemctrl     * //usr/sbin/reducecap     * //usr/sbin/vdevmap     * //usr/sbin/vdlimit     * //usr/sbin/vlimit     * //usr/sbin/vsched     * //usr/sbin/vspace      * //usr/sbin/vuname     * //usr/sbin/vserver-info     * //usr/sbin/vserver-stat     * //usr/sbin/vrsetup     * //usr/sbin/naddress     * //usr/lib64/liblzma.so.0     * ERROR: sys-libs/glibc-2.15-r3 failed (setup phase):     *   old __guard detected     *      * Call stack:     *              ebuild.sh, line  93:  Called pkg_setup     *   glibc-2.15-r3.ebuild, line 175:  Called eblit-run 'pkg_setup'     *   glibc-2.15-r3.ebuild, line 161:  Called eblit-glibc-pkg_setup     *        pkg_setup.eblit, line 119:  Called die     * The specific snippet of code:     *               die "old __guard detected"     *      * If you need support, post the output of `emerge --info '=sys-libs/glibc-2.15-r3'`,     * the complete build log and the output of `emerge -pqv '=sys-libs/glibc-2.15-r3'`.     * The complete build log is located at '/var/tmp/portage/sys-libs/glibc-2.15---r3/temp/build.log'.     * The ebuild environment file is located at '/var/tmp/portage/sys-libs/glibc-2.15-r3/temp/die.env'.     * Working directory: '/var/tmp/portage/sys-libs/glibc-2.15-r3'     * S: '/var/tmp/portage/sys-libs/glibc-2.15-r3/work/glibc-2.15'


What is Bash's "Order of Operations" when parsing a command?

Given a command entered at a normal bash prompt, how does bash read that line once you hit enter? does it do variable substitution then command substitution? or does it do bash expansion first? or what? Given the command below, what does bash do start to finish?               for i in *.meow; do         cat <<WUTLOL        FILE ${PWD}/$i        WUTLOL        scp $i $(grab_server.sh kitten_blast{1..3}):      done


NFS mount edits on local NFS-exported filesystem change permissions on the remote NFS mount

I believe there is a `noperm` or something to that effect option in NFS, but how do I make sure that if server A is exporting `/opt/nfs` and it is mounted as an NFS mount on server b `/export/serverA` that local changes to files on server A `/opt/nfs` folder do not change ownership or permissions on the server B `/export/serverA` filesystem? Assume RHEL 6 for OS.


Debian/Ubuntu:How to compile a Linux kernel on one machine and use on other machines (same architecture)

Debian/Ubuntu: How to compile a Linux kernel on one machine and use on other machines (same architecture)? I know how to do it on the same machine. But to use a compiled kernel other machines, is tricky for me. For example, I have done `make` But how about `sudo make modules_install install` ? This will install things to my current machine. What is good practice to compile a kernel on a fast machine but use it on other slow/(or fast too) machines. Otherwise I have to compile, install it every time, which is time consuming. Note: On Ubuntu webpage, there are ways to do similar thing. But it is only good for Ubuntu kernels. Not for upstream kernels.


Storage becomes unmanaged after Solaris and PowerPath upgrade

I have been performing an upgrade for a customer, using Solaris Live Upgrade to go from Solaris 10 update 2 to Solaris 10 update 10 and at the same time upgrade EMC powerpath from [an old version] to version 5.5 I am by no means a powerpath expert, but I am well aware of the issues with upgrading only the one without the other. The process I followed is:   1. Live-upgrade Solaris   2. Remove (pkgrm) powerpath from the ABE   3. Comment out the powerpath dependent file systems in the ABE   4. LUactivate and reboot   5. Install PowerPath 5.5 P 01 B 2 The install finds the left-over power-path config and asks whether I want to upgrade it. On some of the 5 servers, the old version is PowerPath version 5.2, on others it was still running 4.5, but the result is the same for all of them. At the end of the pkgadd it tells me the driver was successfully installed (it was) and tells me that no reboot is needed. However when I run powercf or powermt display I get an error stating `Device(s) not found` Rebooting did not help. cfgadm looks as expected (Sorry I did not save the output), devfsadm -Cv did not create or remove any device links. The HBAs were linking (confirmed by `luxadm -e probe` as well as `fcinfo hba-port`) `format` showed only the Solaris native links to the LUNs, with half of them in error state as expected due to them seen via both the avtive and passive path. mpathadm is not active. After googling around I found a suggestion to look at the output of `powermt display options` to confirm that clariion management is enabled, and found that is says "unmanaged"... All other storage classes showed as "managed" I then ran `powermt manage class=clariion` which returned an error stating `incompatible initiator information received from the array` Despite this error I then got the emcpower devices and could see everything looking normal in `powermt display dev=all`. For good measure I followed this by `powercf -q; powermt config; powermt save` I then un-commented the entries in /etc/vfstab and rebooted to make sure all was ok. I then ended up with a system in single-suer mode with filesystems/local in maintenance. I discovered with a lot of testing that I had to redo the `powermt manage class=clarion` procedure after every reboot. For now I have reverted to the old pre-upgrade ABE. Everything is still working perfectly when I moved back to the old versions of Solaris and PowerPath.


What is the difference between echo `date`, echo "`date`", and echo '`date`'?

What is the difference between these three commands?               echo `date`     echo "`date`"     echo '`date`'      I am confused on what the differences actually are. I think that when the ' are around it means that it is a string, therefore echo would literally output the string `date` instead of displaying the date?


How can I PGP decrypt an entire mbox?

Thunderbird cannot search PGP-encrypted emails. Hence, I was considering copying all my emails from IMAP to local storage, then decrypting them all locally, so that they are searchable. Is this possible? Thunderbird stores email folders as a single mbox file. I attempted `gpg -d mbox_file`, but this only decrypted a single email, and then failed with an error as follows.               gpg: [don't know]: invalid packet (ctb=46)     gpg: decryption failed: Bad signature     gpg: packet(3) too short      N.B. the mbox also contains non-encrypted email. I could perhaps filter these out from within Thunderbird, but the solution would preferably deal with this elegantly.


lftp exclude syntax confusion

I am confused with the syntax description given for lftp from their website:               -x RX,   --exclude=RX              exclude matching files     -X GP,   --exclude-glob=GP         exclude matching files      How exactly do I exclude certain files during mirroring ??               --exclude filea --exclude fileb --exclude filec     --exclude filea fileb filec     --exclude ./filea ./fileb filec      I have also googled it and cannot find any examples of exclude statements ?!


What do the terms used in Geany's color schemes mean?

I guess this is not a true Unix & Linux but I'm taking my chance! I'm using Geany 1.23.1 on Lubuntu 13.10. I've downloaded additional color schemes from https://github.com/kugel-/geany- themes and placed them in `~/.config/geany/colorschemes` as specified by the installation instructions. I've compared the various color schemes and am in the process of making my own but I'd appreciate help in understanding the terms used in the colorscheme file. For example, here's a part of one color scheme, `gedit.conf`:               # Programming languages     #-------------------------------------------------------------------------------          comment=#00f     comment_doc=comment     comment_line=comment     comment_line_doc=comment_doc     comment_doc_keyword=comment_doc,bold     comment_doc_keyword_error=comment_doc,italic          number=#f0f     number_1=number     number_2=#a52a2a;;true          type=#2e8b57;;true     class=number     function=default     parameter=function          keyword=number_2     keyword_1=keyword     keyword_2=keyword_1     keyword_3=keyword_1     keyword_4=keyword_1          identifier=default     identifier_1=identifier     identifier_2=identifier_1     identifier_3=identifier_1     identifier_4=#008a8c          string=number     string_1=string     string_2=string_1     string_3=;;true;false     string_4=;;false;true     string_eol=string_1,italic      By trial and error, I figured out what some of them do. I replace the right- hand part of each line with a unique color and see where that color appears up in a variety of different filetypes. Filetypes I looked at include `gtkrc`, `.mkd`, `.css`, `.xml,`.html`,`.js`,`.py`,`.rc`,`.sh`, and`.svg`. But my question is this: is there any technical resource to explain when, for example, `identifier` would be used as instead of `identifier_1`, or `identifier_2`, or `identifier_3`, or `identifier_4`. I looked at file:///usr/share/doc/geany/html/index.html and at `man geany` and `info geany` but couldn't find the information I'm looking for.


DNS cache for wget

I want wget to use a global DNS cache, not just in memory for the current instance. The wget manual mentions > `\--no-dns-cache`   >  Turn off caching of DNS lookups. Normally, Wget remembers the IP addresses > it looked up from DNS so it doesn't have to repeatedly contact the DNS > server for the same (typically small) set of hosts it retrieves from. This > cache exists in memory only; a new Wget run will contact DNS again. So I need a cache mechanism for wget. What do you recommend?


Where Do I get Source package for Perf tool

I am looking for source package of perf tool ,which I wanted to compile for ARM Linux ,I have already set up the cross compile tool chain. I have compiled the the oprofile and got it source(Oprofile-0.9.8.tar.bz2) from sourceforge.net. Can anyone point me to perf tool source ??


Where are Python dist-packages stored in FreeBSD?

I am trying to find this path on FreeBSD but it is not working: `/usr/local/lib/python2.7/dist-packages` This same path is working on Ubuntu. Can please some tell me where I can find Python dist-packages? Actually, I am trying to find the Django folder.


Can ping Debian VM via IP but not via hostname

On my work's network, my new debian headless VM is not visible via its hostname. I'm using: Debian Jessie Virtualbox bridged adapter I can see other VMs on my machine from the headless VM, and I can see other machines on the network from the headless VM (that is, `ping machine` works for both cases). I can also ping the host machine. I tried installing acahi-daemon and avahi-discover, as per this thread with no success. Additionally, I edited dhclient.conf to have the line `send host-name "Peridot";` (Peridot being the VM's hostname). Specifically, I'm hosting an instance of `haste-server` on the machine, which I can access via browser by the machine's IP but not by it's hostname (which is what I'd like). I cannot ping it from any other machine on the network by name, but it can be reached via its IP. Any help appreciated


How do I convert my old PC to a data logging and presentation terminal?

Take an old PC (e.g. 1.8GHz P4 with 256MB RAM), install e.g. Ubuntu 10.04 LTS on it. Now go to your PIC or AVR based home project and hook up the thing. With only three connections and the onboard peripherals of every microcomputer, you now have a large screen and keyboard easily interfaced to the $5 gadget. Use minicom to read/write easily to the device. I would like to take this one step further. I need the data logged, plotted and analysed Essentially, I imagine the product of my search as a   1. **free and open** MatLab clone, adept at   2. **handling real-time data streams** , with intuitive interface to   3. **graphing one or several parameters at various time spans** (e.g. the temperature of 4 sensors over the last minute or week and the setpoint). **Basic control theory functions would be a significant plus** (e.g. max, min, overshoot, state-space model transformations, PID tuning, controller synthesis). What tools can I use here?


Is there a simple way of limiting the number of child processes that execute in parallel?

I have a bash script that kicks off multiple rsync processes in parallel. I'd like to limit the number of simultaneous child processes but not serialize the whole script. Here's a simplified version of the current script:               #!/bin/bash     (       flock -n 200 || exit 0       {         for f in $(ssh $1 ls /var/images/)         do           rsync … &         done         wait       } &> /var/log/my.log     ) 200>/var/lock/my.lockfile      I believe `xargs` with `\--max-procs` might be a solution but I can't figure out how to integrate that with my script. Can it be done like this, or is there a better way?


(g)vim - NerdTree and tagbar above each other left to edited file?

Any chance to get (g)vim displaying NerdTree and tagbar above each other left to edited file?               +-----------+-------------+     | nerd tree | edited file |     | contents  |             |     +-----------+             |     | tagbar    |             |     | contents  |             |     +-----------+-------------+      I'd like to have it done in `.vimrc` somehow. Up to now the relevant section in my `.vimrc` looks like this:               " NERDTree shortcut     :nmap \e :NERDTreeToggle<CR>     " tagbar settings     let g:tagbar_left=1     nnoremap <silent> <F9> :TagbarToggle<CR>      However when displayed, they're shown like this:               +----------+-----------+-------------+     | tagbar   | nerd tree | edited file |     | contents | contents  |             |     |          |           |             |     |          |           |             |     |          |           |             |     +----------+-----------+-------------+


Computers are restarting spontaneously and simultaneously, how do I find the cause?

I have two computers that spontaneously shut down and rebooted (this happened more than once), both are identical hardware and were installed from the same image (CentOS 5). They are controlling some equipment, and each shutdown is a significant annoyance and waste of money. The logs don't give any clue, I can only determine that it is not a clean restart, but behaves like a spontaneous loss of power. There is no entry at all that is typical for a controlled shutdown as initiated by `init 0` or `init 6`, just the entries typical for booting the computer. The computers also don't go out completely, but they boot again. I'm reasonably certain that it is not a human intervening, though I can't be absolutely certain. A power loss or fluctuation is also unlikely as the computers are the only equipment affected each time, and they are also in different parts of the building. There are no cronjobs executing at the time of the shutdowns. I'm now trying to find out if it is a hardware defect, or a software-initiated problem. But from what I know, a kernel panic should not restart the computer but leave the panic message on the screen. Which kind of software errors could cause the computer to spontaneously restart without leaving an entry in the logs about the shutdown? Where should I look to further isolate the problem?


Making XMonad redetect two monitors

I accidentally pressed Meta-Q and xmonad restarted. Now, it has mirrored the same thing on both of my monitors. How do I get it go back to treating them as two separate screens? Things I have tried:   * Pressing Meta-Q again   * Turning one of the monitors off and back on This has happened before, and logging out and back in again worked. But I don't want to do that every time I accidentally press Meta-Q. This has started happening since I started using dmenu_run to launch apps. Previously, Meta-Q would restart xmonad harmlessly (without going into mirrored mode).


Group within group file permissions

I tried finding this on here, but couldn't so sorry if it's a duplicate. Say I have 2 groups and a user: group1, group2, user1 with the following structure: group1 is a member of group 2, user1 is a member of group1 Now say I have the following files with relevant permissions               file1 root:group1 660     file2 root:group2 660      Now when I log into user1, I'm able to edit file1, but not edit file2. Short of adding user1 to group2, is there any way of doing this? or is there no way? I'm using Ubuntu btw.


awk,how to change the value of the file using parameter sets?

I am trying to reset my data using `awk`. I have a data of 54 columns where I want to change six of the column values using the following script.               #!/bin/bash -x     # optimal parameters     set BI2=0.02841513     set DS2=0.37837487     set WS2=0.85392380     set D22=1.00048351     set D32=0.63893676     set DSMAX2=28.15795517          # change the calibration parameter     awk '{if($1==2) {       $6 = "${BI2}"       $7 = "${DS2}"       $8 = "${DSMAX2}"       $9 = "${WS2}"       $25 = "${D22}"       $26 = "${D32}"}       print $0;}' soil_params > tmp     mv -f tmp soil_params      my data looks like:               999 0   123 65.183534   -147.655522 0.2 0.001   10  0.9 2   10.84   9.79    9.76    812.42  1546.28 1334.35 -999    -999    -999    18.579  68.139  26.914  548 0.1 0.3 0.192752    -0.8725 4   35.39   30.13   19.34   0.323   0.347   0.382   1160.4  1196.2  1208.9  2186.08 2253.52 2411.44 -9.8    0.582   0.489   0.443   0.396   0.4841  0.28    0.001   0.0005  383.7   0.1 0.1 0.1 1   16.733299   16.733299                                                2   1   124 65.183534   -147.639897 ${BI2}  ${DS2}  ${DSMAX2}   ${WS2}  2   10.84   9.79    9.77    812.51  1544.96 1331.78 -999    -999    -999    18.579  68.277  26.915  676 0.1 ${D22}  ${D32}  -0.529166   4   35.45   30.19   19.37   0.323   0.347   0.382   1160.3  1196.3  1208.8  2185.87 2253.63 2411.11 -9.8    0.582   0.49    0.443   0.396   0.4851  0.28    0.001   0.0005  400.8   0.1 0.1 0.1 1   16.32   16.32                                                             when I run the above script, it didn't change the value from the parameter set assigned rather it simple changes to the parameters as you can Would you please help me on this regards?


What is the Run prompt equivalency in Linux?

In Windows, there is the Run prompt, which you can access with Win+R key. ![run](http://i.stack.imgur.com/PEmpf.png) What is the equivalency to this in Linux? Is there even such a thing or is the Terminal the main prompt you would use in Linux for the type of tasks you normally use the Run prompt for in Windows? Here is a use case. I want to access `\\\192.168.0.103\` on my home network. On Windows, I can use the Run prompt for this. Like so: ![run2](http://i.stack.imgur.com/Pk0qF.png) Where do you type in UNC paths and how do you access them on Linux? What do I have to consider if the remote is a Windows based computer? Do I have to spend a day or two configuring things or will it just work out of the box? You know... SMB, Samba and all that.


What user should apache and PHP be running as? What permissions should /var/www files have?

I just spun up an Ubuntu 11.10 box and then ran `apt-get install apache2 php5` to install apache2 and PHP 5 on the box. Now it is functioning as a "web server" and it loads the "It Works!" page. Now I'm trying to tighten up security and I have the following questions about linux web servers:   1. Who should apache be running as?   2. What group(s) should this user be in?   3. What package(s) can make PHP (and Apache?) run as the owner of the files? (like on shared web hosts) Should I use these packages? Are they easy / feasible to maintain on a small system?   4. What should the default permissions be for files and folders being served out to the web with apache running as `www-data`? For apache/php running as the user? I have done the following things in examination of the default setup: ### File Structure When I `cd /` and do a `ls -al` listing of the contents, I see `/var`:               drwxr-xr-x 13 root root  4096 2012-02-04 20:47 var/      If I `cd` into `var` and do `ls -al` I see:               drwxr-xr-x  2 root root  4096 2012-02-04 20:47 www/      Finally, inside `/var/www` I see:               drwxr-xr-x  2 root root 4096 2012-02-04 20:47 ./     drwxr-xr-x 13 root root 4096 2012-02-04 20:47 ../     -rw-r--r--  1 root root  177 2012-02-04 20:47 index.html      My key takeaway is that so far all of these files belong to `root:root`, files have permissions of 644, and directories have permissions of 755. ### Apache's Permissions If I create a file as root in `/var/www/test.php` with the contents:               <?php echo shell_exec('whoami');      and load that file into a browser it tells me `www-data`, which is the same as in the `/etc/apache2/envvars` file:               export APACHE_RUN_USER=www-data     export APACHE_RUN_GROUP=www-data      If I do `ps aux | grep -i apache` I see the following:               root      1916  1.2 104664  7488 Ss   20:47 /usr/sbin/apache2 -k start     www-data  1920  0.8 105144  5436 S    20:47 /usr/sbin/apache2 -k start     www-data  1921  1.0 105144  6312 S    20:47 /usr/sbin/apache2 -k start     www-data  1922  0.7 104688  4624 S    20:47 /usr/sbin/apache2 -k start     www-data  1923  0.7 104688  4624 S    20:47 /usr/sbin/apache2 -k start     www-data  1924  0.7 104688  4624 S    20:47 /usr/sbin/apache2 -k start     www-data  1925  0.7 104688  4624 S    20:47 /usr/sbin/apache2 -k start      So who is apache running as? It looks like perhaps the first process is as `root`, maybe from the `/etc/init.d/apache` script when the system started, and the other ones as `www-data` spawned from the first. Is that correct? Next, if I type in `groups www-data` then I see `www-data : www-data` - so it looks to only be in the `www-data` group. I'm guessing this is standard practice as well. ### Shared Hosting and Security So if I understand things correctly, if apache is running as `www-data` and I want apache to be able to read a directory, the `x` bit needs to be set for the world (other) group (`o+x`), and that also needs to be set on all parent directories all the way up the chain (`www`, `var`). And if I want apache to be able to read from a file, then the `o+r` bit needs to be set. Unfortunately I believe this introduces a security hole for multiple applications and/or multiple users on the same linux box: All web files need to be world-readable, and so they are also accessible by other applications and other users on the system. If one application installed on the system had a security vulnerability that allowed raw, unvalidated user input, which was then executed by PHP, a remote attacker could then browse all the other files on the web system which were world readable. Likewise, if the box had multiple users, and a user knew the path of another user's web files, s/he could then read the file contents (and see sensitive things like database connection strings, etc). I've heard of two packages, `suphp` and `phpsuexec` that deal with allowing users' files to be served out "as them" on a shared system. One of the niceties of this is that it allows web applications (like Wordpress) to create and modify files - very helpful for adding themes, plugins, and upgrading software. Of course it is probably more secure to do these things manually, but can a compromise be made perhaps with one of the packages mentioned above? Or by possibly using `chown` to make the wordpress directory group belong to `www-data` and set the sticky bit on the group (`g+s`)? I have only used these as the end user of a web hosting company, and so I don't know the ins-and-outs of them, and if they are even reasonable to install on a small system, or if there are some other security measures I should use instead, but I thought I would mention them here as they seem like one possible way to address some of my concerns. ### Back to the Questions   1. Who should apache be running as?   2. What group(s) should this user be in?   3. What package(s) can make PHP (and Apache?) run as the owner of the files? (like on shared web hosts) Should I use these packages? Are they easy / feasible to maintain on a small system?   4. What should the default permissions be for files and folders being served out to the web with apache running as `www-data`? For apache/php running as the user?