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.
First of all thank you for all your time. I'm new to linux (ubuntu in this case).
For a long time have been trying to change to linux but many off my work software is not available...(music editing and so on)
Slowly I'm trying to do a transition so I installed Uubntu in my macbook using virtual box.
I'm also trying to start exploring some programming.
I have some questions:
- Deb packages, are they supposed to be the easy way (one click without command line) to install apps on linux?
- Since Java is "write once, run everywhere" language, should it be my main studying language to write for linux and other platforms? is there any other?
- Why so many third party software still has the need to install using commands?
I'm not trying to run away from the terminal, but i'm looking at this has the way a normal user looks at linux for the firstime and (usually) runs away scared.
Distribution: Currently: OpenMandriva. Previously: openSUSE, PCLinuxOS, CentOS, among others over the years.
Posts: 3,881
Rep:
Quote:
Originally Posted by iwsihiknew
Hi,
...
I have some questions:
- Deb packages, are they supposed to be the easy way (one click without command line) to install apps on linux?
- Since Java is "write once, run everywhere" language, should it be my main studying language to write for linux and other platforms? is there any other?
- Why so many third party software still has the need to install using commands?
I'm not trying to run away from the terminal, but i'm looking at this has the way a normal user looks at linux for the firstime and (usually) runs away scared.
Thanks
Software packages (deb/rpm/etc) provide a consistent manner to install/un-install/update software in Linux systems. The "package manager" knows about every file that makes up the software installed via software packages.
I can't answer your second question with any expert knowledge, but as long as the Java runtime environment is installed, then yes, it can be used. It's widely used in all manner of things, so I guess that's why it's a popular language.
Many third party developers don't provide their own software packages for Linux and may instead have their own "installer" program for their app. Linux is a system that is built on FOSS software, many "third party" apps are proprietary app's. VirtualBox's developers have both their own "installer" program available for VirtualBox, as well as their own deb and rpm packages as well.
Last edited by jsbjsb001; 02-01-2018 at 09:10 AM.
Reason: forgot part of post/additions
So what music editing software are you using? You might be able to find a Linux alternative.
Installing a program from a deb is somtimes a pain due to dependencies. So it is recommended to use the package manager and/or a ppa as much as possible. If not possible a deb file can be installed on cli with: dpkg -i /path-to-package or you can install with a graphical program such as gdebi (should be preinstalled on Ubuntu )
The reason the terminal is still so widely used is because of the unmatched power and speed of some tasks. Oh and don't worry... the terminal is easy to learn and use. A web search will bring up many tutorials.
There are a lot of multimedia editing/production programs for Linux. Audacity is widely respected as a music/sound file editor.
There are a bunch of popular programming languages commonly used with Linux. Some of the big ones are JavaScript, Python, Perl, and several flavors of C. At the risk of stirring up some controversy, I would say that Python is one of the easier ones to learn. Many pieces of the desktop environment used by Ubuntu are written in Python.
However, I would also recommend spending some time learning bash, the default shell/scripting language for most distributions. It's better for short tasks like cobbling together several utilities to create a new one. Knowing it will make your life much easier. You can do things that might take many of lines of code in a conventional language in one line of bash.
E.g.: Count the combined number of unique lines found in several input files.
Code:
cat file1 file2 file3 | sort -u | wc -l
Also, you will most likely use bash to run and test the programs you write in any other language.
*.deb packages are for Debian and Debian derivatives, of which Ubuntu is one. There are many Debian derivatives that use the *.deb format.
Debian-based package managers (installation programs, such as apt-get and Synaptic) resolve dependencies. That is, if program X depends on certain other programs and libraries to work, they will install those when they install the the program, if they are not present.
RPM packages are for Red Hat and Red Hat derivatives, such as Fedora. Note that other Linux distros (SUSE and Mageia in particular) also use the RPM format, but their packages will not necessarily be cross-compatible with Red Hat and its derivatives. Their package managers (yum, dnf) will also resolve dependencies.
Slackware merrily goes its own way with the *.tgz format. Slackware leaves dependency resolution to user, and most Slackers like it that way. It does, however, have a tool (rpm2tgz) for converting RPMs to *.tgz format. I've used it a couple of times and it seems to work quite nicely. There are alternative package tools for Slackware that offer dependency resolution, but I've never been tempted enough to muck with them.
As regards media creation and editing, I suggest you take a look at Slackermedia. Even though it's oriented towards Slackware, the "handbook" contains lots of information that is generally applicable.
Also, welcome to LQ. I look forward to your contributions.
*.deb packages are for Debian and Debian derivatives, of which Ubuntu is one. There are many Debian derivatives that use the *.deb format.
It's probably worth noting that just because a pkg is a .deb doesn't mean it is compatible with your version of your distro, even if it uses .deb too.
Until you know enough to work out the differences and exceptions and workarounds, stick to installing packages from your distro's default repo's, using the package manager - that way you are guaranteed to get a version of the package that has been compiled to work with your system and for which any dependencies will be readily available and installed automatically.
The "native language" of Linux is C/C++. If you want to write basic software, those are the languages to use. But Python and lua are used increasingly for graphical applications. On Debian I have a genealogical program written in Python.
So what music editing software are you using? You might be able to find a Linux alternative.
Installing a program from a deb is somtimes a pain due to dependencies. So it is recommended to use the package manager and/or a ppa as much as possible. If not possible a deb file can be installed on cli with: dpkg -i /path-to-package or you can install with a graphical program such as gdebi (should be preinstalled on Ubuntu )
The reason the terminal is still so widely used is because of the unmatched power and speed of some tasks. Oh and don't worry... the terminal is easy to learn and use. A web search will bring up many tutorials.
Let us know how it goes
Thank you,
Im not afraid of the terminal, in fact I want to learn it. Im just trying to figure if linux is ready for the average user who really doesnt want to use the terminal. I would enjoy to start moving some people towards linux.
There are a lot of multimedia editing/production programs for Linux. Audacity is widely respected as a music/sound file editor.
There are a bunch of popular programming languages commonly used with Linux. Some of the big ones are JavaScript, Python, Perl, and several flavors of C. At the risk of stirring up some controversy, I would say that Python is one of the easier ones to learn. Many pieces of the desktop environment used by Ubuntu are written in Python.
However, I would also recommend spending some time learning bash, the default shell/scripting language for most distributions. It's better for short tasks like cobbling together several utilities to create a new one. Knowing it will make your life much easier. You can do things that might take many of lines of code in a conventional language in one line of bash.
E.g.: Count the combined number of unique lines found in several input files.
Code:
cat file1 file2 file3 | sort -u | wc -l
Also, you will most likely use bash to run and test the programs you write in any other language.
Actually this is already a answer to one of my next questions.
Im 28 years and a professional musician, but Im thinking about a professional transition... I can still be a musician but I want to explore my tech side... I always loved tech. Am I to old to do a graduation in Informatic language and development? I did math and physics until the end of the college and I have a grade and the exams done to start in September... Can I still be he hired with 32 years old?
Another this is about the language... actually after the html and css basics my first language was SQL, transact to be more exact. I found this one to be the easiest and I really enjoyed it, to manage databases. Now Im learning Java, this one is being a pain in the ass, and also applying the java to build android apps...
My goal is to start building some android apps but also web apps...I also would like to build for linux as a side thing...
Am i focusing on the right things?
Im not afraid of the terminal, in fact I want to learn it. Im just trying to figure if linux is ready for the average user who really doesnt want to use the terminal. I would enjoy to start moving some people towards linux.
Right now Im using Studio One.
I will let you know, thank you.
You might want to check out Ardour And Audacity for easy recording, Nitrogen is good for drums. Of course there are many more but they could almost always be installed through the Ubuntu Software Manager.
If you're a musician, look at this distro https://ubuntustudio.org/
It provides the software you need(like Ardour) ready installed, with a low-latency kernel, and it's fully supported by Canonical, who produce the standard Ubuntu.
Am I to old to do a graduation in Informatic language and development?
That makes me laugh. I'm worried about such things, but I'm double your age. The main stumbling block I see (since you're smart enough to do college math) is having enough stamina to keep up with young kids who can work 80 or more hours a week.
The only approach I know of is to work smarter by researching and thinking more before designing/coding/debugging. But that only works after you know what you're doing.
If you're good at math, you may like functional programming languages such as Haskell.
Since you want to work on Android, The Android shell has a lot less features than bash does, so you'll want to learn how to work without all the great extras bash and other fancy shells provide. busybox is your friend. It will add a ton of useful commands.
That makes me laugh. I'm worried about such things, but I'm double your age. The main stumbling block I see (since you're smart enough to do college math) is having enough stamina to keep up with young kids who can work 80 or more hours a week.
The only approach I know of is to work smarter by researching and thinking more before designing/coding/debugging. But that only works after you know what you're doing.
If you're good at math, you may like functional programming languages such as Haskell.
Since you want to work on Android, The Android shell has a lot less features than bash does, so you'll want to learn how to work without all the great extras bash and other fancy shells provide. busybox is your friend. It will add a ton of useful commands.
I wonder since I want to do Android but also webapps, and a bit of things for Linux community (just for fun) if java would be good since it comes with the portability. Do linux apps can use java in the core, but the 'wrapped' in a shell to make them run directly? I'm sure I used all the wrong terms in this question. Linux newbie
I don't know java. I do recall hearing about people disabling java wherever possible because it had a lot of security issues, but that was a couple of years ago. A quick search yielded this recent article.
You don't need to "wrap" applications in the shell, but you do need a way to tell the computer to run them. You can do that from the command prompt in a shell or you can add them to some GUI launcher like the Ubuntu Application Menu.
Many applications need their environment setup before they run. This can be as simple as changing into their working directory or very complex, setting up a bunch of parameters, etc. so the program knows where things are, how it should function, etc. That's when a shell script comes in handy. If you take a look in /usr/bin, you'll find tons of these:
Code:
grep '#!/bin/sh' /usr/bin/* | less
grep '#!/bin/bash' /usr/bin/* | less
will find them for you, but a lot of them are pretty cryptic, so I wouldn't recommend spending much time looking at them until you know a lot more.
Last edited by josephj; 02-05-2018 at 02:17 AM.
Reason: clarified
Hi. There is a program called 'alien' which can convert packages .deb .rpm and tgz between them.
This one need dependencies packages to do that (like dpkg-devel, rpm-devel, etc). You can find all them in howto and man pages.
Those converted files can be installed by dpkg (or rpm, etc), but i am no try to install them by aptitude or other package manager.
I hope it can help you to use packagers.
Have a nice day.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.