coding experience, knowledge and understanding: 0 -- Is Ubuntu Deb learning curve too steep?
Linux - NewbieThis Linux forum is for members that are new to Linux.
Just starting out and have a question?
If it is not in the man pages or the how-to's this is the place!
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
"Remember that where Linux is familiar and the same as what you're used to, it isn't new & improved. Welcome the places where things are different, because only here does it have a chance to shine.
anyway i badly wish to use linux. for many of the reasons common and else. my question is; how much of a learning curve is ahead? will this be a serious educational commitment? Or, can I just kinda learn as i go along and as i need to do new things.
For context and example, i needed access to my OneDrive files through Ubuntu-Deb <--(recommeded). found quickly the Skilion OneDrive on Linux app. downloaded it. opened terminal and keyed in the lists of the (non-understood by me) command lines, and quickly realized i have no idea what i am doing, or why what i am doing does not work.
i am eager to learn these things, but need to understand the time commitment i am facing here. will every step require a study of overview and detail? or do things quickly begin taking shape?
thanks for your patience, willingness to monitor this forum and work with newbies!
...can I just kinda learn as i go along and as i need to do new things.
Yes, that's what I've been doing for the past 13 years - picking up knowledge as and when needed, or when something stimulates my interest. That approach is OK if messing about with Linux is only a hobby. Go at whatever pace suits you.
as stated, it best to just use it, then learn as you go. If you try to take on too much all at one, like anything else it can become overwhelming and you may lose your interest due to putting yourself into a bad situation. There is so much more help, and how to's out there now days, finding how to do something is a lot easier for most things, but no all things Linux/GNU. That's where LQ comes in, so ones in here can pick their own brains in an attempt to help you and others.
Though I suspect like others, including me, when being new to it, like anything else, some hand holding will still come into play.
Virtual BOX for me, its nice to use if I want to check something out on a distro, and do not want to take a chance of screwing up my system if I get to experimenting too much. as far as learning how to use a Distro I just install it, then use it until I decide to boot a different one to use that one for a bit.
Just take baby steps, you had to go through this very same thing when using Windows, "getting to know how to use it." I am sure it did not all happen in one day.
A very common thing is that you can learn as you go along.
Grab a distribution and either load it using VirtualBox, or boot off of a DVD/thumbstick and try Linux out.
Single best recommendation ever. I didn't switch to full Linux until after many months of running a Virtualbox machine as my main driver. Always had Windows in the background. Gave me piece of mind, and let me learn at my own pace. I didn't switch to bare metal until after a good long while of tinkering and experimenting with Virtualbox.
Strongly suggest you use VirtualBox until you get a reasonable handle on things. Especially if you need to be able to use your computer for actual work or things that have to get done while you are learning.
Single best recommendation ever. I didn't switch to full Linux until after many months of running a Virtualbox machine as my main driver. Always had Windows in the background. Gave me piece of mind, and let me learn at my own pace. I didn't switch to bare metal until after a good long while of tinkering and experimenting with Virtualbox.
Strongly suggest you use VirtualBox until you get a reasonable handle on things. Especially if you need to be able to use your computer for actual work or things that have to get done while you are learning.
I have to sheepishly admit that due to the number of spare computers I have available at home and work that my personal strategy always has been to just try a full install on a computer that doesn't mean anything.
I feel it has some merit. You learn by doing and by getting some harsh lessons when you overdo. Probably the best follow-on advice I could offer for this direction would be to retain the capability to repeat your steps. I.e. keep the install media intact and reserved, don't just overwrite it at your first opportunity. Keep notes about any websites you visited to follow special procedures or install certain drivers, where things worked. So you can repeat it, if you happen to try to customize too much and end up with a difficult to fix mess. You can perform a clean install until you learn enough to fix or revert.
Distribution: Debian testing/sid; OpenSuSE; Fedora; Mint
Posts: 5,524
Rep:
Just learn the important stuff, like the standard Linux tools in /bin. Don't bother with tweaking the DE. JUST LEAVE IT AS IS. Form always follows function.
Two things come to my mind:
1) setting up wireless and graphics may be a bit troublesome.
The more comfortable distributions like ubuntu help with that. Not that hard in the other distributions either
2) The way applications are getting installed, removed, upgraded.
That is something you can't avoid for long. It isn't difficult to learn, only different than the way for example Windows does it (and it't different for many linux distros too.
The rest you can learn at you own path. As someone said in this thread: Do yourself a favor and don't fiddle too much with configuring the look and feel. Learn a bit of the commandline as soon as possible (starting with pwd, cd, ls; for example).
Might be i oversee something. Thats what i remember.
Never mind coding! You only need to know how to code if you want to write your own programs. If you haven't been doing that in Windows, you won't be doing it in Linux either.
A lot of what you do on a computer is the same whatever OS you use. A browser is a browser after all. Firefox is a better browser than Internet Explorer, but you still google the same way. Icons, menus and buttons all function the same way on any desktop.
The main differences, I would say are these:
1) In Linux, every file and folder belongs to some user and has a set of permissions attached to it. You have full access to your own files but only read and execute access to system files, because they belong to the root user.
2) Because of ownership and permissions, it is safe to navigate around your system and explore it, finding out where things live. In fact you are encouraged to do so, whereas in Windows, this is strongly discouraged. As long as you do it in your own name and not as root, you can't do any damage. In Linux, the whole system belongs to you, not just "My Documents".
3) Linux has a very simple internal structure and the parts are very well documented, so it is easy to find out how it works. Basically you have:
a) The kernel, which manages the hardware and looks after running programs;
b) The shell, which automates many processes including boot, using human-readable scripts. You can also use the shell as a user interface if you want to give your computer a direct command;
c) The X server, which paints all the pretty pictures on your graphical desktop, collects your mouse events and keystrokes and passes them on to the programs;
d) The window manager, which puts frames round your windows and lets you move them around.
Within this fourfold structure are nestled the applications and utility programs, the libraries they use and their configuration files (all plain text).
4) Managing and updating software is much easier in Linux than in Windows. You don't need to use your browser to download software from the web. There is a specific program called a package manager which does all your updating and will install any additional programs you want.
5) If something goes wrong, you have plenty of tools and logs to diagnose the problem and you can usually fix it. You almost never need to reinstall.
If you just want to be able to use Linux then like others have said you should learn as you go. So just do on Linux what you would normally do on Windows. When something doesn't work then google it, look through forums, etc, or post your own question if you can't find a solution. When you do find a solution, try to understand it as best you can.
But I would definitely recommend making a special effort to learn the shell and the file system. Even if you prefer to spend your time working in a GUI when you do come across a problem the solution will most likely require you to access a shell.
You should learn how to navigate your system and how to manipulate files through the shell. I would also suggest, not mandatory though, learning shell scripting at some point. Even if you don't write your own programs, it is useful. For instance, if you want to have a better understanding how a certain program or tool works and it's a shell script then you can read the code and see exactly what it does and how it does it.
If you do decide to learn the shell, then you should also learn the basic operations of a command-line editor. Such as opening, editing, and saving a file.
For context and example, i needed access to my OneDrive files through Ubuntu-Deb <--(recommeded). found quickly the Skilion OneDrive on Linux app. downloaded it. opened terminal and keyed in the lists of the (non-understood by me) command lines, and quickly realized i have no idea what i am doing, or why what i am doing does not work.
i am eager to learn these things, but need to understand the time commitment i am facing here. will every step require a study of overview and detail? or do things quickly begin taking shape?
I'm not surprised that you had difficulties with the instructions for Skilion OneDrive, as they are awful, and clearly aimed at someone who already knows all about Linux Terminal commands, and just need to know what switches are available, and the syntax of the commands. Unfortunately, you will come across this from time to time, even in the slickest of Linux distributions. You may also come across things in threads here, even in the newbies section, where someone who knows a bit more, says to "Just post the results of lsusb", and people don't explain what it is, or what it does. After 12 or more years of using Linux, I still regularly find myself doing a quick google, to find out what they are talking about. The Man Pages are your friend, and are often well documented - see, I'm doing it now. In a linux terminal, if you type man <ProgramName>, it will show you the manual (and tell you what the program does, usually). e.g.: man lsusb
One other thing that everyone who is new to Linux, should always bear in mind, is case sensitivity. All files in Linux are case sensitive, while in Windows, they are not. If you think you are following instructions, and things are not working out, take a deep breath, calm the frustration, and read through the commands, to make sure that you have not put in, or missed out a capital letter.
Windows:
"MyFile.txt" is the same as "myfile.txt"
Linux:
MyFile.txt and myfile.txt are completely separate.
Personally, when trying to install a piece of software, to do a specific task, such as the OneDrive access that you were looking at, my first point of call would be synaptic package manager, to see where there is one in the default repositories for my Linux distribution. If it isn't, I would then do a search on google, STARTING with a search for my Linux distribution, which in my case would be "Ubuntu OneDrive". You would be amazed at the difference in search results, when you search separately for "Linux OneDrive". The advantage of this method, is that you might find a repository, or ppa (another type of repository), or even a downloadable .deb file, for Ubuntu deb, which will allow automatic updates to the program you install, every time you update your system. These methods are generally easier to do than the alternatives (git, flatpak, snaps, or compiling the software yourself), which all have a slightly larger learning curve.
For OneDrive access, you could consider onedrive-d. The instructions are far more in-depth, and explain (to some extent), what they do. However, it doesn't appear to have been changed in 4 years. - https://www.maketecheasier.com/sync-onedrive-linux/.
If I were you, I would set up an account with an alternative cloud storage solution, and transfer your files. There are decent sync tools (GUI and command line) for linux that work with many, such as Google Drive and the excellent Mega.nz (50gb free, and a linux GUI sync tool).
I would definitely agree that, for installing software, apt/synaptic is always the first and best port of call. And likewise on other distros, where the package manager will have a different name.
The next best thing is to download source and build locally. That way, the program will link correctly to your installed libraries. Downloading and installing a precompiled binary package from the Web is always a little dicey except for a few packages like Firefox, Virtualbox and Libreoffice, which are carefully designed to work correctly when installed like that. If in doubt about a binary, ask other people if they have any experience of installing and running it.
I would definitely agree that, for installing software, apt/synaptic is always the first and best port of call. And likewise on other distros, where the package manager will have a different name.
The next best thing is to download source and build locally. That way, the program will link correctly to your installed libraries. Downloading and installing a precompiled binary package from the Web is always a little dicey except for a few packages like Firefox, Virtualbox and Libreoffice, which are carefully designed to work correctly when installed like that. If in doubt about a binary, ask other people if they have any experience of installing and running it.
I can't say that I agree with compiling, particularly for newer users. Will a new user remember to check for new versions, on a regular basis, in order to avoid security holes? The principal is fine, but one of the things about rpm/deb based Linux systems, that I have always liked, is that once you have added repos, they update along with all the other aspects of the system. Having said that, trusting 3rd party repos/PPAs blinded, is not without danger.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.