Showing posts with label system. Show all posts
Showing posts with label system. Show all posts

Monday, October 10, 2016

My Journey to building Linux From Scratch LFS system PART3

My Journey to building Linux From Scratch LFS system PART3


 
CHAPTER 3

Now that we have the bootable USB flash drive, we can continue now by creating a partition onto which we will install our LFS system.

According to the book, we create a linux native partition and a swap partition using either cfdisk or fdisk.

using fdisk, I created a 40GB primary partition and a 2GB swap partition.

Now we will create a file system on the newly created partition. According to
the book, we should create an ext3 file system using the E2fsprogs
utilities. Specifically mke2fs.

    #mke2fs -jv /dev/sda1 
where:

sda1 is my first partition.
mke2fs - is a program that creates an ext2/ext3 filesystem
- the "-j" means the create the filesystem with an

Then we initialize our swap partition.

    #mkswap /dev/sda2

    where: /dev/sda2 is our swap partition

To check, type blkid at the prompt, there should be an entry about /dev/sda1
and /dev/sda2

To access the partition, we mount it at /mnt/lfs.

    #export LFS=/mnt/lfs    -sets a variable LFS equal to /mnt/lfs
    #mkdir -pv $LFS            -create a directory /mnt/lfs
                                            -"-p" means parent, "-v" means verbose
    #mount -v -t ext3 /dev/sda1 $LFS
                                            -mount our first partition to /mnt/lfs
                                            -meaning we can access our first partition via
                                             /mnt/lfs
note: make sure that the partition is mounted without too many restrictions
e.g. nosuid,nodev or noatime options, by using mount command.

    #mount
   
    the /dev/sda1 line should not show (nosuid,nodev,noatime)


Enable the swap partition using the swapon command

    #/sbin/swapon -v /dev/sda2


Now we can download the packages and patches needed to build the basic LFS system. But since we are using the livecd as our base system, we dont need to download the packages, we just copy the packages from the /lfs-sources/ directory of the livecd to our newly created partition.   

We need to create first a directory where we will install the packages and the patches.

    #mkdir -v $LFS/sources

then we make this directory writable and sticky. sticky means multiple user
have write permission but only the owner can delete a file within this
directory.

    #chmod -v a+wt $LFS/sources

   where:     a+w - means all have write access
                       t   - means sticky

Now we download, or in our case, copy all the contents of /lfs-sources
directory to $LFS/sources.

inside /lfs-sources directory:

    root[ /lfs-sources ]# cp * $LFS/sources

    where: cp - the copy command

After copying the files and patches:



CHAPTER 4 - Final preparations

According to the book, we will create a $LFS/tools directory. This directory
will contain the installed programs compiled in CHAPTER 5 to separate them from the programs compiled in CHAPTER 6. The programs compiled here are temporary tools only and will not be a part of the final LFS system.

as root:
   
    #mkdir -v $LFS/tools

then we create a /tools symlink on the host system that will point to the
$LFS/tools directory we just created

    #ln -sv $LFS/tools /


the command ln above creates a link between the two files. The target file is
$LFS/tools (/mnt/lfs/tools), with a link name that is the same as the target
file and is located at the / (root) directory. The -s means create a symbolic
(or soft) link. So from the command above a soft link with a name /tools is
created that is linked to the directory $LFS/tools (or /mnt/lfs/tools).

Then we add user/group both named lfs

    #groupadd lfs
    #useradd -s /bin/bash -g lfs -m -k /dev/null lfs

where:  -s /bin/bash  : makes bash the default shell for the user
                  -g lfs         : adds user to the group lfs
                      -m         : create a home directory for user lfs
             -k /dev/null    : the skeleton directory that contains the files and
                                     directories to be copied to the home directory.
                                     /dev/null contains nothing. The significance of -k
                                    option is that if it is not specified the default
                                    /etc/skel files and directories will be copied to the
                                    home directory.
                      lfs        : is the name of the user


then give lfs user a password

    #passwd lfs

grant user lfs ownership of $LFS/tools  and $LFS/sources directory

    #chown -v lfs $LFS/tools 
    #chown -v lfs $LFS/sources

then we login as user lfs

    #su - lfs

where:     su    :    switch user
                 -     :    start a login shell as opposed to only switch to user
               lfs    :    switch as user lfs

   
then we setup a clean working environment from which building the temporary lfs system is based.

while logged in as user create two startup files, .bash_profile and .bashrc, for the bash shell.

    lfs [~]$cat > ~/.bash_profile <<"EOF"
           exec env -i HOME=$HOME TERM=$TERM PS1=u:w$ bin/bash
           EOF

where:    exec env -i.. /bin/bash - 


means replace the shell with a new one with an empty environment except the variables HOME,TERM and PS1
   

    lfs [~]$ cat > ~/.bashrc << "EOF"
             set +h
             umask 022
             LFS=/mnt/lfs
             LC_ALL=POSIX
             path=/tools/bin;/bin;/usr/bin
             export LFS LC_ALL PATH
             EOF


then source the just created user profile:

    lfs [~]$ source ~/.bash_profile



next: CHAPTER 5

Go to link download

Read more »

Sunday, September 25, 2016

Download 3D Solar System live Wallpaper for free

Download 3D Solar System live Wallpaper for free



3D Solar System live Wallpaper
Personalization
[Download Link >>]

version:5.0

rating: 4.8

rating count: 100

updated: 2015-02-13

size: 2 MB

installs: 500

cost: €0.74


Go to link download

Read more »

Thursday, September 1, 2016

updated Distributed File System benchmark

updated Distributed File System benchmark


Note: this is an update to my previous test


Im investigating various distributed file systems (loosely termed here to include SAN-like solutions) for use in Docker, Drupal, etc. and couldnt find recent benchmark stats for some popular solutions so I figured Id put one together.

Disclaimer: This is a simple benchmark test with no optimization or advanced configuration so the results should not be interpreted as authoritative.  Rather, its a rough ballpark product comparison to augment additional testing and review.


My Requirements:
  • No single-point-of-failure (masterless, multi-master, or automatic near-instantaneous master failover)
  • POSIX-compliant (user-land FUSE)
  • Open source (non-proprietary)
  • Production ready (version 1.0+, self-proclaimed, or widely recognized as production-grade)
  • New GA release within the past 12 months
  • Ubuntu-compatible and easy enough to set up via CloudFormation (for benchmark testing purposes)

Products Tested:
  • GlusterFS 3.7.6 [2015-11-09]
    • (replicated volume configuration) - CloudFormation script
  • LizardFS 3.9.4 [2015-12-09]
    • CloudFormation script
  • XtreemFS 1.5.1 [2015-03-12]
    • couldnt get write-replication (WqRq or WaR1) to work ("Input/output error") - CloudFormation script
  • CephFS 9.2.0 [2015-11-06]
    • CloudFormation script
  • SheepFS 0.9.3 [2015-11-05]
    • cant write any files to the client mounted folder ("cannot touch text.txt: Function not implemented") - CloudFormation script
  • SXFS 2.0 [2015-12-15]
    • CloudFormation script
        Others:
          • Bazil is not production ready
          • BeeGFS server-side components are not open source (EULA, Section 2)
          • Behrooz (BFS) is not production ready
          • Chirp/Parrot does not have a *.deb package
          • Gfarm version 2.6.8 compiled from source kept returning x.xx/x.xx/x.xx for gfhost -H for any non-local filesystem node (and in general the documentation and setup process was terrible)
          • GPFS is proprietary
          • Hadoops HDFS is not POSIX-compliant
          • Lustre does not have a *.deb package and requires a patched kernel
          • MaggieFS has a single point of failure
          • MapR-FS is proprietary
          • MooseFS only provides high availability in their commercial professional edition
          • ObjectiveFS is proprietary
          • OpenAFS kerberos requirement is too complex for CloudFormation
          • OrangeFS is not POSIX-compliant
          • Ori latest release Jan 2014
          • QuantcastFS has a single point of failure
          • PlasmaFS latest release Oct 2011
          • Pomegranate (PFS) latest release Feb 2013
          • S3QL does not support concurrent mounts and read/write from multiple machines 
          • SeaweedFS is not POSIX-compliant
          • Tahoe-LAFS is not recommended for POSIX/fuse use cases
          • TokuFS latest release Feb 2014

        AWS Test Instances:
        • Ubuntu 14.04 LTS paravirtual x86_64 (AMI)
        • m1.medium (1 vCPU, 3.75 GB memory, moderate network performance)
        • 410 GB hard drive (local instance storage)

        Test Configuration:

        Three master servers were used for each test of 2, 4, and 6 clients.  Each client runs a small amount of background disk usage (file create and update):

        (crontab -l ; echo "* * * * * ( echo $(date) >> /mnt/glusterfs/$(hostname).txt && echo $(date) > /mnt/glusterfs/$(hostname)_$(cat /dev/urandom | tr -dc a-zA-Z0-9 | fold -w 25 | head -n 1).txt )") | sort - | uniq - | crontab -

        Results of the three tests were averaged.  Benchmark testing was performed with bonnie++ 1.97 and fio 2.1.3.
        Example Run:
        $ sudo su -
        # apt-get update -y && apt-get install -y bonnie++ fio 
        # screen 
        # bonnie++ -d /mnt/glusterfs -u root -n 1:50m:1k:6 -m GlusterFS with 2 data nodes -q | bon_csv2html >> /tmp/bonnie.html
        # cd /tmp
        # wget -O crystaldiskmark.fio http://www.winkey.jp/downloads/visit.php/fio-crystaldiskmark
        # sed -i s/directory=/tmp//directory=/mnt/glusterfs/ crystaldiskmark.fio
        # sed -i s/direct=1/direct=0/ crystaldiskmark.fio 
        # fio crystaldiskmark.fio
        Translation: "Login as root, update the server, install bonnie++ and fio, then run the bonnie++ benchmark tool in the GlusterFS-synchronized directory as the root user using a test sample of 1,024 files ranging between 1 KB and 50 MB in size spread out across 6 sub-directories.  When finished, send the raw CSV result to the html converter and output the result as /tmp/bonnie.html.  Next, run the fio benchmark tool using the CrystalDiskMark script by WinKey referenced here."

        Important Notes: 

        1.  Only GlusterFS and LizardFS could complete the intense multi-day bonnie++ test.  The others failed with these errors:
        • CephFS (both kernel and fuse)
          • Cant write block.: Software caused connection abort
          • Cant write block 585215.
          • Cant sync file.
        • SXFS
          • Cant write data.
        2.  GlusterFS and LizardFS had significant differences in bonnie++ latency which couldnt be shown on the graph without distorting the scale:


        Seq Create (sec)Rand Create (sec)
        GlusterFS 3.7.6173164
        LizardFS 3.9.4 33


        3.  GlusterFS took at least twice as long as LizardFS to complete the bonnie++ tests (literally 48 hours!).  Switching to xfs out of curiosity helped performance significantly (less than 24 hours), however all tests were done with ext4 (Ubuntu default).

        4.  CephFS did not complete the "Rand-Read-4K-QD32" fio test



        Results (click to view larger image):







        (Note: raw results can be found here)

        _______________________________________________________


        Concluding Remarks:
        • Since GlusterFS and LizardFS were the only ones that could complete the more intense bonnie++ test, I would feel more confident recommending them as "production ready" for heavy, long-term loads.
        • Also (as mentioned above), LizardFS was much faster than GlusterFS (at the cost of higher CPU usage).
        • In terms of setup and configuration, GlusterFS was easiest, followed by LizardFS, then SXFS, and finally (in a distant last place) CephFS.
        • SXFS shows promise but theyll need to simplify their setup process (especially for non-interactive configuration) and resolve the bonnie++ failure.
        • My overall recommendation is currently LizardFS



        Go to link download

        Read more »

        Wednesday, August 24, 2016

        Distributed File System benchmark

        Distributed File System benchmark


        See my updated post here


        Im investigating various distributed file systems (loosely termed here to include SAN-like solutions) for use in Docker, Drupal, etc. and couldnt find recent benchmark stats for some popular solutions so I figured Id put one together.

        Disclaimer: This is a simple benchmark test with no optimization or advanced configuration so the results should not be interpreted as authoritative.  Rather, its a rough ballpark product comparison to augment additional testing and review.


        My Requirements:
        • No single-point-of-failure (masterless, multi-master, or automatic near-instantaneous master failover)
        • POSIX-compliant (user-land FUSE)
        • Open source (non-proprietary)
        • Production ready (version 1.0+, self-proclaimed, or widely recognized as production-grade)
        • New GA release within the past 12 months
        • *.deb package and easy enough to set up via CloudFormation (for benchmark testing purposes)

        Products Tested:
        • GlusterFS 3.6.2 [2015-01-27]
          • (replicated volume configuration) - CloudFormation script   (Ubuntu version)
        • LizardFS 2.5.4 [2014-11-07]
          • CloudFormation script   (Ubuntu version)
        • XtreemFS 1.5.1 [2015-03-12]
          • couldnt get product to work ("Input/output error") - CloudFormation script   (Ubuntu version)
          Others:
            • Bazil is not production ready
            • BeeGFS server-side components are not open source (EULA, Section 2)
            • Behrooz (BFS) is not production ready
            • CephFS -- will be included in next round of testing
            • Chirp/Parrot does not have a *.deb package
            • Gfarm version 2.6.8 compiled from source kept returning x.xx/x.xx/x.xx for gfhost -H for any non-local filesystem node (and in general the documentation and setup was terrible)
            • GPFS is proprietary
            • Hadoops HDFS is not POSIX-compliant
            • Lustre does not have a *.deb package
            • MaggieFS has a single point of failure
            • MapR-FS is proprietary
            • MooseFS only provides high availability in their commercial professional edition
            • ObjectiveFS is proprietary
            • OpenAFS kerberos requirement is too complex for CloudFormation
            • OrangeFS is not POSIX-compliant
            • Ori latest release Jan 2014
            • QuantcastFS has a single point of failure
            • PlasmaFS latest release Oct 2011
            • Pomegranate (PFS) latest release Feb 2013
            • S3QL does not support concurrent mounts and read/write from multiple machines 
            • SeaweedFS is not POSIX-compliant
            • SheepFS -- will be included in next round of testing
            • SXFS -- will be included in next round of testing
            • Tahoe-LAFS is not recommended for POSIX/fuse use cases
            • TokuFS is latest release Feb 2014

          AWS Test Instances:
          • Debian 7 (wheezy) paravirtual x86_64 (AMI)
          • m1.medium (1 vCPU, 3.75 GB memory, moderate network performance)
          • 410 GB hard drive (local instance storage)

          Test Configuration:

          Two master servers were used for each test of 2, 10, and 18 clients.  Results of the three tests were averaged.  Benchmark testing was performed with bonnie++ 1.96 and fio 2.0.8.
          Example Run:
          $ sudo su -
          # apt-get update -y && apt-get install -y bonnie++ fio 
          # screen
          # bonnie++ -d /mnt/glusterfs -u root -n 4:50m:1k:6 -m GlusterFS with 2 data nodes -q | bon_csv2html >> /tmp/bonnie.html
          # cd /tmp
          # wget -O crystaldiskmark.fio http://www.winkey.jp/downloads/visit.php/fio-crystaldiskmark
          # sed -i s/directory=/tmp//directory=/mnt/glusterfs/ crystaldiskmark.fio
          # sed -i s/direct=1/direct=0/ crystaldiskmark.fio 
          # fio crystaldiskmark.fio
          Translation: "Login as root, update the server, install bonnie++ and fio, then run the bonnie++ benchmark tool in the GlusterFS-synchronized directory as the root user using a test sample of 4,096 files (4*1024) ranging between 1 KB and 50 MB in size spread out across 6 sub-directories.  When finished, send the raw CSV result to the html converter and output the result as /tmp/bonnie.html.  Next, run the fio benchmark tool using the CrystalDiskMark script by WinKey referenced here."

          Results (click to view larger image):







          (Note: raw results can be found here)

          _______________________________________________________


          Concluding Remarks:

          Both GlusterFS and LizardFS had strong showings with pros and cons for each.  Both should work fine for production use.  While not an endorsement, I will mention that GlusterFS had more consistent results (less spikes and outliers) between each test and I also like the fact that GlusterFS doesnt distinguish between master servers (master-master peers versus LizardFS master-shadow[slave] configuration).

          Update: GlusterFS requires your number of bricks to be a multiple of the replica count.  This adds complexity to your scaling solution.  For example, if you want two copies of each file kept in the cluster you must add/remove bricks in multiples of two.  Similarly, if you want three copies of each file kept in the cluster you must add/remove bricks in multiples of three.  And so on.  Since they recommend one brick per server as a best practice, this will also likely add cost to your scaling solution.  For this reason, Im now preferring LizardFS over GlusterFS since it does not impose that limitation.


          P.S. Check out this related article by Luis Elizondo for further reading on Docker and distributed file systems.



          Go to link download

          Read more »

          Sunday, August 21, 2016

          Neteller Money Adder System

          Neteller Money Adder System


          Its our New Great Neteller Money Adder system software and made in US with high source arrangement.
          This is tested software and working all in the world.
          We wont talk too much just will show you that it will work in Laptop,Computer and PC.
          Follow up the software and see the fixed price by Company.


















          Information of NT System software :

          * Verified Software
          * Working mode and real mode
          * Max up to $10,000 per day
          * Connected on Neteller.com
          * Update every 6 month later.
          * Dont need any fees for update


          Go to link download

          Read more »

          Wednesday, August 17, 2016

          My journey to building Linux From Scratch LFS system

          My journey to building Linux From Scratch LFS system


          This will be a series of posts since I will start building Linux From Scratch (LFS) system from scratch. I will follow the by-the-book instruction from start to finish until I built my own LFS system. As I go through this journey, I invite/encourage anyone reading or care to read this blog, to follow along with the journey. Together we will create our own Linux system not because we want to "change the world" or something but to feel and see what its like to have our own linux distro. I also encourage you to document everything that we will be doing as what I am doing right now for future references. We are going to build the system because I hope that you like me are curious about how things work. I dont promise anything as we build the system but the satisfaction of fulfilling our curiosity and educating ourselves in the process. So lets go on building our own Linux From Scratch (LFS) system.



          Tools:
              LFS live CD - to be created as a bootable USB
           
          (note: according to the website the live CD is not anymore supported and  is not compatible with LFS 7.0 or later. from the same website, it contains the LFS book with 6.3 version. So I downloaded the said version of the book so that I can follow along its instructions.)

          The reason that I am going to use the live CD is that it will serve as the base system from which my own LFS is built. A base linux system is needed to create your own LFS as stated on the website. By using the live CD, I eliminate the need for using a base system. We are going to follow the instructions by-the-book in building the system. But we are not going to follow it blindly, were going to dissect the whys and the hows of the instructions to fully comprehend what is going on. If we are stuck on some instruction, were going to stop and take some time and continue
          only if we truly comprehend what were doing. As I read somewhere, we have only 2 hrs of retention time of  continuous reading so we are not going to risk doing the next instruction without really comprehending the previous one. Thats the reason we are doing this in the first place, to educate ourselves. So come and join me on the ride. Now on to reading the first parts of the book.

          According to the book, the prerequisites are knowledge of shell commands and knowledge of installing linux software, and others. The prerequisite section also provide some links for those who have no knowledge of the above since they are needed as a minimum prerequisite. For the host system requirements, it list the softwares and applications needed for the system to have. Since we are going to use the live CD we are not going to have to download all the applications since they are included in the CD as stated by the website. There is a script from the book which asks us to run to check if the above applications are present in the system. Since were going to use the live CD, we are not going to use that script or follow that instruction. But for the purposes of "getting our hands wet" here is the script in uncomplete form.

              $cat > version_check.sh << "EOF"
              #!/bin/bash
             
              bash --version | head -n1 | cut -d" " -f2-4
              .
              .
              .
              EOF

              bash version_check.sh


          Explanation of the above command. The first command creates a file named version_check.sh and "EOF" signifies the end of the file if you type it at the last line. The #!/bin/bash indicates that it is a bash script. The command bash --version indicates that it will show the version of the bash command. The | means pipe the output to the command head. The head command means output the first parts of the file, the argument -n1 means output the first one line of that first part. The cut command means to remove sections of the line. The -d is the delimeter argument and -f means to select only these fields. So the command cut -d" " -f2-4 means cut the line starting from the second field up the fourth field(in this case words) with the space delimeter between them. The last command executes the script.



          to be continued.....

          Go to link download

          Read more »