Linux is a UNIX-like open source operating system with hundreds of distinct distributions, including: Fedora, openSUSE, Ubuntu, Debian, Slackware, Gentoo, CentOS, and Arch Linux. Linux is generally associated with web and database servers, but has become popular in many niche industries and applications.

Share tech news, updates, or what's on your mind.

Sign up to Post

Following are code snippets from python 3.6 standard library logging module, filename

On line 1732, class RootLogger gets instantiated.  But on line 1733, what is Logger.root ?  dot notation is used with object name, not class name ?
On line 1734, what is Logger.manager ?  Again, why dot notation is used with class name ?

1250 #   Logger classes and functions
1251 #---------------------------------------------------------------------------
1253 class Logger(Filterer):
1254     """
1255     Instances of the Logger class represent a single logging channel. A
1256     "logging channel" indicates an area of an application. Exactly how an
1257     "area" is defined is up to the application developer. Since an
1258     application can have any number of areas, logging channels are identified
1259     by a unique string. Application areas can be nested (e.g. an area
1260     of "input processing" might include sub-areas "read CSV files", "read
1261     XLS files" and "read Gnumeric files"). To cater for this natural nesting,
1262     channel names are organized into a namespace hierarchy where levels are
1263     separated by periods, much like the Java or Python package namespace. So
1264     in the instance given above, channel names might be "input" for the upper
1265     level, and "input.csv", "input.xls" and "input.gnu" for the sub-levels.
1266     There is no arbitrary

Open in new window

Acronis in Gartner 2019 MQ for datacenter backup
Acronis in Gartner 2019 MQ for datacenter backup

It is an honor to be featured in Gartner 2019 Magic Quadrant for Datacenter Backup and Recovery Solutions. Gartner’s MQ sets a high standard and earning a place on their grid is a great affirmation that Acronis is delivering on our mission to protect all data, apps, and systems.

I have an Ubuntu server running 10.04.6 LTS.  It is providing web services.  I have setup sftp and given permission to an 'sftp' group to login but have set their root directory to be /var/www/html.  They are able to connect to the server but cannot write to the folder.  I use setfacl to give the group write permission.  If they are already logged in, they can now create folders and files.  However, once they logout, they can no longer login.   If I remove the acl, the condition reverses again.  It is not limited to acls though.  I even tried just giving 'other' write-access.  Same thing happened.

sshd_config snippet:
Match group sftp
ChrootDirectory /var/www/html
X11Forwarding no
ForceCOmmand internal-sftp

Error when trying to write:
Permission denied.
Error code: 3
Error message from server: Permission denied

Error when trying to login (from session log):
! 2019-12-11 08:23:42.538 Using username "ddinkin".
. 2019-12-11 08:23:42.569 Server offered these authentication methods: publickey,password
. 2019-12-11 08:23:42.569 Prompt (password, "SSH password", <no instructions>, "&Password: ")
. 2019-12-11 08:23:44.955 Sent password
. 2019-12-11 08:23:44.963 Access granted
. 2019-12-11 08:23:44.963 Opening session as main channel
. 2019-12-11 08:23:45.127 Network error: Software caused connection abort
* 2019-12-11 08:23:45.181 (EFatal) Network error: Software caused connection abort
* 2019-12-11 08:23:45.181 Authentication log (see session log for …
I have vim version 8.0 editor.  I want to copy code snippets from vim editor and paste them in windows applications.
I don't have clipboard and xterm_clipboard support in my vim.

How do I copy code (including line numbers) from vim editor to windows applications?
i upload a folder to nextcloud on ubuntu (lxd)(just drop folder in webpage) all file is uploaded except for .files (hiden file).
How to upload hiden file where is it to accept which file extension is ok to upload. (i want to accept all type files).
Hi all i am currently going made trying to move my python project to a linux server,
1. i have got the mysql  database one there
2. i am trying to install all on the modules but having some issues i am trying  to get pip3 install parse , it tells me it works but it still comes up with a error when i run the python
3. i tried sudo pip3 install urllib
Collecting urllib
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/pip/", line 215, in main
    status =, args)
  File "/usr/lib/python3/dist-packages/pip/commands/", line 353, in run
  File "/usr/lib/python3/dist-packages/pip/", line 749, in build
  File "/usr/lib/python3/dist-packages/pip/req/", line 380, in prepare_files
  File "/usr/lib/python3/dist-packages/pip/req/", line 554, in _prepare_file
  File "/usr/lib/python3/dist-packages/pip/req/", line 278, in populate_link = finder.find_requirement(self, upgrade)
  File "/usr/lib/python3/dist-packages/pip/", line 465, in find_requirement
    all_candidates = self.find_all_candidates(
  File "/usr/lib/python3/dist-packages/pip/", line 423, in find_all_candidates
    for page in self._get_pages(url_locations, project_name):
  File …
Dear Experts,

I'm currently using ffmpeg on RaspberryPi 4 (4 CPU, 4GB RAM, 16GB SD Card) for encoding bitrate from Camera (experimental environment).

As my first though when running encode process, from 1024Kbps input (Camera) to 512Kbps output (RaspPi4), the CPU consumption/ usage is quite a lot: 220->260% in the total 400% CPU Power (4 CPU).

This is my encode command:
/usr/bin/ffmpeg -re -rtsp_transport tcp -i rtsp://testing:testing123@ -an -c:v libx264 -b:v 512k -strict experimental -flags +global_header -f flv rtmp://

Open in new window

I just wondering if there is anything I could do to reduce this CPU consumption.
And if i keep using that RaspPi with that much CPU, how long till it go down? What I mean is, can we calculate the attenuation, and the time the device can be used with such a load?

Many thanks for reading this Experts.
nginx on ubuntu 16.04 not redirect permanently.
i running nginx version 1.12.2
my ssl  page not working and  curl -I says
HTTP/1.1 302 MOves Temporrarily

i have the same on other ubuntu exactly same nginx and no problem. what is wrong?
Hi all i have a question i am hoping you can help with, i have been working on a python project on a dev windows system and now i want to move it to a production linux system what will be the best way to do tis so i dont have to do allthe pip commands again
If we have a need to retain (can be in zipped/gz format) bsm
(Solaris Basic Security Module), what's the sizing of the partitions

I know it depends on the amount of activity but suppose I
currently have 2GB left, how much more to extend?

BSM is merged with auditd logs
Bitbake is a python program. Following guide shows how to setup BitBake.

Form Linux command prompt, I invoke bitbake by simply typing bitbake.  Since the location of this program is in PATH variable, bitbake runs. But how does python compiler know it's a python program.  Aren't python programs required to have .py extension?

filename:  bitbake
#!/usr/bin/env python3
# ex:ts=4:sw=4:sts=4:et
# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*-
# Copyright (C) 2003, 2004  Chris Larson
# Copyright (C) 2003, 2004  Phil Blundell
# Copyright (C) 2003 - 2005 Michael 'Mickey' Lauer
# Copyright (C) 2005        Holger Hans Peter Freyther
# Copyright (C) 2005        ROAD GmbH
# Copyright (C) 2006        Richard Purdie
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2 as
# published by the Free Software Foundation.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.

import os
import sys


Open in new window

Success in ‘20 With a Profitable Pricing Strategy
Success in ‘20 With a Profitable Pricing Strategy

Do you wonder if your IT business is truly profitable or if you should raise your prices? Learn how to calculate your overhead burden using our free interactive tool and use it to determine the right price for your IT services. Start calculating Now!

Hi all i am trying to setup my ubuntu server so i can run my python scripts and when i try to install mysql-client or mysql for python i am getting a error
Command "/usr/bin/python3 -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-nwk7rejx/mysqlclient/';f=getattr(tokenize, 'open', open)(__file__);'\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /tmp/pip-10shw23u-record/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /tmp/pip-build-nwk7rejx/mysqlclient/

i have  tried good old google and all the ones i have found on there to try didnt work any help would be great
I have the following in a php file:

$output = shell_exec(dirname(__FILE__) . '/');

When I call that file from a browser, it is supposed to run this .sh command in another file in same dir:

me@myserver:~/public_html/$ app/console myaccount:get_flat_rate_quotes sku 7017

Which is supposed to add that sku to a table. When I run that sh command from an SSH terminal, it works. What am I missing?

My web host confirmed shell_exec will work on my server.
On a linux server when I source ping out the interface (using as source port of linux box)
ping -c3 -N
PING ( 56 bytes of data
sendto: 5033
sendto: 5033
snedto: 5033

I can ping from
I can ping from other interfaces
Question is what the 'sendto: 5033' response indicate?
I've installed several Linux distributions in virtual machines running under VMWare Workstation v15.5  [Elementary v5.0,  Linux Mint v19.2,  Ubuntu LTS v18.04.4,  and Ubuntu v19.10

NONE of them have sound when they boot up -- they all display the following message during the boot process:

Linux Sound Issue in VMWare
The "FIX" is very simple:   After the OS is running, just go to VM - Settings - Sound Card and click on the "Connected" box and all will be well.

But it'd be nice if this wasn't necessary.   Anyone know how to resolve it?
I just installed Centos 7, and I get too much stuff being output when I use set -x. Weird, huh?
$ set -x
++ __vte_prompt_command
+++ sed 's/^ *[0-9]\+ *//'
+++ history 1
++ local 'command=set -x'
++ command='set -x'
++ local 'pwd=~'
++ '[' /home/admin/Tst '!=' /home/admin ']'
++ pwd='~/Tst'
+++ __vte_osc7
++++ __vte_urlencode /home/admin/Tst
++++ LC_ALL=C
++++ str=/home/admin/Tst
++++ '[' -n /home/admin/Tst ']'
++++ safe=/home/admin/Tst
++++ printf %s /home/admin/Tst
++++ str=
++++ '[' -n '' ']'
++++ '[' -n '' ']'

Open in new window

Furthermore, if I type any command, such as ls -l, I get the above stuff with some additional stuff which is possibly related to the specific command. To see the results of the command, I have to scroll up. So, please tell me how to get rid of this stuff and just in case this stuff can prove useful someday, how do I turn this stuff back on?

If I use a -x in a bash script or function in .bashrc, the stuff even spills out past the script.
I installed Ubuntu v19.10 in a VMWare virtual machine (running Workstation 15.5), and discovered an issue with Firefox in this environment.

If you go to, and then attempt to play any of their videos, you get a "forever spinning circle" and a message at the upper left part of the video that says "Something went wrong during native playback."   This happens no matter which video I select.

I went to to see if their videos would play, and in that case I get a "Video Not Available" message, with a subtext that says "Unfortunately, this video is missing or damaged and cannot be played" -- but in this case there's no "forever spinning circle".

If I go to and play one of their videos, everything works fine.

Just for grins, I installed Chromium, and all of the videos play perfectly in this browser.

Interestingly, Firefox works fine for all of these in virtual machines I set up for a couple other Linux distros -- Elementary v5.0 and Linux Mint v19.2.

Just for grins, I also installed the latest LTS version of Ubuntu (v18.04.3) … and it has the exact same issue with Firefox.

Any ideas ??
Hi linux experts

Have a huge directory in linux, since many users access and creates files/driectories. even thought we instructed the team...sometime files are owned by them.

As an automation process which reads this parent directory, it fails if its owned by others. automation process can only read and write if its owned by uid/gid 1000
So I run a script on a regular basis as a root to set chown (1000:1000) and chmod 775, so my automation never fails.

Is there a smarter way to handle this situation please. Irrespective of logged user or whoever creates it....files/directory should be set to 1000.

May be g+s set on the parent directory, so all child objects are owned by 1000

please advice/suggest
I have Darter Pro Linux Laptop running Ubuntu 18.04 LTS (64-bit).  It was shipped with vi editor pre-installed.  In following thread I asked how to install vim.
I selected following solution.
>> vim and vi in newer versions are one and the same, run vi --version;

Attached version information shows that I have vim 8.0.  I think lot of features are missing.  There is no multiple file support.  I open many files from
command prompt but only One file opens.
There is no support for python.  See attached     -python3, meaning python3 feature is missing.
Also, it says small version without GUI.  Please see attached version information.
Hello, so I've been trying to fiddle with iptables for my web server. Everything is working except for passive ftp and I can't seem to get it right.

Here are my iptables rules:

-A INPUT -i lo -j ACCEPT 
-A INPUT -p tcp -m tcp --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT 
-A INPUT -p tcp -m tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT 
-A INPUT -p tcp -m tcp --dport 443 -m state --state NEW,ESTABLISHED -j ACCEPT 
-A INPUT -p tcp -m tcp --dport 21 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT 
-A INPUT -p tcp -m tcp --dport 20 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT 
-A INPUT -p tcp -m tcp --sport 1024:65535 --dport 1024:65535 -m conntrack --ctstate ESTABLISHED -j ACCEPT 

Open in new window

I have the line IPTABLES_MODULES="nf_conntrack_ftp" in iptables-config

Anyway, all ftp users aren't able to connect (they are if I disable iptables).
To put it better, they do connect but then they can never reach their root directory and they get an error saying the / directory couldn't be found.

So there must be something wrong in my IPTABLES, but I can't find it for the life of me. I've followed every guide I found and I can't find my mistake.

Can you guys lend a hand?
Announcing the Winners!
LVL 19
Announcing the Winners!

The results are in for the 15th Annual Expert Awards! Congratulations to the winners, and thank you to everyone who participated in the nominations. We are so grateful for the valuable contributions experts make on a daily basis. Click to read more about this year’s recipients!

Dear EE,

I have Linux DB server with Oracle 11g Release 2 Patch Set 4.

I have configured IPv6 on this server.
After IPv6  SQLPLUS is not starting

Error: Command Not Found.

Bitbake is a python program. It was downloaded from:
bitbake 1.40.0 branch was selected for download.

What instantiated class ConfigParameters(object)?  I see that __init__ or constructor was executed but exactly what python code instantiated this class?

object created
class ConfigParameters(object):
    def __init__(self, argv=sys.argv):
        self.options, targets = self.parseCommandLine(argv)
        self.environment = self.parseEnvironment()

Open in new window

filename:  bitbake
if __name__ == "__main__":
    if __version__ != bb.__version__:
        sys.exit("Bitbake core version and program version mismatch!")

Open in new window

BitBake is a Python Program.  I downloaded BitBake from  I selected branch version 1.40.0 and downloaded the zip.  
At least some of the source code is in bitbake-1.40.0/bin  and  bitbake-14.0.0/lib folders.

I can insert print statements to navigate source code.  Is there alternate way to navigate python program such as bitbake?
I have Darter Pro Linux Laptop running Ubuntu 18.04 LTS (64-bit).  vi editor is installed but I want to install vim editor.
Attached file show that vi is installed but vim isn't installed.

What is the best way to manage this installation?  Should I remove vi and then install vim?  vi came installed with this new laptop.  Is it even possible to remove it?
I haven't worked in bash for many years. Someone at work had a problem with substituting a string in a file with a string that included a space. Here is what is in the .bashrc file.
alias frf='set -o noglob;_frf'

function _frf
    \echo “Replacing $1 with $2 in all $3 files…”
    \grep -li $1 $3 | \xargs -tI@ \sed -i 's/'$1'/'$2'/g' @

Open in new window

The files 1.txt and 2.txt are identical with the contents:
this is a string

Open in new window

The following gives no problems:
frf ring rung
frf rung ring
Then diff 1.txt 2.txt shows no differences.

But the following gives an error:
$ frf ring "r\ ing" 1.txt
“Replace ring with r\ ing in all 1.txt files…”
sed -i s/ring/r\ ing/g 1.txt 
sed: -e expression #1, char 9: unterminated `s' command

Open in new window

I have a couple questions about his alias file.
what does this mean: set -o noglob ?
Why are there '\' before the echo and the grep ?
How to modify this alias to enable escaped spaces?

Btw, what is wrong with diff *.txt which gives error "missing operand after '*.txt'" ? Never had problems like this before. diff 1.txt 2.txt is ok.

I also tried this line which was worse:
find . -name "$3" -exec sed -i 's/$1/$2/g' {} \;

Open in new window

We got an audit finding that our Solaris (& possibly Linux as well but I haven't
verify) OS account used for Nagios monitoring do not have password expiry.

However, when a Solaris account got expired, it'll cause service disruption
(just like root's cron jobs): is there any way around this?

Can we set the SHELL for the nagios account to   /bin/false or no shell so
that it's deemed as non-interactive account & don't require password
expiry?   Will Nagios still work with no shell or a false shell??

if we change the password of this nagios account periodically, do we
need to change it in nagios (script or settings) somewhere?






Linux is a UNIX-like open source operating system with hundreds of distinct distributions, including: Fedora, openSUSE, Ubuntu, Debian, Slackware, Gentoo, CentOS, and Arch Linux. Linux is generally associated with web and database servers, but has become popular in many niche industries and applications.