• Support: PRIME: is it supported? no

    What happens if you see the error message “PRIME: is it supported? no” in the terminal when launching nvidia-settings application to configure your NVIDIA card on your Optimus system?

    Most probably there has been some issues when updating the driver or wrong configuration. The way to fix this is quite simple (tested on Ubuntu and Lubuntu 14.04):

    First of all let’s remove NVIDIA drivers:
    sudo apt-get purge bumblebee*
    sudo apt-get purge nvidia-*

    Then reboot the computer and install the latest version (in my case was nvidia-331-updates):

    sudo apt-get install nvidia-331-updates

    this will install nvidia-settings and nvidia-prime and reboot one last time – your configuration is now correct!

  • Tutorial: Remove a PPA in Ubuntu (and restore original packages)

    Let’s face it, we love to test new applications, improve our system and see new things…

    However in some occasion, after we’ve updated our system by adding a PPA in our Ubuntu (sudo add-apt-repository ppa:NAME_OF_THE_PPA) you discover that you are not interested in what you’ve just installed, it doesn’t work as expected or simply you want to remove it…

    When you install a PPA you don’t only add the software you want to install as normally you’ll have all the required dependencies (that in some cases are in a newer version than the ones installed in your system). Therefore, when uninstalling a software that you’ve got from a PPA, you should care of removing all the extra packages and re-instate the original versions of the ones you had before.

    Luckily, you don’t have to do this manually… Thank you ppa-purge!!!!

    You can install ppa-purge by simply run in console:

    sudo apt-get install ppa-purge

    By running it you will be able to see its syntax:

    sudo ppa-purge [options] <ppa:ppaowner>[/ppaname]

    So, if for example you’ve previously installed a PPA called ppa:username/coolsoftware:

    sudo ppa-purge ppa:username/coolsoftware

  • Tutorial: How to use dcfldd instead of dd

    Today I want to introduce to everyone an excellent command that works very much like dd but it’s just much better…

    dcfldd is an enhanced version of dd developed by the U.S. Department of Defense Computer Forensics Lab.

     Department of Defense Cyber Crime Center

    Department of Defense Cyber Crime Center

    Features include:

    • Hashing on-the-fly, dcfldd can hash the input data as it is being transferred, helping to ensure data integrity. Supports multiple hashes at once
    • Progress bar of how much data has already been sent.
    • Flexible disk wipes, dcfldd can be used to wipe disks quickly and with a known pattern if desired
    • Verification that the image is identical to the original drive, bit-for-bit.
    • Split output, dcfldd can split output to multiple files with more configurability than the split command
    • Piped output and logs, dcfldd can send all its log data and output to commands as well as files natively
    • Verify capability

    How to install in Ubuntu:

    sudo apt-get install dcfldd

    Here you can see a small summary of the most common commands:

    if = Input File (device or file you want to read)
    of = Output File (device or file you want to copy the data to)
    hash = md5, sha1, sha256, sha384 or sha512 (hash type)
    hashwindow= Size (in Bytes), about how often a hash calculation will happen
    <hash>log = file that will contain the hash calculations log for each hash type (eg: sha1log=sha1.log)
    hashconv = valid values: AFTER or BEFORE. It depends if you want to perform the hash after or before the conversion
    bs = Byte Size (amount of bytes to read at once)
    noerror (ignore read errors and continue) , sync (performs padding) are the 2 most common options here
    split = breaks image file into multiple files
    splitformat = the file extension format for split operation
    conv = convert the file as per the comma separated keyword list (see following list):
    ascii=from EBCDIC to ASCII
    ebcdic=from ASCII to EBCDIC
    ibm=from ASCII to alternated EBCDIC
    block=pad newline-terminated records with spaces to cbs-size
    unblock=replace trailing spaces in cbs-size records with newline
    lcase=change upper case to lower case
    notrunc=do not truncate the output file
    ucase=change lower case to upper case
    swab=swap every pair of input bytes
    noerror=continue after read errors
    sync=pad every input block with NULs to ibs-size; when used with block or unblock, pad with spaces rather than NULs


    dcfldd if=/dev/source hash=md5,sha512 hashwindow=1G md5log=md5.txt sha512log=sha512.txt \
    hashconv=after bs=512 conv=noerror,sync split=1G splitformat=aa of=image.dd

    This command will read one GB from the source drive and write that to a file called image.dd.aa. It will also calculate the MD5 hash and the sha512 hash of each Gigabyte read.

    It will then read the next GB and name that image.dd.ab. The md5 hashes will be stored in a file called md5.txt and the sha512 hashes will be stored in a file called sha512.txt. The block size for transferring has been set to 512 bytes, and in the event of read errors, dcfldd will write zeros.

    Incoming search terms:

    • dcfldd
    • dcfldd example