About a year ago I migrated all my workstations, laptops and netbooks to Arch Linux. Since then, I've setup Arch Linux on a Raspberry Pi and this server was also recently migrated to Arch Linux.
I've had no major issues issues during the last year and have upgraded through
five major Linux kernels, transistioned to systemd and upgraded from Gnome 3.2
to 3.8.
Although I have been disciplined about merging .pacnew files
frequently, during the upgrades and my many experimentations I have packages
installed that I no longer require and obsolete files kicking about.
After the upgrade to Gnome 3.8 I decided to clean up a little. I rarely dip
into the AUR, but when I do I always use packer
to clearly seperate what is official from what is not.
The following commands are useful for identifying installed packages based on where they were installed from. The package lists generated from the commands below can be quite big but often highlight packages that I know I'm no longer using nor require.
List packages installed from the official repositories.
pacman -Qq | grep -Fv -f <(pacman -Qqm)
List packages installed from the AUR.
pacman -Qqm
Use pacsysclean to list installed packages sorted by size, it helps identify
large packages that are no longer required which can the be manually uninstalled.
List ophaned packages install from the official repositories.
pacman -Qqtd | grep -Fv -f <(pacman -Qqtdm)
List ophaned packages from the AUR.
pacman -Qqmtd
Get package information for a package in the official repositories.
pacman -Si <package>
Get package information for a package in the AUR.
packer -Si <package>
Removing ophaned packages manaully can be very time consuming, but is by far the safer option. However, I decided to take a brave pill a uninstall all orphaned packages automatically.
Remove all ophaned packages installed from the official respositories.
sudo pacman -Rs `pacman -Qqtd | grep -Fv -f <(pacman -Qqtdm)`
Remove all ophanced packages install from the AUR.
sudo pacman -Rs $(pacman -Qqtdm)
When you do something scary like removing all the obsolete packages automatically, then you should really make sure you do have everything install that you require.
sudo pacman -S --needed `pacman -Sqg base multilib-devel | grep -v gcc-libs | tr '\n' ' '`
sudo pacman -S --needed `pacman -Sqg base base-devel | tr '\n' ' '`
Reinstall the groups required for a Gnome 3 desktop.
sudo pacman -S --needed `pacman -Sqg gnome gnome-extra telepathy | tr '\n' ' '`
Install all missing dependencies for packages in the official repositories.
sudo pacman -S --needed `pacman -Si $@ 2>/dev/null | awk -F ": " -v filter="^Depends" \ '$0 ~ filter {gsub(/[>=<][^ ]*/,"",$2) ; gsub(/ +/,"\n",$2) ; print $2}' | grep -v smtp- | sort -u`
Install all missing dependencies for packages in the AUR. This will re-install even if the package is already installed. I can't be arsed to filter it out for a one liner.
sudo packer -S --noedit --noconfirm `packer -Si $(pacman -Qqm) 2>/dev/null | awk -F ": " -v filter="^Depends" \ '$0 ~ filter {gsub(/[>=<][^ ]*/,"",$2) ; gsub(/ +/,"\n",$2) ; print $2}' | grep -v java- | sort -u`
When packages are removed they may leave some files behind. The following will find all files not associated with a package. These files can not be automatically deleted, each entry requires assessment.
pacman -Qlq | sort -u > /tmp/db sudo find /bin /etc /sbin /usr ! -name lost+found \( -type d -printf '%p/\n' -o -print \) | sort > /tmp/fs comm -23 /tmp/fs /tmp/db
As with all sping cleaning chores, I got bored by this stage as my workstation was looking pretty tidy. Much of what is presented in this blog post is a rehash of what others have already contributed to the Arch Linux Wiki. I've just organised what "Works For Me ™" so I know what to do next year.
I use get-iplayer
to download TV programs so I can watch them on the devices that suit me, when it
suits me. What follows is how I install get-iplayer on a headless Debian 6.0
server I have a home. The server is question is really low powered so building
from source was not an option.
In order to install the latest version of get-iplayer (currently 2.82) on
Debian Squeeze a couple of additional package
respositories need enabling.
Enable the Debain Backports repository by adding the following line to
/etc/apt/sources.list.d/backports.list.
deb http://backports.debian.org/debian-backports squeeze-backports main
Enable the Debain Multimedia repository by adding the following lines to
/etc/apt/sources.list.d/multimedia.list.
deb http://www.deb-multimedia.org squeeze main non-free deb http://www.deb-multimedia.org squeeze-backports main
Update the repositories.
sudo apt-get update
Install the deb-multimedia-keyring package.
sudo apt-get --allow-unauthenticated install deb-multimedia-keyring
Install get-iplayer (currently v2.78) from the official Debian repositories,
this will also install the dependencies.
sudo apt-get install get-iplayer
Install the get-iplayer suggested packages.
sudo apt-get install ffmpeg rtmpdump libdata-dump-perl libid3-tools libcrypt-ssleay-perl libio-socket-ssl-perl
I have seen it suggested that mplayer should also be installed. I've not
determined if that is an absolute requirement. But this is how to install it
on a headless Debian computer.
sudo apt-get --no-install-recommends install mplayer
Finally, upgrade get-iplayer to v2.82.
sudo apt-get install libmp3-tag-perl libxml-simple-perl wget http://ftp.uk.debian.org/debian/pool/main/g/get-iplayer/get-iplayer_2.82-2_all.deb sudo dpkg -i get-iplayer_2.82-2_all.deb
At this point get-iplayer should be good to go and the get-iplayer
website and man get-iplayer will assist you.
I bought a budget Android tablet a little while back that turned out to be really rather good. However, there were issues with the initial firmware.
Ployer released a firmware update in November 2012 and again in April 2013 which addressed these issues. Here's the translated change log.
- Increase the volume buttons on the vertical screen.
- System, audio and video decoding, browser, Flash player, 3G module, boot animation module BUG repair.
- Update NandFlash, Mali, Wifi module drivers, while addressing some CTS tests BUG and the stability of the system as a whole has been further enhanced.
- Optimize Flash stability, improve the efficiency of the implementation of the DDR.
- Default input method Sogou input method.
- Update Google Pinyin input method.
I did some additional analysis of what changed between the November 2012 and April 2013 release from Ployer, you can find my notes here:
However, the updated firmware comes pre-loaded with a selection of Chinese applications and defaults to a Chinese language.
I decided to have a go a making my own custom firmware for the Ployer Momo8 IPS with the following goals.
I think I've been fairly successful. My firmware includes Android 4.1.2 features and even some Android 4.2 features. Until someone successfully ports cyanogenmod to the Ployer Momo8 IPS or Ployer release a 4.2.x update then my firmware is the most complete "Google Experience" you'll find for the device.
Below are the changes I made to the official Ployer Momo8 IPS firmware.
This release is focused on stability, adding the new Google Play features announced at Google I/O 2013 and also includes everything from the previous releases.
maxp2ga0 is now 100 in:/etc/firmware/nvram_RK901.txt was previously 74./etc/firmware/nvram_RK903.cal was previously 76./etc/firmware/nvram_RK903.txt was previosuly 72./etc/firmware/nvram_RK903_26M.cal was previously 60.maxp5ga0, maxp5gla0 and maxp5gha0 are now 100 in:/etc/firmware/nvram_RK903.cal were all previously 80./etc/firmware/nvram_RK903_26M.cal were all previously 80.Books.apk (Google Play Books)GestureSearch.apkCurrents.apkGoogleEars.apk (Sound Search)GmsCore.apk (Google Play Services)Magazines.apk (Google Play Magazines)Maps.apkMusic2.apk (Google Play Music)Phonesky.apk (Play Store)Talk.apk (Hangouts)TalkBack.apk (Accessibility)Videos.apk (Google Play Movies)This version includes everything from the previous release plus the changes below.
/system partition from 375M to 428M/system/lib/system/lib/system/lib and fonts from /system/fonts/adobefontsChrome.apk but updated /system/lib/libchromeview.so from Chrome 26.0.1410.58Authenticator.apkCalendarGoogle.apkCurrents.apkDrive.apkEarth.apkGmail.apkGooglePlayBooks.apkGooglePlayMagazines.apkGooglePlayMovies.apkGooglePlayMusic.apkGooglePlayServices.apkKeep.apkMaps.apkPhonesky.apk (Play Store)PlusOne.apk (Google+)Street.apkYouTube.apk/data partition to 2GB.UCBrowser_V2.1.1.219_Android3_pf147_(Build12110718).apkdopoolplayeriReader_android_v2000_108044_guanwang.apk including shared objects from /system/lib.market_hd.apkqiyiyingshi_V3.0_mumayi_e3d3e.apkqq_mini_hd_1.9.1.apksougoushurufa.apk including shared objects from /system/lib.zhonghuawannianli_ECalendar_V3.2.3_mumayi_3ee39.apkbuild.propApkInstaller.apkRkExplorer.apkRKUpdateService.apk including shared objects from /system/lib.RkVideoPlayer.apk/system/lib.Calculator.apk : Adds different calculator panels.Galaxy4.apk : Smaller APKHoloSpiralWallpaper.apk : Smaller APKLiveWallpapers.apk : Smaller APKLiveWallpapersPicker.apk : Smaller APKMagicSmokeWallpapers.apk : Smaller APKNoiseField.apk : Smaller APKPhaseBeam.apk : Smaller APKSoundRecorder.apk : Smaller APKVisualizationWallpapers.apk : Smaller APKandroid.hardware.camera.autofocus.xmlandroid.hardware.camera.front.xmlandroid.hardware.ethernet.xmlandroid.hardware.sensor.accelerometer.xmlandroid.hardware.sensor.light.xmlandroid.hardware.touchscreen.multitouch.xmlCalendarGoogle.apkGmail.apkGooglePlayMovies.apkGooglePlayMusic.apkGooglePlayServices.apkPlusOne.apk (Google+)Maps.apkPhonesky.apk (Google Play Store)Street.apkYouTube.apkChrome.apk but updated /system/lib/libchromeview.so.framework.jar so that Gameloft titles work.build.prop to make the Ployer Momo8 IPS masquerade as
another brand or model of Android device. I will not be making this change, please
don't request it.busybox is included in the ROM, no sym-links are created.Please consider donating to this project. It is nice to have the effort I've put into this custom firmware recognised. Donors will be given access to a version of the custom firmware with ClockWorkMod Recovery integrated.
I don't ask for much, it is at your discretion, but just think how happy I'll
look when I am sipping the beer you bought me :-D
You'll need Rockchip Batch Tool which include the RockChip USB drivers and the firmware flashing utility. I've modified Rockchip Batch Tool to default to English language and removed old logs and transient data to reduce the size of the download. You'll also need the firmware itself.
100c5effa6c3b062b3edb4179ddeef3982b005a204022f1d3d46500b4f1278eeDownload Rockchip Batch Tool and the STOCK RECOVERY version of the ROM. Check the MD5 checksums displayed above, match your downloaded versions. If not, download again. Unzip both archives when they are downloaded correctly.
Flashing this ROM will will effectively factory reset your tablet, wipe your installed apps, app data and preferences. If you have rooted your tablet you might want to consider making a backup with Titanium Backup * root. If you have not rooted your tablet then you could use Helium - App Sync and Backup.
Settings -> Developer options and untick USB debugging.RKBatchTool.exe.RKBatchTool choose firmware file, click the Switch button. The
device icon should change to green to indicate a successful connection.Upgrade./data, /cache and /mnt/sdcard) will be formatted./mnt/sdcard is the internal memory, not the microSDHC card inserted in the card reader.The first boot may take a little longer than usual. You will be presented with the Welcome wizard where you can configure language and locale, etc. You can optionally enter your Google Apps or Gmail account credentials and doing so will prompt for which Wifi network to associate with.
I've also made a video showing how to flash the firmware. Frankly, the hardest part is getting the Rockchip drivers installed.
wipe cache partitionadvanced -> wipe dalvik cache++++++Go Back++++++reboot system nowBooting to recovery can be achieved using the pre-install Quick Boot app.
The Ployer Momo8 IPS only has one hardware button (power) so CWM is controlled with gestures.
The Power button also acts as select, which I find to be the most reliable way to select an action.
Short answer, possibly.
Of all the WiFi networks I have access to, only one causes the Ployer Momo8 IPS to encounter weak signal and intermittent connections. When using the Official Ployer firmware on that WiFi network, connecting more than 5 meters from the access point is unreliable and maintaining a connection is almost impossible.
Using my firmware I can connect and maintain a connection up to about 10 meters from the access point. My testing, and the feedback from others suggests the my firmware improves the WiFi signal by 8 to 10dBm.
From my testing the Momo8 IPS appears to have issues with some wireless access points, possibly related to the chipset in the access point or the Momo8 IPS, but I've not been able to pin it down. That said, I've got access to 2 Draytek Vigor routers and the Momo8 IPS does not work well with either of them. Every other wireless network I've connected to works well.
For example, at home I stream 720p movies via DLNA over WiFi and watch them on the Momo8 IPS using MX Player. It works perfectly and never buffers or lags. However, your mileage may vary.
Short answer, it's the safest option.
There are 6 different ROMs (official or otherwise) that I am aware of for the Ployer Momo8 IPS. They all have slightly different partition layouts. If you flash one of my CWM RECOVERY ROMs over a ROM using a slightly different partition layout, it will almost certainly soft brick the tablet. The STOCK RECOVERY will always correctly format the partitions directly after a flash, thereby mitigating the risk of soft bricking the tablet.
Read the comments here, there are several useful tips. You can also use the comments here to see if anyone can offer assistance. Alternatively, go the Ployer Momo8 forum on Slatedroid, read what others have done and ask for help.
I still make a ClockWorkMod Recovery version of the firmware but it is only made available for download to donors. I've done this for a few reasons:
I hope that sounds fair to you? Please consider donating, even if you don't want the CMW version.
Your feedback is welcome, please use the comments are below.
I recently switched ISPs at home and now have unlimited high speed broadband.
Finally I can participate in torrenting Linux .ISO images. I always download the latest distros using BitTorrent and can now contribute to the community by seeding the distros I've downloaded.
I have a small (in size and resources) Debian 6.0 headless server at home that I wanted to turn into a torrent box. I'm a big fan of Transmission since it can be managed from the shell, web and Android phone/tablet. Sadly, the Transmission packages in the official Debain squeeze repositories are quite old, 2.03 at the time of writing, and there are no Transmission packages in Debian Backports.
However after flexing my google-fu I found a 3rd party Debian Squeeze repository that includes fairly current (2.73 at the time of writing) Transmission packages specifically for headless use. Yah!
First become root.
sudo -s -H
Add the repository key.
apt-key adv --keyserver keyserver.ubuntu.com --recv-key 92B84A1E
Add the repository.
echo "deb http://apt.balocco.name squeeze main" > /etc/apt/sources.list.d/balocco.list
Update the package list.
apt-get update
Install Transmission.
apt-get install transmission-cli transmission-daemon transmission-webinterface
The Transmission settings can be found in /etc/transmission-daemon/settings.json.
Therefore either stop transmission-daemon before you make any changes or you can make
the daemon reload settings.json by sending it the SIGHUP signal.
If you want to be able to connect to Transmission from anywhere on the Internet
stop transmission-daemon, make the following changes to settings.json and
then start transmission-daemon.
"rpc-password": "YourPlainTextPassword", "rpc-username": "YourUsername", "rpc-whitelist-enabled": false,
The rpc-username field will need adding but you can edit the existing entry
for rpc-password. Enter the rpc-password as a plain text string, Transmission
will automatically convert the password to a hash the next time it is started.
You should now be able to access the Transmission web interface via
http://yourhost.example.org:9091. If you didn't change the username and password
(you really should) the defaults are:
I have an Android phone and an Android tablet. I use Remote Transmission on my Android devices to manage my torrent box.
If, like me, you spend the majority of you time at the shell. Then
transmission-remote-cli is
probably for you. All my workstation run Arch Linux so
I install transmission-remote-cli as follows.
sudo pacman -S transmission-remote-cli
See the GitHub project page for tramission-remote-cli for instructions on how
to connect to a remote Transmission daemon.
Regardless of how you intend to use Transmission you should enable a block list,
this can be done via settings.json and the web interface. The following block
list seems to be recommended.
http://list.iblocklist.com/?list=bt_level2&fileformat=p2p&archiveformat=gz
That covers the basics for getting Transmission running on headless Debian 6.0 and how to connect to it from just about anywhere and on any device. I recommend reading the Trasmission Wiki as Transmission is capable of so much more than I have covered in this blog post.
Happy torrenting.
My webserver of choice is nginx, it's resource friendly, fast, reliable and versitile.
I have a resource constrained Debian 6.0 "server" at home and wanted to deploy nginx on it for testing. Sadly, the nginx package in the squeeze repositories is very old. Fortunately, the Debian Backports has a fairly current version, 1.2.1 as the time of writing.
To enable the backports repository add the following line to
/etc/apt/sources.list.d/backports.list.
deb http://backports.debian.org/debian-backports squeeze-backports main
Update the repositories.
sudo apt-get update
Install nginx. All backports are deactivated by default, so the apt-get
use is somewhat different.
sudo apt-get -t squeeze-backports install nginx-full
nginx is now installed and can be configured in the usual way.