Whats the Difference between a file system and a partition in Ubuntu?
-
Whats the Difference between a file system and a partition in Ubuntu? I've recently migrated to Ubuntu from windows, but I still can't understand how the whole file structure works. What folder contains the actual ubuntu OS installation? What is a Grub? I've made a 2 partitions on my HD i think and I want to have my /home/ folder in one and all my other files in the other. But I only see one of the 23gig partitions, the rest of the HD space seems to be taken up by another folder called "file System" I assume this is where Ubuntu is installed. I'm so confused, can anyone help explain it to someone with a mind still in windows mode?
-
Answer:
OK. Start by ignoring the physical construction of the drive- that's an abstraction. (More specifically, the rest of this is an abstraction OF the physical construction of the drive.) You probably can't know how the drive is arranged inside. Is it one platter? Three? How many sides? So any talk of the edge of the disk or the inside of the disk is functionally irrelevant. Now, the hard drive, logically, is a piece of tape. Start at the beginning, start reading bytes until you hit the end. Further, this tape is addressable. Your computer can send a command to the drive that says "please go to section 3435 and tell me whats there". (In the old school world, this was done by specifying a physical head, cylinder and sector. It is done slightly differently now, but the function is the same.) Picture your hard drive as one of those giant cubbyhole mailbox things they have in offices. You can't change the cubby holes, they are built that way. Further, the cubbies are only numbered seqentially and you can't change that either. (It's a very logical office.) Cubby hole zero has a piece of paper in it that says "cubbies 1 through 10 are for the accounting department, 11-25 are purchasing and 26-30 are sales." That's the partition table. Each department has their own system for ordering files. That's the filesystem. Each department even has pet names for the sections in the cubbies. Accounting might call them A: B: and C:. Purchasing might call them /dev/sda1 /dev/sda2 and /dev/sda3. That doesn't change what's in the cubbies, that's just the names for them. The table in cubby zero is still the same. If you reorganize (repartition), you either have to take all the papers out and start from scratch, or you have to carefully shift them around so that you don't mess up the order they are in. You don't know how the other departments have their shit set up. You just have to make sure that when they come in and look at that partition table and see that their area starts at cubby x, all their data is in the same order as it was before. That's why "live" repartitioning is risky- if you screw something up, the papers get in the wrong order and Jenkins from accounting starts screaming at you. *nix is slightly confusing in that they use "filesystem" to mean two things. Filesystem generically is how data is ordered and accessed on the storage medium. *nix also uses it to name how data is presented by the OS. So *nix has a filesystem of filesystems. Further confusing, but ultimately quite logical, is that its slightly recursive. That's why the Windows drive letter stuff is easier. The data on drive /dev/sda1 is "mounted" at / So you start at / navigate to /dev and then /dev/sda1 and you can see the raw data that you are already in. I like to think of the *nix / filesystem as the "tree" onto which filesystems are mounted, just like the "my computer" tree in Windows. Understanding the difference between the virtual tree the data is presented as versus the actual locations of the stuff took me a long time to get straight in my head. Think of the computer at its very basic level. Bytes come from an input --> get processed --> are output in some other way. The operating system is really just a giant application that helps you make sense out of it all. So the operating system fires itself up, reads various files and memory locations and figures out where all of the input output locations are, and presents all of this to you as "the filesystem". That filesystem comprises both the raw IO devices, like /dev and /proc AND a translated picture of that stuff in a usable manner, all overlayed ontop of itself. The "root" filesystem or "/" is the translated contents of the root partition on the drive. If you mounted the hard drive from one OS to another, you'd see these places, but nothing inside some of them. That's because when the operating system application starts up, it overlays stuff onto its own "places". I found it easier to figure out if I thought of it like this: think of the operating system as a separate thing. You stick a Linux floppy in the drive. All it contains is the operating system application, a "map" of the computer environment, which it calls the filesystem, and a few files that tell it how to configure itself (fstab). That map has / /boot /etc /var /dev and the rest. But there is nothing in those places- just the map. As the operating system starts up, it reads fstab, and starts taking all the raw devices in the computer and attaching or mounting them onto that map. It sees that you have hard drives and serial ports, and mounts them on the /dev folder. It sees its own memory and environment locations, and loads that onto /proc. Next, it reads fstab and sees that you want to take the raw data on /dev/sda2 and "display" it as files and folders mounted on /home. And maybe you have a second hard drive, and you want to see its contents on /pub. Further, it sees that on /dev/sda1, you have data that you want those presented on the computer as /etc /bin /sbin /var /root. It "mounts" them on to those virtual spots on the map and it translates the raw data on the drives so you can use the data. Once it does all that, it starts loading other programs into memory that provide various translation services for the raw data on the devices to information you can use. (In practice, this doesn't happen in quite this order. And instead of having a separate startup disk, this map and setup files are on the same drive that later gets mounted as /) So, you could have a simple system that has the map AND your data all in one big partition which would be /. Or you can get complicated, like *nix likes to do, and separate all that stuff out to different partitions, or virtual drives. See? Easy. Ugh...
complience at Ask.Metafilter.Com Visit the source
Other answers
A partition is a logical part of the disk (think of a cake as the entire disk, a slice of that cake would be a partition) A filesystem is a method of storing / finding files on a hard disk (its on top of the cake so would be icing) It sounds like you a / (root) folder which has all the important OS stuff on it and /home which is your stuff. Linux uses a tree like structure starting a the / (root) and branching off. Ignore any windows based knowledge you are using in terms of this its set out totally differnently GRUB is the small bit of software that sits at the start of the hard disk that is a link between the BIOS telling the system "use this hard disk" and then being able to start the Linux core (kernel).
rus
Partitions in Ubuntu (and Linux in general) aren't like Windows partitions in that you don't have drive letters for them. Everything (boot partition, other partitions, external drives etc.) appear within a single filesystem. There is no single folder for system files; they're in a collection of folders off the root of the boot partition. Your second partition (currently empty I would guess) will need to be mounted before you can use it. Essentinally this means telling Ubuntu to make this drive available as a folder within the filesystem. It's common to mount the partition as a directory under /media. So you counld mount your second partition as /media/home/ for example. There's some information on how to set up partitions to mount automatically https://help.ubuntu.com/community/AutomaticallyMountPartitions.
le morte de bea arthur
Oh, and http://en.wikipedia.org/wiki/GNU_GRUB is just a boot loader; it allows you to have more than one operating system. Don't worry about it.
le morte de bea arthur
Typically, your boot loader is in the first 512 bytes of your hard disk, the first 'block'. It's magic code that your PC will load the first 512k block and execute it and there's supposed to be enough there to load and boot your system. (usually it's actually the first track on your disk). That first block (512k) contains enough information about loading stuff and the layout of your disks to make things work. A partition is a space on your disk. It can be MS-DOS, or NTFS, or EXT-3 or any other various filesystem. A partition is (block 200 - 4000), what filesystem you put on those blocks is a different matter A partition is your disk has 10,000 blocks, block 0 is the boot block (can be changed, but the first 512k block on your disk is important and defines everything else). Partition 1 gets defined as blocks 1-500, partition 2 gets defined at blocks 501-600, partition 3 is blocks 601-9,999. Your computer magically loads the first block of the disk, and executes the code there... (it's like built in to the computer to load the first block and run it). Usually the first block (512k) is code that lets you choose which partition you want to boot from. Under multiple OS installations, some of your partitions will have the first 'block of 512k' dedicated to loading the OS and getting things started. I have 10 partitions... # fdisk -l Disk /dev/sda: 120.0 GB, 120034123776 bytes 255 heads, 63 sectors/track, 14593 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Disk identifier: 0x41ab2316 Device Boot Start End Blocks Id System /dev/sda1 1 11 88326 de Dell Utility /dev/sda2 * 12 2561 20482875 7 HPFS/NTFS /dev/sda3 2562 2574 104422+ 83 Linux /dev/sda4 2575 14593 96542617+ 5 Extended /dev/sda5 2575 2697 987966 83 Linux /dev/sda6 2698 3914 9775521 83 Linux /dev/sda7 3915 5131 9775521 83 Linux /dev/sda8 5132 6348 9775521 83 Linux /dev/sda9 6349 6714 2939863+ 83 Linux /dev/sda10 6715 11578 39070048+ 83 Linux sda2 is marked as the boot partition, it has grub on it that defaults to mounting /dev/sda3 as root... # mount /dev/sda5 on / type ext3 (rw,noatime) /dev/sda6 on /usr type ext3 (rw,noatime) /dev/sda7 on /var type ext3 (rw,noatime) /dev/sda8 on /home type ext3 (rw,noatime) /dev/sda10 on /mnt/music type ext3 (rw,noatime) (misc. deleted) so i have like 10 partitions. sda1 is the stuff that came with my computer for testing. sda2 is my original windows installation. sda3 is my boot partition not usually mounted. sda4 is extending (original specs only allow 4 partitions, anything beyond uses one partition and makes it expanded). sda5 is '/', sda6 is '/usr', sda7 is '/var', sda8 is '/home', sda9 is swap space, sda10 is my large storage for music and movies. So like the 'no drive letters'... /usr is sda6 partition /var is sda7 partition /home is sda8 partition everything ends up under '/'
zengargoyle
The big "file System" folder seems odd to me. How large is the whole drive, 46 GB? As others have said, a partition is a physical slice of the disk. Unlike Windows, which uses letters for drives (and network drives, etc.), Unix (including Ubuntu) just has everything spanning off of "/". The root partition stores the files in / , probably /etc , and any other directories that aren't on another partition (it sounds like /home is; /var, /tmp, and /usr commonly are as well). Where another filesystem has attached is called the "mount point" -- if you load a CD, it would probably mount somewhere like /cdrom, /mnt/cdrom, etc. (This varies from distro to distro.) I have a partition for backup stuff under /bak, but there's no reason it couldn't be mounted under /home/scott/bak. So, the / folder probably has several partitions under it. A file system defines the way files are organized on disk, and the process for putting them there. (It's the database of files, so to speak.) Linux generally uses e.g. EXT2 and EXT3, but can also load NTFS (to read Windows filesystems), among others. Besides OS associations, file systems have different logging & cacheing mechanisms, and otherwise have slightly different efficiency tuning. If you type "df" in the shell, it will tell you which file systems you have mounted, where, how big they are, how much space free, etc. There's probably an option to use "human-readable" numbers (e.g. "241M", not 493388 (blocks)); it's "-h" on OpenBSD, but you'll probably need to run "man df" and skim to figure out what it is on Ubuntu. Other things that might help as search terms: /etc/fstab - the file where mount points, etc. are defined (fstab -> "FileSystem TABle", I think) mount / umount - the commands to load/unload filesystems
silentbicycle
Unix users make a distinction: a filesystem is the programmatic scheme used to organize and find files on a partition, while the file system refers to all the files on your computer--which, as mentioned above, start at the "root" which is represented by /. So, you may have two partitions, one with an EXT3 filesystem and the other with an NTFS (windows) filesystem, but they're going to both be linked (mounted) into the filesystem at some path from /. In the case of a pretty standard setup, you'd have one partition that's mounted as /. It's going to have /boot, /root, /etc, /bin, /usr, /lib, /dev, /proc, /var, and a couple other ones I forget. Then, you'll have another partition that's used as /home--it won't appear anywhere else, it'll just be seamlessly mounted into that location on the filesystem. All of the mount locations (along with other mount-time options) are managed in a file called /etc/mtab. The first two entries in each line are the real device/partition and the logical mount point. So, my mtab has a couple of entries that look like: "/dev/sda2 / [buncha junk]" and "/dev/sda3 /home [buncha junk]". This means that "Serial Disk A, Parition 2" is mounted at /, and "Serial Disk A, Parition 3" is mounted at /home. If I comment out (or delete) the second line, /home shows up, but is a totally empty directory. This is because to mount a partition, you make a directory on the filesystem and then mount the partition to that directory. The big "file system" folder in Ubuntu is coming from the graphical file browser, not from the underlying system. It's just an indication that it's the public, shared space where all of the system lives, as opposed to your user's personal, private stuff which is where all your own files live. That is, the file browser makes an assumption that most of what you're interested in lives in your own user folder (which is found at the path /home/complience) and so shows it as somehow separate from the rest of the filesystem. The truth is that your user folder is logically subordinate to the root filesystem, not apart from it. Spare disks, assuming that they have a filesystem Ubuntu can read, usually get mounted in /media. /mnt is the historical location for everthing that gets mounted but isn't a logical part of the root filesystem. But, Ubuntu has gone with /media for stuff that users should have basically unfettered access to. However, I don't recall whether or not a spare partition on the boot drive gets mounted automatically, or if it's only removable media.
Netzapper
Oh, hell... I screwed up. It's not /etc/mtab. It's /etc/fstab. I'm a dumbass (and it's real late, but that's not an excuse, only an explanation). mtab lists the currently mounted partitions, and changes as you mount and unmount things. fstab lists the partitions that you would like to have mounted (either at boot, automatically, or on demand). fstab also has a slightly more annoying format in Ubuntu, making use of UUIDs instead of device/partition numbers. The format that mtab uses is what most people think about... the automatically-generated UUID approach just keeps your computer booting, even if you swap around some drives in the machine.
Netzapper
To add to what everyone else said, if you're using regular Ubuntu (GNOME), follow these two guidelines to have a solid start for file organization: 1. Until you're really used to things, only install programs through synaptic or aptitude. This way, you won't have to worry about where to put .debs, etc. 2. Use the folders within your home folder (Music, Documents, Pictures, Videos) to organize the rest of your files accordingly. There's really no reason to go against the grain and not use these folders.
PhoBWanKenobi
if you're still confused, run these two commands in the terminal and give us the output and we can explain what you're seeing: df -h fdisk -l the first one shows us what disks are used by what file systems, and their size, and the second one lists the physical disks and their partitions.
jrishel
Related Q & A:
- What is a hybrid? whats the difference between a hybrid?Best solution by Yahoo! Answers
- Whats the difference between a city, a state and a city-state?Best solution by Yahoo! Answers
- Whats the difference between a diploma and an NVQ?Best solution by Yahoo! Answers
- Whats the difference between a cold/flu and swine flu?Best solution by Yahoo! Answers
- How to install a GPS System in a car?Best solution by eHow old
Just Added Q & A:
- How many active mobile subscribers are there in China?Best solution by Quora
- How to find the right vacation?Best solution by bookit.com
- How To Make Your Own Primer?Best solution by thekrazycouponlady.com
- How do you get the domain & range?Best solution by ChaCha
- How do you open pop up blockers?Best solution by Yahoo! Answers
For every problem there is a solution! Proved by Solucija.
-
Got an issue and looking for advice?
-
Ask Solucija to search every corner of the Web for help.
-
Get workable solutions and helpful tips in a moment.
Just ask Solucija about an issue you face and immediately get a list of ready solutions, answers and tips from other Internet users. We always provide the most suitable and complete answer to your question at the top, along with a few good alternatives below.