Tag Archives: ubuntu

Under Ubuntu, py2 and PY3 coexist, / usr / bin / Python: no module named virtualenvwrapper error resolution

Geeks, please accept the hero post of 2021 Microsoft x Intel hacking contest>>>

In Ubuntu, py2 and PY3 coexist

Running virtualenvwrapper will report the following error:

/usr/bin/python: No module named virtualenvwrapper

My virtual env wrapper is actually installed in python3, but not in python2

However, the script of virtualenvwrapper still uses/usr/bin/Python by default. We need to modify it to/usr/bin/Python 3 by default.

in the ~ /. Bashrc file, before source/usr/local/bin/virtualenvwrapper.sh, add:

export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3

That is to say, the paragraph about virtualenvwrapper.sh is modified as follows:

if [ -f /usr/local/bin/virtualenvwrapper.sh ]; then
    export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
    export WORKON_HOME=$HOME/.virtualenvs
    source /usr/local/bin/virtualenvwrapper.sh
fi

Ubuntu prompt no such device grub rescue solution

Geeks, please accept the hero post of 2021 Microsoft x Intel hacking contest>>>

In win8’s computer installed an Ubuntu 13.10, composed of dual system, the result after the start of such a prompt, the key is not even win8 into
after checking the method on the Internet, it has been solved

problem description : boot prompt no such device grub rescue and other error messages
cause of the problem : due to the loss of the master boot record MBR
solution : one is to repair MBR in windows, and the other is to repair MBR in Ubuntu. Because I couldn’t get into windows at all, I fixed it with Ubuntu. To use the installation disk of Ubuntu, what I do is to make the startup disk of U disk, insert it into the computer, boot it with U disk, select “Try Ubuntu”, then open the terminal with Ctrl + Alt + T, and type:

sudo apt-get install lilo  
sudo lilo -M /dev/sda mbr

Restart, it can be solved

Ubuntu problem: E45:’readonly’ option is set (add! To override) error solved

Problem description: E45:’readonly’ option is set (add! To override)

Problem analysis: The error is that the current user does not have permission to modify the file

problem solved:

Input : w! Sudo tee%

  • :w – write
  • !sudo – call shell sudo command
  • tee – the output of write (:w) command is redirected using tee
  • % – Current file name

 

Ubuntu: How to Solve RTNETLINK answers: File exists (Two Methods)

There are two reasons for this problem

###1. When there are two gateways, there are two gateways in IP address configuration

    auto eth0
    iface eth0 inet static
    address 192.168.5.21
    netmask 255.255.2550
    gateway 192.168.5.1

    # VM traffic interface
    auto eth1
    iface eth1 inet static
    address 192.168.5.22
    netmask 255.255.255.0
    gateway 192.168.5.1

eth0 and eth1 have different IP addresses, but they have both configured gateways. At this time, after one starts, the other fails to start

RTNETLINK answers: File exists
Failed to bring up eth2.

If you still have this situation after modification, you need to refresh eth0 and eth1

    ip addr flush dev eth0
    ip addre flush dev eth1
    ifdown eth0 && ifup eth0 && ifdown eth1 && ifup eth1

###2. When the bridge or other network is deleted and the network is changed correctly, this problem still occurs # IP addr flush dev eth0 # restart the network configuration under the condition of ensuring that the network configuration is correct

IP addr flush also dumps all the deleted addresses in the format described in the previous subsection

Under Ubuntu system, selenium opens the Firefox browser and prompts’ unable to find a matching set of capabilities. And message: connect

Environment.

1.ubuntu system

2.selenium 3.141.0

3.Firefox driver geckodriver-v0.24.0-linux32

To execute the script in Python.

from selenium import webdriver
browser = webdriver.Firefox()

Result tips: Message: Unable to find a matching set of capabilities

Traceback (most recent call last):
File “/home/yanner/seleniumtest/sousuo.py”, line 2, in <module>
browser = webdriver.Firefox()
File “/usr/local/lib/python2.7/dist-packages/selenium/webdriver/firefox/webdriver.py”, line 174, in __init__
keep_alive=True)
File “/usr/local/lib/python2.7/dist-packages/selenium/webdriver/remote/webdriver.py”, line 157, in __init__
self.start_session(capabilities, browser_profile)
File “/usr/local/lib/python2.7/dist-packages/selenium/webdriver/remote/webdriver.py”, line 252, in start_session
response = self.execute(Command.NEW_SESSION, parameters)
File “/usr/local/lib/python2.7/dist-packages/selenium/webdriver/remote/webdriver.py”, line 321, in execute
self.error_handler.check_response(response)
File “/usr/local/lib/python2.7/dist-packages/selenium/webdriver/remote/errorhandler.py”, line 242, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.SessionNotCreatedException: Message: Unable to find a matching set of capabilities

Solution: Update firefox browser</strong

1. Go to the official firefox website from your browser and download the latest version of firefox-67.0.4.tar.bz2

2. Go to the download directory and unzip the file. </strong

3. Open the terminal emulator, go to the download directory, and enter the install command line. <strong

root@yanner-VirtualBox:/home/yanner/download/firefox# sudo apt-get install firefox
After updating, Firefox 52.0.2

Execute the script again to open the browser normally:

from selenium import webdriver
browser = webdriver.Firefox()

However, opening the page fails with the message Message: connection refused:

from selenium import webdriver
browser = webdriver.Firefox()
browser.get(“http://www.baidu.com”)
browser.find_element_by_id(“kw”).send_keys(“selenium”)
browser.find_element_by_id(“su”).click()
browser.quit()

After half a day of research, the driver geckodriver-v0.24.0-linux32 down version, the directory /usr/local/bin under the driver geckodriver deleted, downloaded geckodriver-v0.17.0-linux32 unzip copy to /usr/local/bin

Run the above script again and it opens normally!

Ubuntu Tomcat Server:insserv: warning: script ‘tomcat’ missing LSB tags and overrides

 

If you use apt get and apt fast to install the software, you will report an error and the installation fails

A Tomcat startup script is written, which is easy to execute, but there are a lot of problems when installing mysql

insserv: warning: script 'S20tomcat' missing LSB tags and overrides
insserv: warning: script 'tomcat' missing LSB tags and overrides
insserv: There is a loop at service rmnologin if started insserv: There is a loop between service rmnologin and mountnfs if started insserv: loop involving service mountnfs at depth 6 insserv: loop involving service networking at depth 5 insserv: There is a loop between service tomcat and hwclock if started insserv: loop involving service hwclock at depth 3 insserv: loop involving service mountdevsubfs at depth 2 insserv: There is a loop between service tomcat and udev if started insserv: loop involving service udev at depth 1 insserv: Starting tomcat depends on rmnologin and therefore on system facility `$all' which can not be true! insserv: Starting tomcat depends on rmnologin and therefore on system facility `$all' which can not be true! insserv: Starting tomcat depends on rmnologin and therefore on system facility `$all' which can not be true! insserv: Starting tomcat depends on rmnologin and therefore on system facility `$all' which can not be true! insserv: Starting tomcat depends on rmnologin and therefore on system facility `$all' which can not be true! insserv: Starting tomcat depends on rmnologin and therefore on system facility `$all' which can not be true! insserv: Starting tomcat depends on rmnologin and therefore on system facility `$all' which can not be true! insserv: Starting tomcat depends on rmnologin and therefore on system facility `$all' which can not be true! insserv: Starting tomcat depends on rmnologin and therefore on system facility `$all' which can not be true! insserv: Starting tomcat depends on rmnologin and therefore on system facility `$all' which can not be true! insserv: Starting tomcat depends on rmnologin and therefore on system facility `$all' which can not be true!

Actually, it also led to the failure of automatic configuration prompt after MySQL installation. According to LSB tags specification, the rewriting script is as follows (debian8 environment)

#!/bin/bash
### BEGIN INIT INFO
# Provides:          bbzhh.com
# Required-Start:    $local_fs $network
# Required-Stop: $local_fs # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: tomcat service # Description: tomcat service daemon ### END INIT INFO # # description: Apache Tomcat init script # processname: tomcat # chkconfig: 234 20 80 # # # Copyright (C) 2014 Miglen Evlogiev # # This program is free software: you can redistribute it and/or modify it under # the terms of the GNU General Public License as published by the Free Software # Foundation, either version 3 of the License, or (at your option) any later # version. # # This program is distributed in the hope that it will be useful, but WITHOUT # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS # FOR A PARTICULAR PURPOSE. See the 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, see <http://www.gnu.org/licenses/>. # # Initially forked from: gist.github.com/valotas/1000094 # Source: gist.github.com/miglen/5590986 #Location of JAVA_HOME (bin files) export JAVA_HOME=/opt/jdk #Add Java binary files to PATH export PATH=$JAVA_HOME</span>/bin:<span class="variable">$PATH #CATALINA_HOME is the location of the bin files of Tomcat export CATALINA_HOME=/opt/tomcat #CATALINA_BASE is the location of the configuration files of this instance of Tomcat export CATALINA_BASE=/opt/tomcat export CATALINA_BOOTSTRAP=/opt/tomcat/bin/bootstrap.jar #TOMCAT_USER is the default user of tomcat export TOMCAT_USER=tomcat #TOMCAT_USAGE is the message if this script is called without any options TOMCAT_USAGE="Usage: $0 {\e[00;32mstart\e[00m|\e[00;31mstop\e[00m|\e[00;31mkill\e[00m|\e[00;32mstatus\e[00m|\e[00;31mrestart\e[00m}" #SHUTDOWN_WAIT is wait time in seconds for java proccess to stop SHUTDOWN_WAIT=20 tomcat_pid() { echo `ps -fe | grep $CATALINA_BOOTSTRAP | grep -v grep | tr -s " "|cut -d" " -f2` } start() { pid=$(tomcat_pid) if [ -n "$pid" ] then echo -e "\e[00;31mTomcat is already running (pid: $pid)\e[00m" else # Start tomcat echo -e "\e[00;32mStarting tomcat\e[00m" #ulimit -n 100000 #umask 007 #/bin/su -p -s /bin/sh $TOMCAT_USER if [ `user_exists $TOMCAT_USER` = "1" ] then /bin/su $TOMCAT_USER</span> -c <span class="variable">$CATALINA_HOME/bin/startup.sh else echo -e "\e[00;31mTomcat user $TOMCAT_USER</span> does not exists. Starting with <span class="variable">$(id)\e[00m" sh $CATALINA_HOME/bin/startup.sh fi status fi return 0 } status(){ pid=$(tomcat_pid) if [ -n "$pid" ] then echo -e "\e[00;32mTomcat is running with pid: $pid\e[00m" else echo -e "\e[00;31mTomcat is not running\e[00m" return 3 fi } terminate() { echo -e "\e[00;31mTerminating Tomcat\e[00m" kill -9 $(tomcat_pid) } stop() { pid=$(tomcat_pid) if [ -n "$pid" ] then echo -e "\e[00;31mStoping Tomcat\e[00m" #/bin/su -p -s /bin/sh $TOMCAT_USER sh $CATALINA_HOME/bin/shutdown.sh let kwait=$SHUTDOWN_WAIT count=0; until [ `ps -p $pid | grep -c $pid` = '0' ] || [ $count</span> <span class="operator">-gt</span> <span class="variable">$kwait ] do echo -n -e "\n\e[00;31mwaiting for processes to exit\e[00m"; sleep 1 let count=$count+1; done if [ $count</span> <span class="operator">-gt</span> <span class="variable">$kwait ]; then echo -n -e "\n\e[00;31mkilling processes didn't stop after $SHUTDOWN_WAIT seconds\e[00m" terminate fi else echo -e "\e[00;31mTomcat is not running\e[00m" fi return 0 } user_exists(){ if id -u $1 >/dev/null 2>&1; then echo "1" else echo "0" fi } case $1 in start) start ;; stop) stop ;; restart) stop start ;; status) status exit $?;; kill) terminate ;; *) echo -e $TOMCAT_USAGE ;; esac exit 0 

In fact, the solution is in the future/ Bin/Bash

### BEGIN INIT INFO
# Provides:          bbzhh.com
# Required-Start:    $local_fs $network
# Required-Stop:     $local_fs
# Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: tomcat service # Description: tomcat service daemon ### END INIT INFO

Of course, once and for all:

apt-get remove insserv

The startup script file is placed in the/etc/init.d/ folder, and the file name is the service name that reported the error. What I reported is tomcat8, which is installed according to other people’s tutorial. It seems that even if you follow the tutorial, there is no error
(PS: I still suggest not to go once and for all. It’s safer to change the above documents. Anyway, I succeeded according to the above, but the once and for all method was not successful. On the contrary, there were some other problems.)

Ubuntu Startup Error: “piix4_smbus 0000:00:07.3: SMBus Host controller not enabled”

Why can’t you grab tickets when you travel on holiday?Reveal the key technology of 12306 how to ensure the ticket is not oversold>>>

Problem Description: prompt “piix4” when Ubuntu starts up_ smbus 0000:00:07.3: SMBus Host controller not enabled”

Version: Ubuntu 18.04 VMware 14.0

Reason: I2C is loaded into the system_ Piix4 module, because the system can not find this module, so an error is reported

Solution: 1. Find out the exact name of the loading module. Command: lsmod | grep I2C (query result: I2C_ Piix4 module)

2. Put the module in the no load list. Edit file command: sudo VI/etc/modprobe.d/blacklist.conf, add blacklist I2C to the last line of the file_ Piix4, save and exit

3. Regenerate the boot file. Command: sudoupdate initramfs – U – K all

4. Restart the system. Command: Reboot

Command screenshot:

Solve the problem of Ubuntu: “SMBus base address uninitialized -…”

Why can’t you grab tickets when you travel on holiday?Reveal the key technology of 12306 how to ensure the ticket is not oversold>>>

VirtualBox piix4_ smbus Error

VirtualBox 3.2.10 gives me the following error message when booting Ubuntu 10.10: –

piix4_smbus 0000.00.07.0: SMBus base address uninitialized - upgrade bios or use force_addr=0xaddr

This error is caused by VM having no smbus but Ubuntu always trying to load the module. It doesn’t affect anything but is a bit annoying – to fix: –

1. Check module is being loaded: –

lsmod | grep i2c_piix4

2. If so, blacklist it in /etc/modprobe.d/blacklist.conf, by adding the following to the end of the file :-

blacklist i2c_piix4

3. Update the initramfs

update-initramfs -u -k all

The prompt will return something like
update-initramfs: Generating /boot/initrd.img-2.6.35-22-server

Ubuntu solves sudo: Source: command not found error

Why can’t you grab tickets when you travel on holiday?Reveal the key technology of 12306 how to ensure the ticket is not oversold>>>

Execute the following command on the Ubuntu server, and you can see that the number of open files is limited to 1024 by default

$ ulimit -n

1024

Edit the/etc/profile configuration file and add a line at the end:

ulimit -SHn 65535

To make the configuration work:

$ sudo source /etc/profile

sudo: source: command not found

What happens if we directly execute ulimit – SHN 65535

$ ulimit -SHn 65535

-bash: ulimit: open files: cannot modify limit: Operation not permitted

$ sudo ulimit -SHn 65535

sudo: ulimit: command not found

After ordinary users get root permission, they will be prompted that they can’t find the command. How to solve this problem

$ sudo -s

# source /etc/profile

Execute ulimit again, and you can see that the limit number of open files has been changed to 65535

# ulimit -n

65535

[C + +] there is an error in compiling C program under Linux’s Ubuntu: the solution of “strain ‘\ \ 302’ or ‘\ \ 240’ in program”

[C + +] there is an error in compiling C program under Linux’s Ubuntu: the solution of “strain ‘\ \ 302’ or ‘\ \ 240’ in program”

Reference article:

(1) [C + +] there is an error in compiling C program under Linux’s Ubuntu: the solution of “strain ‘\ \ 302’ or ‘\ \ 240’ in program”

(2) https://www.cnblogs.com/johnnyzen/p/7995666.html

Let’s make a note.