free counters
Diberdayakan oleh Blogger.
Tampilkan postingan dengan label Slackware. Tampilkan semua postingan
Tampilkan postingan dengan label Slackware. Tampilkan semua postingan

Senin, 09 November 2015

Signing Android apk without putting keystore info in build.gradle

by Unknown  |  in Slackware at  Senin, November 09, 2015

When releasing apk via gradle, we have to sign it with our keystore and its password. The easiest way is to include our keystore link and password directly in build.gradle:
 android {  
   ...  
   signingConfigs {  
     release {  
       storeFile file("my.keystore")  
       storePassword "store_password"  
       keyAlias "my_key_alias"  
       keyPassword "key_password"  
     }  
   }  
   buildTypes {  
     release {  
       signingConfig signingConfigs.release        
     }  
   }  
 }  
It's simple but giving us a pretty bad risk. If we working with versioning system like git, we will get a risk of exposing our keystore and password.


Separating keystore and Password From build.gradle

Some articles like Signing Open Source Android Apps Without Disclosing Passwords and Use signing.properties file which controls which keystore to use to sign the APK with gradle give us a way by making a properties file which build.gradle file will refer, then we add it to git ignore list. But what happens when we forget to add the properties file to ignore list? We will disclose our password to the world. The problems still persist.

Instead making properties file in the same directory within our project, we should make it outside. We make it outside by using gradle.properties file.

Here the steps (all code can be download from my gist):

1. Edit or create gradle.properties on your root project and add the following code, remember to edit the path with your own:
 AndroidProject.signing=/your/path/androidproject.properties  

2. Create androidproject.properties in /your/path/ and add the following code to it, don't forget to change /your/path/to/android.keystore to your keystore path:
 STORE_FILE=/your/path/to/android.keystore  
 STORE_PASSWORD=yourstorepassword  
 KEY_ALIAS=yourkeyalias  
 KEY_PASSWORD=yourkeypassword  

3. In your app module build.gradle (not your project root build.gradle) add the following code if not exist or adjust to it:
 signingConfigs {  
     release  
   }  
   buildTypes {  
     debug {  
       debuggable true  
     }  
     release {  
       minifyEnabled true  
       proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'  
       signingConfig signingConfigs.release  
     }  
   }  

4. Add the following code below the code in step 3:
 if (project.hasProperty("AndroidProject.signing")  
     && new File(project.property("AndroidProject.signing").toString()).exists()) {  
     def Properties props = new Properties()  
     def propFile = new File(project.property("AndroidProject.signing").toString())  
     if(propFile.canRead()) {  
      props.load(new FileInputStream(propFile))  
      if (props!=null && props.containsKey('STORE_FILE') && props.containsKey('STORE_PASSWORD') &&  
         props.containsKey('KEY_ALIAS') && props.containsKey('KEY_PASSWORD')) {  
         android.signingConfigs.release.storeFile = file(props['STORE_FILE'])  
         android.signingConfigs.release.storePassword = props['STORE_PASSWORD']  
         android.signingConfigs.release.keyAlias = props['KEY_ALIAS']  
         android.signingConfigs.release.keyPassword = props['KEY_PASSWORD']  
      } else {  
         println 'androidproject.properties found but some entries are missing'  
         android.buildTypes.release.signingConfig = null  
      }  
     } else {  
            println 'androidproject.properties file not found'  
          android.buildTypes.release.signingConfig = null  
     }  
   }  
This code will search for AndroidProject.signing property in gradle.properties from step 1. If the property found, it will translate property value as file path which pointing to androidproject.properties that we create in step 2. Then all the property value from it will be used as signing configuration for our build.gradle.

Now we don't need to worry again of risk of exposing our keystore password.

The above step have been test on Android Studio 1.4.1 in Slackware64 current with these settings in build.gradle:
- 'com.android.tools.build:gradle:1.2.3'
- buildToolsVersion "22.0.1"


Note: 
Article is heavily being influenced with Handling signing configs with Gradle article.

References:
1. Handling signing configs with Gradle
2. Use signing.properties file which controls which keystore to use to sign the APK with gradle.
3. http://stackoverflow.com/questions/20562189/sign-apk-without-putting-keystore-info-in-build-gradle
4. Signing Open Source Android Apps Without Disclosing Passwords
5. Where to put the gradle.properties file
6. Gradle Doc, Configuring the build environment via gradle.properties

Sabtu, 07 November 2015

Fix Error when update Android Studio to Android Studio 1.4

by Unknown  |  in Slackware at  Sabtu, November 07, 2015
After I'm trying to upgrade my old Android Studio 1.3 to 1.4 with slackware build generated package from SlackBuilds.org, there is an error "Your Android Studio installation is corrupt and will not work properly..." like picture below (Picture 1.1):


First I think it complaining about conflicting plugins where old installation files reside, so maybe after I reinstall it will be fixed. But It always show the same error even though I've reinstalled Android Studio.

Then I try to remove my old Android Studio installation folders in my home directory, but instead deleting, I choose to rename all of them:
  1. ~/.AndroidStudio
  2. ~/.android
  3. ~/.AndroidStudio1.3
But the error still showing...Arrrggh

Still with plenty of courage in my heart, I try with another route. Though I'm suspecting that the package I generated with slackbuild file is broken because the slackbuild file is for Android Studio 1.1, I uninstall the Android Studio then remove the remaining directory where Android Studio installed, which is in /usr/share/android-studio/.

Voila!!!, now Android Studio working normal again.. :D :D :D


Note: I'm working with Slackware64 Current (build Agustus 2015)

Senin, 14 September 2015

Texlive for my Slackware64 current

by Unknown  |  in Slackware at  Senin, September 14, 2015
As I am too lazy to build Texlive for my Slackware64 current, I take a short cut for it.

I download Texlive package from Robby Workman Slackware repository. But before installing it, I build two packages from Slackbuilds.org that it require:texi2html, libsigsegv. But texlive will give you error when run because it need old libpoppler from slackware64 14.1, libpoppler.so.43. The trick to fix this is so simple, just make a soft link for libpoppler.so.51 in /usr/lib64/. We can do that by running these commands as root:
 #cd /usr/lib64  
 #ln -s libpoppler.so.51 libpoppler.so.43  
Now I can work with latex..;)

Jumat, 28 Agustus 2015

Fix error libgcrypt.so.11 for Brackets in Slackware64 Current

by Unknown  |  in Software at  Jumat, Agustus 28, 2015
In my journey to find the best text editor, I found 3 choice of editor to choose:
1. Sublime Text
2. Atom
3. Brackets

Currently, I'm using Sublime Text and it really good as a text editor with its multiple available plugins. But the down side for me Sublime Text is proprietary software. I need a good editor with Free Software/ Open Source license. So I only have 2 choice left.

As for Atom, the down side is its performance. About 1/6th of Sublime Text because it is based of chrome technology. So, it's a no for Atom too.

Now I need to test Brackets. But for now, Brackets can only be compiled for old libgcrypt15 in Slackware64 14.1. In Slackware64 current, libgcrypt20 was installed replacing the old one.
After installing Bracket Package, we'll get an error:
 /usr/bin/brackets: error while loading shared libraries: libgcrypt.so.11: cannot open shared object file: No such file or directory  
Because Brackets try to find old libgcrypt which not installed on Slackware64 current.

To fix the error, we can do a simple trick by copying old libgcrypt, libgcrypt.so.11.8.2 file, from Slackware64-14.1 to Brackets installation folder then make a symbolic link to /usr/lib/libgcrypt.so.11.

Here the simple instruction step to our Slack brain:
1. Get Brackets package for Slackware64 14.1 from Ponce package,
1. Get old libgcrypt package from Slackware64 14.1,
2. Extract the package and get the libgcrypt.so.11.8.2 file,
3. copy libgcrypt.so.11.8.2 file to Brackets installation folder, for me in /opt/brackets/,
4. Make a symbolic link to libgcrypt.so.11.8.2, like this:
 ln -s /opt/brackets/libgcrypt.so.11.8.2 /usr/lib64/libgcrypt.so.11  
5. Try running Brackets.


FYI, as I'm writing this post I read a comment from Brackets github issue for generating an installable old libgcrypt package for Slackware 14.1. But I never test it, but I think that is the better way to fix Brackets error because we don't need to dirty our system by copying untracked library.

DWYOR.


Reference:
1. www.slackware.com 
2. That which could be fixed in SBo thread, http://www.linuxquestions.org/questions/slackware-14/that-which-could-be-fixed-in-sbo-thread-4175532869/page13.html
3. Unix Create a Symbolic Link, http://www.cyberciti.biz/faq/unix-creating-symbolic-link-ln-command/

Jumat, 26 Juni 2015

Calibre Error Opening PDF File

by Unknown  |  in Slackware at  Jumat, Juni 26, 2015
Recently I'm trying to manage by ebooks collection by using Calibre. From my previous usage with Calibre and previous Slackware, I haven't a single problem when opening an ebook with pdf type. But now when I'm opening pdf ebook with Calibre it always open it with Karbon. Well, this really a big mess, how can I read an ebook with svg editor ?

That's turn out to be a problem with mime type association. With some googling I've found the solution for it:

First, find the default application when opening pdf file by using the following command:
 xdg-mime query default application/pdf  
with result:
 kde4-karbon.desktop  
From here I know that my system defaulting to karbon when opening a pdf file.

Second,  I must change it to my pdf application which is Okular with the following command:
 xdg-mime default okular.desktop application/pdf  
Now my Calibre happily open a pdf file with Okular.


sources of inspiration:
1.xdg-open
2.How to properly and easy configure `xdg-open` without any enviroment?

Senin, 15 Juni 2015

Akses USB Debugging di Slackware Untuk Android Studio

by Unknown  |  in Slackware at  Senin, Juni 15, 2015
Agar dapat mengakses fitur USB Debugging dari perangkat Android di Slackware dapat dilakukan dengan membuat file 51-android.rules di /etc/udev/rules.d/. Untuk perangkat Android Advan T4i, dapat diakses dengan menambahkan baris berikut di file 51-android.rules:
 SUBSYSTEM=="usb", ATTRS{idVendor}=="18d1", ATTRS{idProduct}=="4e22", MODE="0664", GROUP="plugdev", SYMLINK+="android_adb"  
Kemudian restart komputer. Jangan lupa untuk menambahkan nama user Anda sebagai group plugdev di file /etc/group. Jika Anda ingin menambahkan akses USB Debugging untuk perangkat lain, cukup dengan menambahkan baris di atas, lalu ubah idVendor dan idProduct dari perangkat. idVendor dan idProduct bisa didapatkan dengan perintah lsusb sebagai root:
 # lsusb  
perintah ini akan menghasilkan keluaran seperti gambar 1.1:

Pada tampilan ini kita temukan baris "Bus 001 Device 012: ID 18d1:4e22 Google Inc. Nexus S (debug)" yang merupakan perangkat Android yang saya miliki. isikan nilai 18d1 ke idVendor dan 4e22 ke idProduct. Silahkan sesuaikan dengan perangkat yang Anda miliki.

Untuk daftar file 51-android.rules yang lebih lengkap, silahkan akses android-udev-rules.

Catatan Penting: Mohon diingat bahwa saat saya mencoba baris file di situs android-udev-rules pada slackware box, ini tidak bekerja sama sekali. Di Slackware ATTR tidak bekerja sehingga harus digantikan dengan ATTRS.

Senin, 27 Oktober 2014

Bagaimana memasang Font di Slackware

by Unknown  |  in Slackware at  Senin, Oktober 27, 2014
Untuk memasang font di Slackware dapat dilakukan dengan langkah berikut:

1. Masuk sebagai root melalui console/terminal
2. kopikan file font (dengan ekstensi .ttf dan atau .otf) ke direktorinya, yakni ke /usr/share/fonts/TTF atau /usr/share/fonts/OTF
3. Jalankan perintah berikut di direktori kemana font dikopikan:
 # mkfontscale  
 # mkfontdir   
 # fc-cache -f -v  
4. Restart X.

Selasa, 30 September 2014

Patch your Slackware bash from Shellshock vulnerability

by Unknown  |  in Slackware at  Selasa, September 30, 2014
Shellshock, also known as Bashdoor, is a security bug in the widely used Unix Bash shell which was disclosed on 24 September 2014. Many Internet daemons, such as web servers, use Bash to process certain commands, allowing an attacker to cause vulnerable versions of Bash to execute arbitrary commands. This can allow an attacker to gain unauthorized access to a computer system. Patch your slackware from this vulnerability now. Update your bash package with compatible package from http://www.slackware.com/security/viewer.php?l=slackware-security&y=2014&m=slackware-security.559646

 Here are the details from the Slackware 14.1 ChangeLog:  
 +--------------------------+  
 patches/packages/bash-4.2.050-i486-1_slack14.1.txz: Upgraded.  
  Another bash update. Here's some information included with the patch:  
   "This patch changes the encoding bash uses for exported functions to avoid  
   clashes with shell variables and to avoid depending only on an environment  
   variable's contents to determine whether or not to interpret it as a shell  
   function."  
  After this update, an environment variable will not go through the parser  
  unless it follows this naming structure: BASH_FUNC_*%%  
  Most scripts never expected to import functions from environment variables,  
  so this change (although not backwards compatible) is not likely to break  
  many existing scripts. It will, however, close off access to the parser as  
  an attack surface in the vast majority of cases. There's already another  
  vulnerability similar to CVE-2014-6271 for which there is not yet a fix,  
  but this hardening patch prevents it (and likely many more similar ones).  
  Thanks to Florian Weimer and Chet Ramey.  
  (* Security fix *)  
 +--------------------------+  

Selasa, 23 September 2014

Trying to learn blender

by Unknown  |  in Software at  Selasa, September 23, 2014
* Photorealistic rendering in Blender
Just call me genius, because I always try the hardest and the most difficult way to solving a problem. Frankly, this is won't be called a genius way though. It is just because I don't want to doing something with an ordinary way. I rarely do something in humble way, usually choose the grande way one.

For the moment, I trying to create a hotel presentation movie slide show with Blender. There is an easy way that is by using Adobe After Effect. Unfortunately, my computer is only run a Linux Slackware system with no Windows partition at all. Blender is the only solution right here now.

The deadline for the slide show is 1 days more. But my ability to use Blender is just as shallow as a finger dip. Nonetheless I always believe in my ability, eventhough almost of my believe is wrong...hahahaha... :D.

Whatever the circumstances, I'll go forward with Blendering my slide show. :D


* image taken from http://www.blender.org/features/

Senin, 22 September 2014

How to properly moving home directory to new partition in linux Slackware

by Unknown  |  in Tutorial at  Senin, September 22, 2014
This tutorial has been tested with my Slackware64 14.1. This should be working with another linux distro with no or very small change.

To properly moving or migrating our home directory to a new dedicated partition, we can use these step below:

1. Create new partition.
2. Mount the new partition to a directory.
3. Copy all data from home partition to new partition (directory) with rsync command.
4. Move home partition to /oldhome.
5. Umount home and new partition directory then remount new partition directory.
6. Edit fstab by adding new entry pointing to the new partition.
7. Confirm that everything is okay, then delete /oldhome .


Let's explain the details.
1. Create new partition.
Provide a partition that will be our new home partition. For the rest of our tutorial, home partition will be /home. If your home partition differ than /home, change /home to your home partition. Our new home partition will be /dev/sda2. Change /dev/sda2 according to your new partition.

2. Mount the new partition to a directory.
Mount our new partition, /dev/sda2, to a directory. Here we use /homes as the directory. We use the following steps:
a. create /homes directory
 mkdir /homes  
b. mount /dev/sda2 to /homes
 mount /dev/sda2 /homes 
3. Copy all data from home partition to new partition (directory) with rsync command.
Copy all data from /home to /homes using rsync. W use rsync as it means that if it is interrupted for any reason, then you we restart it easily with very little cost. In another word, rsync is a safe copy. use rsync command below (Note that the trailing slash on /home and /homes/ is important) :
 rsync -avhW --no-compress --progress /home/ /homes/  
For another type of rsync, please read here.

4. Move home partition to /oldhome.
Move our /home partition to /oldhome. Use mv command like below:
 mv /home /oldhome  
5. Umount home and new partition directory then remount new partition directory.
Unmount /home and /homes directory. Then remount /dev/sda2 to /home like the following code (don't forget to create /home):
 umount /home  
 umount /homes
 mkdir /home
 mount /dev/sda2 /home
6. Edit fstab by adding new entry pointing to the new partition.
Add new entry to our fstab. here we add the following entry with the below line:
 /dev/sda2    /home      ext4    defaults     1  1  
7. Confirm that everything is okay, then delete /oldhome.
Confirm that everything is okay. Check if data is okay. Then reboot the system. After rebooting, recheck data then delete /oldhome. Delete /homes too because we don't need it anymore.

Now everything should be run okay.. :).


Proud to a Slacker... :D


reference : https://help.ubuntu.com/community/Partitioning/Home/Moving

Selasa, 16 September 2014

Modem Huawei E1612 di Slackware 14.1

by Unknown  |  in Slackware at  Selasa, September 16, 2014
Akibat kebiasaan menggunakan slackware dengan bermodalkan kemampuan utak-atik konfigurasi, saya jadinya berpikir untuk menggunakan modem Movistar (Huawei E1612) harus pakai setting tertentu. Saya pikir karena modemnya dapat dijadikan sebagai flashdisk maka saya harus menggunakan usb_modeswitch untuk mengaktifkan fitur modemnya. Ehhh... ternyata tinggal colok aja, terus pakai NetworkManager applet tinggal pilih "Mobile Connection", kemudian pakai "Wizard'-nya, terus next.. next.. next.. Selesai.

Memanglah, terlalu jauh berpikir jadi solusi paling mudah pun dianggap gak bakalan bekerja... Hahahaha... :D

Dan akhirnya saya bisa berseluncur di dunia maya menggunakan modem di Slackware.. :D..

Sebagai catatan, Sistem operasi yang saya gunakan adalah Slackware 14.1 dengan LXQt versi 0.6.99.


Salam Slacker... ;)


Senin, 12 Mei 2014

LXQt is release

by Unknown  |  in Software at  Senin, Mei 12, 2014
Finally, the First release of LXQt is now available from 7 May 2014.

LXQt
LXQt is the fruit from two good desktop environment, Razor-qt project and LXDE-Qt project.

The full release announcement can be read on the mailing list here.
Can wait to try it on my box, although there is not package for this LXQt. Maybe I should try to compile it, hmm.

Kamis, 10 April 2014

New openssl packages are available for Slackware 14.0, 14.1, and -current to fix security issues.

by Unknown  |  in Slackware at  Kamis, April 10, 2014
New openssl packages are available for Slackware 14.0, 14.1, and -current to
fix security issues.
http://www.slackware.com/security/viewer.php?l=slackware-security&y=2014&m=slackware-security.533622

Here are the details from the Slackware 14.1 ChangeLog:
+--------------------------+
patches/packages/openssl-1.0.1g-i486-1_slack14.1.txz:  Upgraded.
  This update fixes two security issues:
  A missing bounds check in the handling of the TLS heartbeat extension
  can be used to reveal up to 64k of memory to a connected client or server.
  Thanks for Neel Mehta of Google Security for discovering this bug and to
  Adam Langley <agl@chromium.org> and Bodo Moeller <bmoeller@acm.org> for
  preparing the fix.
  Fix for the attack described in the paper "Recovering OpenSSL
  ECDSA Nonces Using the FLUSH+RELOAD Cache Side-channel Attack"
  by Yuval Yarom and Naomi Benger. Details can be obtained from:
  http://eprint.iacr.org/2014/140
  For more information, see:
    http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-0160
    http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-0076
  (* Security fix *)
patches/packages/openssl-solibs-1.0.1g-i486-1_slack14.1.txz:  Upgraded.
+--------------------------+


Where to find the new packages:
+-----------------------------+

Thanks to the friendly folks at the OSU Open Source Lab
(http://osuosl.org) for donating FTP and rsync hosting
to the Slackware project!  :-)

Also see the "Get Slack" section on http://slackware.com for
additional mirror sites near you.

Updated packages for Slackware 14.0:
ftp://ftp.slackware.com/pub/slackware/slackware-14.0/patches/packages/openssl-1.0.1g-i486-1_slack14.0.txz
ftp://ftp.slackware.com/pub/slackware/slackware-14.0/patches/packages/openssl-solibs-1.0.1g-i486-1_slack14.0.txz

Updated packages for Slackware x86_64 14.0:
ftp://ftp.slackware.com/pub/slackware/slackware64-14.0/patches/packages/openssl-1.0.1g-x86_64-1_slack14.0.txz
ftp://ftp.slackware.com/pub/slackware/slackware64-14.0/patches/packages/openssl-solibs-1.0.1g-x86_64-1_slack14.0.txz

Updated packages for Slackware 14.1:
ftp://ftp.slackware.com/pub/slackware/slackware-14.1/patches/packages/openssl-1.0.1g-i486-1_slack14.1.txz
ftp://ftp.slackware.com/pub/slackware/slackware-14.1/patches/packages/openssl-solibs-1.0.1g-i486-1_slack14.1.txz

Updated packages for Slackware x86_64 14.1:
ftp://ftp.slackware.com/pub/slackware/slackware64-14.1/patches/packages/openssl-1.0.1g-x86_64-1_slack14.1.txz
ftp://ftp.slackware.com/pub/slackware/slackware64-14.1/patches/packages/openssl-solibs-1.0.1g-x86_64-1_slack14.1.txz

Updated packages for Slackware -current:
ftp://ftp.slackware.com/pub/slackware/slackware-current/slackware/a/openssl-solibs-1.0.1g-i486-1.txz
ftp://ftp.slackware.com/pub/slackware/slackware-current/slackware/n/openssl-1.0.1g-i486-1.txz

Updated packages for Slackware x86_64 -current:
ftp://ftp.slackware.com/pub/slackware/slackware64-current/slackware64/a/openssl-solibs-1.0.1g-x86_64-1.txz
ftp://ftp.slackware.com/pub/slackware/slackware64-current/slackware64/n/openssl-1.0.1g-x86_64-1.txz


MD5 signatures:
+-------------+

Slackware 14.0 packages:
5467a62ebfbe9a9bfff64dcc4cfcdf7d  openssl-1.0.1g-i486-1_slack14.0.txz
bdadd9920f2ce6fe4a0a7bd0d96f99df  openssl-solibs-1.0.1g-i486-1_slack14.0.txz

Slackware x86_64 14.0 packages:
11ede2992e2b5d15bd3ffc5807571350  openssl-1.0.1g-x86_64-1_slack14.0.txz
858ea6409aab45a67a880458ce48f923  openssl-solibs-1.0.1g-x86_64-1_slack14.0.txz

Slackware 14.1 packages:
8638083d9768ffcc4b7c597806ca634c  openssl-1.0.1g-i486-1_slack14.1.txz
4d9dfe9db9e1f286ead72fc60971807b  openssl-solibs-1.0.1g-i486-1_slack14.1.txz

Slackware x86_64 14.1 packages:
d85f8f451f71dd606f3adb59e582322a  openssl-1.0.1g-x86_64-1_slack14.1.txz
43ff4bbfe26f99e7a3b9145146d191a0  openssl-solibs-1.0.1g-x86_64-1_slack14.1.txz

Slackware -current packages:
265a66855320207d4a7567ac5ae9a747  a/openssl-solibs-1.0.1g-i486-1.txz
bf07a4b17f1c78a4081e2cfb711b8748  n/openssl-1.0.1g-i486-1.txz

Slackware x86_64 -current packages:
27e5135d764bd87bdb784b288e416b22  a/openssl-solibs-1.0.1g-x86_64-1.txz
5ef747eed99ac34102b34d8d0eaed3a8  n/openssl-1.0.1g-x86_64-1.txz


Installation instructions:
+------------------------+

Upgrade the packages as root:
# upgradepkg openssl-1.0.1g-i486-1_slack14.1.txz openssl-solibs-1.0.1g-i486-1_slack14.1.txz


+-----+

Slackware Linux Security Team
http://slackware.com/gpg-key
security@slackware.com

Selasa, 08 April 2014

Solution to fix error when trying to run google-chrome in Linux Slackware64 14.1

by Unknown  |  in Slackware at  Selasa, April 08, 2014
Google Chrome
After successing repackage Google Chrome debian package with Slackbuild script and installing it, I'm trying to first run the installed Google Chrome but no window being shown up on my laptop monitor. When I'm try to run it on terminal, there are some errors messages like here:
[22495:22495:0407/163940:ERROR:shared_memory_posix.cc(226)] Creating shared memory in /dev/shm/.com.google.Chrome.8s1qNY failed: Permission denied
[22495:22495:0407/163940:ERROR:shared_memory_posix.cc(229)] Unable to access(W_OK|X_OK) /dev/shm: Permission denied
[22495:22495:0407/163940:FATAL:shared_memory_posix.cc(231)] This is frequently caused by incorrect permissions on /dev/shm.  Try 'sudo chmod 1777 /dev/shm' to fix.
The error will be fix and we can run the Google Chrome by  running sudo chmod 1777 /dev/shm. But this solution is just temporay. After restarting the Box, the same problem will reappear.

To permanently fix these errors, we must add a line in /etc/fstab with this text:
tmpfs  /dev/shm  tmpfs   defaults    0     0
Then, restart the Box.

Now, the problem is solved and we can surfing with the Google Chrome :).

Sabtu, 22 Maret 2014

Install octave on Slackware64 14.1

by Unknown  |  in Software at  Sabtu, Maret 22, 2014
After several days failed trying to build and install octave with error "can not found tex package" eventhough I've tetex on my slackware, Finally I've found a solution.

Here is the step:
1. Remove tetex and tetex-doc packages from Slackware
2. Download and install texlive from Slackbuilds.org. Don't forget the require packages; texi2html and libsigsegv.
3. Install octave.
4. Finish


Now I can resume my free machine learning lesson...:D

Selasa, 04 Maret 2014

Trying to configure clementine with control button in conky

by Unknown  |  in Slackware at  Selasa, Maret 04, 2014
Currently I'm still trying to create control button for clementine in conky.  I've collect every information for it. Here the details of the necessary things needed:

1. Conky itself
2. Conky documentation (really need this)
3. Clementine package
4. Lua package
5. Tutorial of conky
6. Interactive conky button
7. conky clementine (for displaying current play of clementine in conky)
8. clementine control script  (look at clementine.lua)
9. Conky Pitstop (Gallery of beautiful conky setting)
10. Conky / Music Art (maybe we should read this),
11. Tutorial to remotely control clementine with dbus
12. xdotool (this is the brain behind interactive conky)

In case something bad happens to the links, I've made a backup for them at my google drive, here.

Initially, we must install conky, clementine, and lua in our system. Because I use slackware64 14.1, I download those three from slackbuilds.org. Remember that we must enable lua when building conky (read at http://slackbuilds.org/repository/14.1/system/conky/). Btw, don't forget to install any requirement for clementine.

Enough for today.... :)

Jumat, 28 Februari 2014

My beautiful conky

by Unknown  |  in Software at  Jumat, Februari 28, 2014

configuration file: download link

Sabtu, 01 Maret 2008

Patching Linux kernel

by Unknown  |  in Slackware at  Sabtu, Maret 01, 2008
Patch Kernel !
(Diambil dari http://slackerbox.com/patch+pada+kernel mas Willy, maaf mas :> )

Perlu diketahui, Slackware punya kebijakan 'No Kernel Patch ' yang berarti Kernel yang digunakan default dari www.kernel.org

Hal ini merupakan keuntungan :) Siapa saja bisa memulai 'ngoprek' Kernel tanpa dihantui ketergantungan Patch dari vendor atau distro. Saya beri contoh sederhana, semisal distro 'ChickenHack' melakukan patch Bootsplash pada kernel, agar saat boot muncul grafik cantik mempesona.

Bersyukur kalau Anda tahu, bahwa patch kernel satu ini tergolong asesories. Tapi jika developer 'ChickenHack' melakukan patch gila2an pada kernel, Anda tidak akan tahu, apakah kernel original Anda akan benar2 jalan karena ANda mengabaikan satu atau dua patch vital dari developer 'ChickenHack'. Bingo ! Anda tergantung pada patch kernel distro !

Langsung saja :)

Ada beberapa istilah patch dalam prakteknya :

* Patch kernel biasa untuk upgrade ke versi kernel lebih tinggi
* Patch kernel untuk fungsi khusus, semisal keamanan dan asesories
* Patch kernel bebas

Patch kernel biasa dilakukan jika Anda ingin upgrade kernel ke versi kernel lebih tinggi tanpa harus mendownload 'semua' source code dari awal. Misal dari kernel 2.6.23 ke kernel 2.6.23.9. Jalan yang mudah dan boros adalah mendownload source code 2.6.23.9. Jika lewat pacth, maka hanya source patch saja yang diperlukan. Biasanya patch berukuran kecil.

Patch kernel untuk fungsi khusus semisal masalah keamanan buffer overflow, atau yang sederhana buat tambah option bootsplash pada kernel.

Patch bebas, berarti Anda membuat patch kernel sendiri untuk diri Anda dengan fungsi sesuai keinginan Anda. Hehehe

Patch yang dilakukan para distro biasanya masuk kategory kedua dan ketiga.
---------------------------------------
Upgrade & Downgrade kernel lewat patch

Browse http://kernel.org tepatnya http://www.kernel.org/pub/linux/kernel/v2.6/

Contoh -3: Upgrade dari 2.6.21.5 ke 2.6.21.7

* Download patch-2.6.21.5
* Download patch-2.6.21.7
* Unpack kedua patch tersebut dan letakkan dimana boleh dech ! :)
* Jadi root, Masuk kedirektory /usr/src/linux-2.6.21.5
* #patch -p1 -R < /path/to/patch-2.6.21.5
* #patch -p1 < /path/to/patch-2.6.21.7
* #mv linux-2.6.21.5 linux-2.6.21.7
* Edit symlink 'linux' agar mengarah ke direktory kernel baru
* Oke dech, dah jadi !
* Lihat di Dokumentasi kernel - Applying-patches.txt ;)

Contoh -2: Upgrade dari 2.6.21.5 ke 2.6.23.9

* Download patch-2.6.21.5
* Download patch-2.6.22
* Download patch-2.6.23
* Download patch-2.6.23.9
* Unpack semua patch diatas
* Masuk ke /usr/src/linux-2.6.21.5
* Sebagai root #patch -p1 -R < /path/to/patch-2.6.21.5
* #patch -p1 < /path/to/patch-2.6.22
* #patch -p1 < /path/to/patch-2.6.23
* #patch -p1 < /path/to/patch-2.6.23.9
* #mv linux-2.6.21.5 linux-2.6.23.9
* Benarkan symlink Linux agar mengarah ke linux-2.6.23.9
* Hehehe ini khan latihan yang bagus mengenai patch bukan !!!
* Sudah tahu, apa fungsi -R ???

Contoh -1: Upgrade dari 2.6.23.9 ke 2.6.24.rc4

* Download patch-2.6.23.9 + patch-2.6.24-rc4, kemudian unpack
* Jadi root #patch -p1 -R < /path/to/patch-2.6.23.9
* #patch -p1 < /path/to/patch-2.6.24-rc4
* #mv linux-2.6.23.9 linux-2.6.24-rc4
* Betulkan symlink agar mengarah ke linux-2.6.24-rc4

Contoh -0: Downgrade dari 2.6.24-rc4 ke 2.6.21.5

* Download patch-2.6.24-rc4
* Download patch-2.6.23
* Download patch-2.6.22
* Download patch-2.6.21.5
* Unpack semua patch tersebut
* Jangan lupa jadi root :)
* #patch -p1 -R < /path/to/patch-2.6.24-rc4
* Oke ! kernel Anda sudah jadi 2.6.23 :)
* #patch -p1 -R < /path/to/patch-2.6.23
* Lha ! kernel Anda sekarang 2.6.22
* #patch -p1 -R < /path/to/patch-2.6.22
* Oops ! kernel Anda sekarang sudah 2.6.21 !
* Siap buat tembakan terakhir ??
* #patch -p1 < /path/to/patch-2.6.21.5
* Jangan lupa merubah nama direktory kernel + edit symlink
* Selamat ! Kernel Anda sekarang sudah 2.6.21.5 !

Keterangan seorang slacker :) :

* Lihat lompatan 'kodok' yang dilakukan :)
* -------------------------------------
* Lompatan maju dari 2.6.21 ke 2.6.22 langsung saja ! (-p1)
* Lompatan maju dari 2.6.22 ke 2.6.23 juga langsung saja. (-p1)
* Kalau dari 2.6.21 ke 2.6.23 musti melompat dua kali :) Ke 2.6.22 dulu baru ke 2.6.23
* Lompatan mundur dari 2.6.22 ke 2.6.21 langsung saja (-p1 -R) Ada tanda -R
* Lompatan mundur dari 2.6.23 ke 2.6.21 musti dua kali. Mundur ke 2.6.22 baru ke 2.6.21
* -------Oke, sekarang yang ada 'branch' nya
* Lompatan maju dari 2.6.21.5 ke 2.6.21.7 Anda musti revert (-p1 -R) 2.6.21.5 ke 2.6.21 dulu. Baru bisa dipatch dengan 2.6.21.7.(-p1 )
* Lompatan maju dari 2.6.21.5 ke 2.6.22.14 berarti mulai dari 2.6.21 (melakukan -p1 -R pada 2.6.21.5 agar jadi 2.6.21), kemudian ke 2.6.22 (-p1), baru ke 2.6.22.14 (-p1)
* Lompatan maju dari 2.6.23.9 ke 2.6.24-rc4 berarti Anda revert (-p1 -R) 2.6.23.9 agar jadi 2.6.23, kemudian ke 2.6.24-rc4 (-p1). Agar tidak bingung, rc (release candidat)2.6.24-rc4 adalah calon 2.6.24
* Terakhir :) Dari 2.6.24-rc4 ke 2.6.24 . Revert dulu (-p1 -R) 2.6.24-rc4 agar jadi 2.6.23, (Hati2, 2.6.24-rc4 direvert jadi 2.6.23 lho ! ) kemudian melakukan lompatan 'kodok' ke 2.6.24 (-p1) :)
* Paling enak di coba langsung :) Sekali paham, ....betapa nikmat rasanya bermain2 kernel di Slackware :)
* Jika ingin menguji perpindahan source kernel, jalankan saja #make menuconfig Nanti akan muncul versi kernel Anda.

Jika Anda melakukan dengan benar, Anda sudah ganti 'pacar' bolak-balik !

Tentu setelah mantap dengan 'pacar baru' Anda, jangan lupa untuk melakukan konfigurasi kernel, plus kompilasi ! Bagian ini hanya membahas masalah patch kernel saja. Paling tidak Anda sudah punya modal untuk upgrade/downgrade source code kernel lewat cara patch.

Dokumentasi terbaik mengenai hal ini ada di direktory kernel (bagian dokumentasi) berjudul applying-patches.txt.

Senin, 25 Februari 2008

link untuk slackware 12 current

by Unknown  |  in Slackware at  Senin, Februari 25, 2008
http://ftp.belnet.be/mirrors/ftp.slackware.com/slackware-current-iso

ftp://ftp.slackware.no/pub/linux/ISO-images/slackware/Current-ISO-build/

http://linorg.usp.br/iso/slackware/

Kamis, 21 Februari 2008

Instalasi Bootsplash dengan splashy di Slackware 12

by Unknown  |  in Slackware at  Kamis, Februari 21, 2008
Untuk beberapa kali saya mencoba menginstalasi bootsplash di slackware 12, dan beberapa kali juga kegagalan yang saya dapatkan.
Tahap-tahap menginstalasi bootsplash:
1. Persiapkan hati dan pikiran, jangan lupa berdoa pada Tuhan
2. Download source code splashy dan kroni-kroni dependensinya di Splashy.alioth.debian.org
3. Selesai.

Bagaimana menginstalnya (Berdasarkan tutorialnya pada Splashy.alioth.debian.org:
Cara menginstalnya saya ambil dari splashy seperti ini....
1.Download paket glib2
ganti nilai pada baris di ./Glib2.SlackBuild "BUILD=1" menjadi BUILD=2
konfigurasi dengan $./configure –enable-static
bangun paket dengan $/glib2.SlackBuild pada bagian ini paket akan dibangun pada direktori /temp
setelah itu instal paket $upgradepkg /tmp/glib2-2.12.12-i486-2.tgz

2. download paket freetype
ganti nilai pada baris di freetype.SlackBuild "BUILD=3" menjadi "BUILD=4" berikan tanda # pada baris rm "-f $PKG/usr/lib/*.a".
Kemudian lakukan building $./freetype.SlackBuild
instal paket $upgradepkg /tmp/freetype-2.3.4-i486-4.tgz

3. download paket directfb
dan eksekusi
$directfb.SlackBuild.
$installpkg /tmp/directfb-1.0.0

4. Instal paket splashy
lakukan sama seperti pada directfb.

Jika hal-hal diatas kelihatan melelahkan instal saja paket binary berdasarkan slackbuild untuk Splashy 0.3.5 pada Slackware 12.0 di sini

Sekarang, cara menjalankannya selama boot adalah dengan mengedit /etc/rc.d/rc.S dan /etc/rc.d/rc.M. Ini sangat berbahaya untuk dilakukan, jadi sebagai tindakan preventif lakukan backup file-file ini sebelum memulai mengedit.

Saya menambahkan ini ke awal file /etc/rc.d/rc.S

# Start Splashy
/sbin/splashy boot

Kemudian menambahkan baris dibawah ini setelah setiap “paragraph” of rc.S dan rc.M

/sbin/splashy_update "progress #"

Menambahakan # saat booting sedang dilakukan.

Namun masih ada kendala, saat booting progress barnya tidak kelihatan, dan saat shutdown splashy tidak kelihatan
Selamat berjuang......