apt-get update signatures couldn’t be verified NO_PUBKEY

# apt-get update
W: GPG error: http://apt.repo.com wheezy Release: The following signatures were invalid: KEYEXPIRED 1587841717 KEYEXPIRED 1587841717 KEYEXPIRED 1587841717 KEYEXPIRED 1587841717 KEYEXPIRED 1587841717 KEYEXPIRED 1557241909 The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 7638D0442B90D010

# apt-key adv --keyserver keys.gnupg.net --recv-keys 7638D0442B90D010
Executing: gpg --ignore-time-conflict --no-options --no-default-keyring --secret-keyring /tmp/tmp.IVpDwvue7y --trustdb-name /etc/apt//trustdb.gpg --keyring /etc/apt/trusted.gpg --primary-keyring /etc/apt/trusted.gpg --keyring /etc/apt/trusted.gpg.d//debian-archive-squeeze-automatic.gpg --keyring /etc/apt/trusted.gpg.d//debian-archive-squeeze-stable.gpg --keyring /etc/apt/trusted.gpg.d//debian-archive-wheezy-automatic.gpg --keyring /etc/apt/trusted.gpg.d//debian-archive-wheezy-stable.gpg --keyserver keys.gnupg.net --recv-keys 7638D0442B90D010
gpg: requesting key 2B90D010 from hkp server keys.gnupg.net
gpg: key 2B90D010: public key "Debian Archive Automatic Signing Key (8/jessie) <ftpmaster@debian.org>" imported
gpg: no ultimately trusted keys found
gpg: Total number processed: 1
gpg:               imported: 1  (RSA: 1)

# apt-get update 
Get:1 http://apt.repo.com wheezy Release.gpg [2,373 B]
Hit http://apt.repo.com wheezy Release   
Hit http://apt.repo.com wheezy/main amd64 Packages
Get:2 http://apt.repo.com wheezy/non-free amd64 Packages [641 B]
Hit http://apt.repo.com wheezy/contrib amd64 Packages
Hit http://apt.repo.com wheezy/contrib Translation-en
Hit http://apt.repo.com wheezy/main Translation-en
Hit http://apt.repo.com wheezy/non-free Translation-en
Err http://apt.repo.com wheezy/non-free amd64 Packages
Fetched 3,014 B in 0s (4,389 B/s)                 
Reading package lists... Done

#!/usr/bin/env python

#!/usr/bin/env python
The first line in this file is the "shebang" line.  When you execute a file 
from the shell, the shell tries to run the file using the command specified 
on the shebang line.  The ! is called the "bang".  The # is not called the
"she", so sometimes the "shebang" line is also called the "hashbang".
The hash character is used because it defines a comment in most scripting
languages, so the shebang line will be ignored by the scripting language
by default.
The shebang line was invented because scripts are not compiled, so they are
not executable files, but people still want to "run" them.  The shebang
line specifies exactly how to run a script.  In other words, this shebang
line says that, when I type in ./basics.py, the shell will actuall run 
  /usr/bin/env python basics.py
We use 
  #!/usr/bin/env python
instead of 
because we must specify an absolute path to a program, and /usr/bin/env 
is a utility that uses the user's path to run an application (in this
case, python).  Thus, it's more portable.

More on shebang lines, including portability: 

If you don't like this basic walk through python, check out 

In order to execute a python script without explicitly running python,
you need to add execute permissions to the file.  To do add execute permission
to basics.py, use
  chmod u+x basics.py

refer from http://stanford.edu/~jainr/basics.py

About Windows


MSYS2 is a software distro and building platform for Windows.
At its core is an independent rewrite of MSYS, 
based on modern Cygwin (POSIX compatibility layer) and 
MinGW-w64 with the aim of better interoperability with native Windows software. 
It provides a bash shell, Autotools, 
revision control systems and the like for building native Windows applications 
using MinGW-w64 toolchains.
It features a package management system to 
provide easy installation of packages, Pacman. 
It brings many powerful features such as dependency resolution 
and simple complete system upgrades, as well as straight-forward package building.

Reference from: MSYS2 installer

This is the download link in TUNA: Index of /msys2/distrib/x86_64/

Ubuntu 16.04 can’t connect the internet by using 802.1x security

Case 1, because of the UI bug in Ubuntu 16.04, you should edit the connection file "/etc/NetworkManager/system-connections/name-of-your-connection" enter your password value in [802-1x] block like this:


Case 2, because of the USB which is a bootstrap Ubuntu system was inserted in the usb interface, after me reboot the Ubuntu system, the connection always fail. After remove the USB driver, it will work.

Debian9.5 set multiple vlans ip on one NIC in DELL R710

1, If you met this error while restart network: 

Nov 08 11:07:07 debian kernel: bnx2 0000:01:00.0: firmware: failed to load bnx2/bnx2-mips-09-6.2.1b.fw (-2)
Nov 08 11:07:07 debian kernel: bnx2 0000:01:00.0: Direct firmware load for bnx2/bnx2-mips-09-6.2.1b.fw failed with error -2

You need to install the NIC driver: DELL_LAN.iso : mount the iso, 

mount -t iso9660 DELL_LAN.iso /dstdir

and use command `dpkg -i *.deb` install the two deb packages in the iso.

2, Install the `vlan` package or use this deb package vlan_1.9-3.2+b1_amd64.deb which is download from offical website or download from this website vlan_1.9-3.2+b1_amd64.deb .

3, Add such like this configure in the network conf file: "/etc/network/interface"

auto vlan170
iface vlan170 inet static
    vlan-raw-device eno1

auto vlan174
iface vlan174 inet static
    vlan-raw-device eno1

and then, restart the networking.

4, Run the cmd `ip r s` will get some route rule like this (these will be generate automatic):

root@debian:~# ip r s
default via dev vlan170 onlink dev vlan170 proto kernel scope link src dev vlan174 proto kernel scope link src

Finish or you can change the route rule by yourself.