Archive for February 2016
Manage your android from within Linux, Install Android Tools (ADB, Fastboot, ... & QtADB)
18 February 2016
Posted by Unknown
Tag :
Android-Tutorials,
Linux-Tutorials
1. Install Android tools
If you don't plan to do some development on your android device, you don't need to install the complete SDK.Two android-tools packages are now available for Ubuntu. They provide a minimal set of tools like adb and fastboot.
These tools are exactly what you need to root your phone, to flash a ROM, to sideload an application, ...
As these packages are now in Ubuntu official repositories, is has become very easy to install these packages :
# sudo apt-get install android-tools-adb android-tools-fastboot
2. Update to ADB 1.0.32
Since Android Lollipop 5.0, ADB 1.0.32 is needed to sideload your device.As Ubuntu repository has still not been updated at the time of this article, we need to update ADB with latest version found in Google https://skia.googlesource.com/skia/ archives.
This can be done easily with these commands :
# adb version
Android Debug Bridge version 1.0.31
# wget -O - https://skia.googlesource.com/skia/+archive/cd048d18e0b81338c1a04b9749a00444597df394/platform_tools/android/bin/linux.tar.gz | tar -zxvf - adb
# sudo mv adb /usr/bin/adb
# sudo chmod +x /usr/bin/adb
# adb version
Android Debug Bridge version 1.0.32
Android Debug Bridge version 1.0.31
# wget -O - https://skia.googlesource.com/skia/+archive/cd048d18e0b81338c1a04b9749a00444597df394/platform_tools/android/bin/linux.tar.gz | tar -zxvf - adb
# sudo mv adb /usr/bin/adb
# sudo chmod +x /usr/bin/adb
# adb version
Android Debug Bridge version 1.0.32
You now have latest ADB version which will allow you to handle your Lollipop devices.
3. Install QtADB
QtADB is a powerful graphical Android device manager based on ADB protocol.
QtADB will allow you to :
- have a complete access to your Android device filesystem
- manage your installed applications
- get some device informations (battery level, memory usage, ...)
- take some device display screenshot
3.1. Prerequisite on Phone or Tablet Side
To be able to fully use QtADB with your phone or tablet, the device needs to :- be rooted
- have busybox installed (without busybox installed, half of QtADB functionalities won't work)
This is done thru Settings / Superuser / Settings
You can test your phone configuration with the following command from your computer :
# adb shell busybox ls -l -a
drwxr-xr-x 16 root root 0 Mar 30 14:27 .
drwxr-xr-x 16 root root 0 Mar 30 14:27 ..
drwxr-xr-x 3 root root 0 Mar 30 14:27 acct
drwxrwxrwt 2 root root 40 Mar 30 14:27 app-cache
drwxrwx--x 1 system cache 4096 Mar 31 14:08 cache
...
drwxr-xr-x 16 root root 0 Mar 30 14:27 .
drwxr-xr-x 16 root root 0 Mar 30 14:27 ..
drwxr-xr-x 3 root root 0 Mar 30 14:27 acct
drwxrwxrwt 2 root root 40 Mar 30 14:27 app-cache
drwxrwx--x 1 system cache 4096 Mar 31 14:08 cache
...
3.2. Installation
QtADB requires :- a working ADB installation (done previously)
- Qt libs version 4.7
Select the download package according to your distribution (32bits i386 or 64bits Amd64).
# sudo apt-get install libqtgui4 libqt4-network libqt4-declarative libqt4-opengl
# wget http://bernaerts.dyndns.org/download/ubuntu/adb/QtADB_0.8.1_linux64.tar.gz
# tar -xvf QtADB*.tar.gz
# sudo mv ./QtADB*/QtADB /usr/local/sbin/qtadb
# sudo chmod +x /usr/local/sbin/qtadb
# rm -R QtADB*
# wget http://bernaerts.dyndns.org/download/ubuntu/adb/QtADB_0.8.1_linux64.tar.gz
# tar -xvf QtADB*.tar.gz
# sudo mv ./QtADB*/QtADB /usr/local/sbin/qtadb
# sudo chmod +x /usr/local/sbin/qtadb
# rm -R QtADB*
QtADB is now installed on your computer.
3.4. Create Application Launcher
Last step is to declare the application to be used by your desktop launcher..This is done by downloading an application icon and by creating a qtadb.desktop file :
# sudo wget -O /usr/share/icons/qtadb.png http://bernaerts.dyndns.org/download/ubuntu/adb/qtadb.png
# sudo wget -O /usr/share/applications/qtadb.desktop https://raw.githubusercontent.com/NicolasBernaerts/ubuntu-scripts/master/android/qtadb.desktop
# sudo wget -O /usr/share/applications/qtadb.desktop https://raw.githubusercontent.com/NicolasBernaerts/ubuntu-scripts/master/android/qtadb.desktop
You can now launch QtADB and your Android phone filesystem should now fully accessible.
For example, your can take full screenshot of your phone display in one click.
Be careful, you have the full powers !
This article is copied original author : By Nicolas Bernaerts original article url : http://bernaerts.dyndns.org/linux/74-ubuntu/328-ubuntu-trusty-android-adb-fastboot-qtadb
For example, your can take full screenshot of your phone display in one click.
Be careful, you have the full powers !
This article is copied original author : By Nicolas Bernaerts original article url : http://bernaerts.dyndns.org/linux/74-ubuntu/328-ubuntu-trusty-android-adb-fastboot-qtadb
how to maximize internet speed on Linux (Ubuntu and derivatives)
16 February 2016
Posted by Unknown
Tag :
Linux-Tutorials
most of the bandwidth is taken by name resolution (DNS) and by simply installing a small and lightweight caching dns server you get 70% of bandwidth
Dnsmasq is an incredible piece of software, an integrated DHCP, DNS, PXE and TFTP server. It’s extremely lightweight and easy on CPU and memory, perfect for constrained embedded systems.
Using dnsmasq significantly improves web browsing experience, much better than the browser’s inbuilt DNS cache. There are better DNS servers around, why dnsmasq ? It’s lightweight, easier to configure and I’m using it as TFTP and PXE server too.
1. Installing Dnsmasq
Dnsmasq is available as precompiled binary package for almost every Linux distro, for Debian and it’s derivatives like Ubuntu, Linux Mint, install dnsmasq with the following command.
sudo apt-get install dnsmasq |
Create a new group dnsmasq , will be used later in the dnsmasq configuration file.
sudo groupadd -r dnsmasq
|
2. configuring dnsmasq as DNS server
Let’s edit the dnsmasq configuration file to use it as caching dns server, there is one main configuration file /etc/dnsmasq.conf , and it could also load many individual configuration files from the /etc/dnsmasq.d/ folder.
First backup the original dnsmasq.conf file and start editing the main configuration with your favorite text editor like nano, Gedit etc.
sudo cp /etc/dnsmasq.conf /etc/dnsmasq.conf.bac |
sudo nano /etc/dnsmasq.conf |
Note: Editing the configuration file requires root privilege.
Look at the dnsmasq example configuration I’m using in a Debian testing system.
# Interface, user and PID # listen-address=127.0.0.1 port=53 bind-interfaces user=dnsmasq group=dnsmasq pid-file=/var/run/dnsmasq/dnsmasq.pid # Additional configuration # no-poll bogus-priv neg-ttl=3600 cache-size=1000 dns-forward-max=150 domain-needed resolv-file=/etc/resolv.personal addn-hosts=/etc/hosts.adblock |
You may directly copy-paste and save the above configuration, now I’m explaining a little what these configuration options mean.
- listen-address , use this IP as DNS server IP.
- port , bind this port to the above IP, 53 is the default DNS port.
- bind-interfaces , it forces dnsmasq to really bind only the interfaces it is listening on.
- user and group, dnsmasq daemon’s user and group.
- pid-file , path to the PID of dnsmasq.
- no-poll , don’t poll /etc/resolv.conf for changes.
- bogus-priv, bogus private reverse lookups.
- cache-size , max limit of cache size in memory.
- resolv-file , DNS resolver file used by dnsmasq to resolve from internet.
- addn-hosts , use a additional host file, very useful.
The addn-hosts option is interesting, you could use a long list of domains pointing to localhot(127.0.0.1) to block malicious web advertisement.
Now create the /etc/resolv.personal file, which is used by dnsmasq to resolve unknown DNS requests from another upstream DNS server.
sudo nano /etc/resolv.personal |
and put some nameserver there like bellow.
nameserver 8.8.8.8 nameserver 8.8.4.4 |
Finally restart dnsmasq so new configuration could be loaded, restarting dnsmasq could be different for different linux distros, first try with the service command on Debian based systems.
sudo service dnsmasq restart |
If it fails anyway, try again with systemctl command, the systemctl method is default in Archlinux and derevatives.
sudo systemctl restart dnsmasq.service |
Now the dnsmasq caching dns server is running and listening for DNS quarries on port 53.
3. Using the dnsmasq cached DNS server
Configure your connection manager like Network Manager , Connman or Wicd to use 127.0.0.1as DNS server. This step may be different, depend upon whic connection manager you are using.
For Network manager, edit your connection and set Method: to Automatic (DHCP) address onlyand set DNS servers: to 127.0.0.1 , exaple screenshot bellow.
Ubuntu, Linux mint or other Ubuntu based Linux distro may be already using another name server information handler like resolvconf , surely it will conflict with dnsmasq.
So if you are planning to use dnsmasq on ubuntu as caching dns server, better to stop resolvconf first, have a look on commands bellow.
sudo service resolvconf stop |
sudo update-rc.d resolvconf remove |
sudo rm -f /etc/resolv.conf su -c "echo 'nameserver 127.0.0.1' > /etc/resolv.conf" |
4. Testing the cached DNS server
To ensure your your system is using 127.0.0.1 (loopback address) as DNS server, look inside the/etc/resolv.conf file,
cat /etc/resolv.conf |
It must contain a line nameserver 127.0.0.1 , You can check the time required to resolve a domain name with the following command
time dig +short facebook.com |
First it may take some time, about 0.5-2 seconds, now run it again, the reply will be instant, just few miliseconds.
Flush dnsmasq DNS cache: If you ever need to flush DNS cache, just restart dnsmasq server and all cache will be flushed from memory.
sudo service dnsmasq restart |