WordPress database error: [Disk got full writing 'information_schema.(temporary)' (Errcode: 28 "No space left on device")]SHOW FULL COLUMNS FROM `mb_options`
Today I decided to format my Home Server and when I setuped it I had a few problems.
“Failed to Retrieve Share List from Server” when I was trying to connect to my ubuntu 12.04 server. Inside the [global] section I add:
name resolve order = bcast host
I did this in my normal computer too. (I’m not exactly sure that this is needed I don’t think so). Rebooted and it is working.
Inside my logs I was getting a lot of smb_panic():
[2013/03/07 22:13:43.607536, 0] lib/util.c:1122(smb_panic) smb_panic(): calling panic action [/usr/share/samba/panic-action 1928]
(Again, I’m not sure that this is totally and exclusive related to this problem, but it worth to say, so you could try it too.)
Other message that I was seeing when trying to smbclient -L SERVER was:
NT_STATUS_PIPE_BROKEN
If you want to see my full smb.conf file keep reading!
My configs file is a Shared folder which is read only, but anyone could read it (guest yes), and the other one is Writable, where anybody can write and read (without authentication). In other words, all my setup don’t uses authentications, it is all done by guests users. This is particularly good in my case, because I can put some interesting files in Shared Folder and guarantee that nobody will screw everything and the Writable is good to add new files to the server or a “temporary backup folder”.
If I remember anything else, I will let you guys know.
Thanks,
Matheus
Just some small changes from default file, but to solve this problem took me sometime.
]]>#======================= Global Settings =======================
[global]
guest account = nobody
## Browsing/Identification #### Change this to the workgroup/NT-domain name your Samba server will part of
workgroup = WORKGROUP# server string is the equivalent of the NT Description field
server string = %h server (Samba, Ubuntu)# Windows Internet Name Serving Support Section:
# WINS Support – Tells the NMBD component of Samba to enable its WINS Server
# wins support = no# WINS Server – Tells the NMBD components of Samba to be a WINS Client
# Note: Samba can be either a WINS Server, or a WINS Client, but NOT both
; wins server = w.x.y.z# This will prevent nmbd to search for NetBIOS names through DNS.
dns proxy = no# What naming service and in what order should we use to resolve host names
# to IP addresses
name resolve order = bcast host#### Networking ####
# The specific set of interfaces / networks to bind to
# This can be either the interface name or an IP address/netmask;
# interface names are normally preferred
; interfaces = 127.0.0.0/8 eth0# Only bind to the named interfaces and/or networks; you must use the
# ‘interfaces’ option above to use this.
# It is recommended that you enable this feature if your Samba machine is
# not protected by a firewall or is a firewall itself. However, this
# option cannot handle dynamic or non-broadcast interfaces correctly.
; bind interfaces only = yes#### Debugging/Accounting ####
# This tells Samba to use a separate log file for each machine
# that connects
log file = /var/log/samba/log.%m# Cap the size of the individual log files (in KiB).
max log size = 1000# If you want Samba to only log through syslog then set the following
# parameter to ‘yes’.
# syslog only = no# We want Samba to log a minimum amount of information to syslog. Everything
# should go to /var/log/samba/log.{smbd,nmbd} instead. If you want to log
# through syslog you should set the following parameter to something higher.
syslog = 0# Do something sensible when Samba crashes: mail the admin a backtrace
panic action = /usr/share/samba/panic-action %d####### Authentication #######
# “security = user” is always a good idea. This will require a Unix account
# in this server for every user accessing the server. See
# /usr/share/doc/samba-doc/htmldocs/Samba3-HOWTO/ServerType.html
# in the samba-doc package for details.
security = user# You may wish to use password encryption. See the section on
# ‘encrypt passwords’ in the smb.conf(5) manpage before enabling.
encrypt passwords = true# If you are using encrypted passwords, Samba will need to know what
# password database type you are using.
passdb backend = tdbsamobey pam restrictions = yes
# This boolean parameter controls whether Samba attempts to sync the Unix
# password with the SMB password when the encrypted SMB password in the
# passdb is changed.
unix password sync = yes# For Unix password sync to work on a Debian GNU/Linux system, the following
# parameters must be set (thanks to Ian Kahan <for
# sending the correct chat script for the passwd program in Debian Sarge).
passwd program = /usr/bin/passwd %u
passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .# This boolean controls whether PAM will be used for password changes
# when requested by an SMB client instead of the program listed in
# ‘passwd program’. The default is ‘no’.
pam password change = yes# This option controls how unsuccessful authentication attempts are mapped
# to anonymous connections
map to guest = bad user########## Domains ###########
# Is this machine able to authenticate users. Both PDC and BDC
# must have this setting enabled. If you are the BDC you must
# change the ‘domain master’ setting to no
#
; domain logons = yes
#
# The following setting only takes effect if ‘domain logons’ is set
# It specifies the location of the user’s profile directory
# from the client point of view)
# The following required a [profiles] share to be setup on the
# samba server (see below)
; logon path = \\%N\profiles\%U
# Another common choice is storing the profile in the user’s home directory
# (this is Samba’s default)
# logon path = \\%N\%U\profile# The following setting only takes effect if ‘domain logons’ is set
# It specifies the location of a user’s home directory (from the client
# point of view)
; logon drive = H:
# logon home = \\%N\%U# The following setting only takes effect if ‘domain logons’ is set
# It specifies the script to run during logon. The script must be stored
# in the [netlogon] share
# NOTE: Must be store in ‘DOS’ file format convention
; logon script = logon.cmd# This allows Unix users to be created on the domain controller via the SAMR
# RPC pipe. The example command creates a user account with a disabled Unix
# password; please adapt to your needs
; add user script = /usr/sbin/adduser –quiet –disabled-password –gecos “” %u# This allows machine accounts to be created on the domain controller via the
# SAMR RPC pipe.
# The following assumes a “machines” group exists on the system
; add machine script = /usr/sbin/useradd -g machines -c “%u machine account” -d /var/lib/samba -s /bin/false %u# This allows Unix groups to be created on the domain controller via the SAMR
# RPC pipe.
; add group script = /usr/sbin/addgroup –force-badname %g########## Printing ##########
# If you want to automatically load your printer list rather
# than setting them up individually then you’ll need this
# load printers = yes# lpr(ng) printing. You may wish to override the location of the
# printcap file
; printing = bsd
; printcap name = /etc/printcap# CUPS printing. See also the cupsaddsmb(8) manpage in the
# cupsys-client package.
; printing = cups
; printcap name = cups############ Misc ############
# Using the following line enables you to customise your configuration
# on a per machine basis. The %m gets replaced with the netbios name
# of the machine that is connecting
; include = /home/samba/etc/smb.conf.%m# Most people will find that this option gives better performance.
# See smb.conf(5) and /usr/share/doc/samba-doc/htmldocs/Samba3-HOWTO/speed.html
# for details
# You may want to add the following on a Linux system:
# SO_RCVBUF=8192 SO_SNDBUF=8192
# socket options = TCP_NODELAY# The following parameter is useful only if you have the linpopup package
# installed. The samba maintainer and the linpopup maintainer are
# working to ease installation and configuration of linpopup and samba.
; message command = /bin/sh -c ‘/usr/bin/linpopup “%f” “%m” %s; rm %s’ &# Domain Master specifies Samba to be the Domain Master Browser. If this
# machine will be configured as a BDC (a secondary logon server), you
# must set this to ‘no’; otherwise, the default behavior is recommended.
# domain master = auto# Some defaults for winbind (make sure you’re not using the ranges
# for something else.)
; idmap uid = 10000-20000
; idmap gid = 10000-20000
; template shell = /bin/bash# The following was the default behaviour in sarge,
# but samba upstream reverted the default because it might induce
# performance issues in large organizations.
# See Debian bug #368251 for some of the consequences of *not*
# having this setting and smb.conf(5) for details.
; winbind enum groups = yes
; winbind enum users = yes# Setup usershare options to enable non-root users to share folders
# with the net usershare command.# Maximum number of usershare. 0 (default) means that usershare is disabled.
; usershare max shares = 100# Allow users who’ve been granted usershare privileges to create
# public shares, not just authenticated ones
usershare allow guests = yes#======================= Share Definitions =======================
# Un-comment the following (and tweak the other settings below to suit)
# to enable the default home directory shares. This will share each
# user’s home director as \\server\username
;[homes]
; comment = Home Directories
; browseable = no# By default, the home directories are exported read-only. Change the
# next parameter to ‘no’ if you want to be able to write to them.
; read only = yes# File creation mask is set to 0700 for security reasons. If you want to
# create files with group=rw permissions, set next parameter to 0775.
; create mask = 0700# Directory creation mask is set to 0700 for security reasons. If you want to
# create dirs. with group=rw permissions, set next parameter to 0775.
; directory mask = 0700# By default, \\server\username shares can be connected to by anyone
# with access to the samba server. Un-comment the following parameter
# to make sure that only “username” can connect to \\server\username
# The following parameter makes sure that only “username” can connect
#
# This might need tweaking when using external authentication schemes
; valid users = %S# Un-comment the following and create the netlogon directory for Domain Logons
# (you need to configure Samba to act as a domain controller too.)
;[netlogon]
; comment = Network Logon Service
; path = /home/samba/netlogon
; guest ok = yes
; read only = yes# Un-comment the following and create the profiles directory to store
# users profiles (see the “logon path” option above)
# (you need to configure Samba to act as a domain controller too.)
# The path below should be writable by all users so that their
# profile directory may be created the first time they log on
;[profiles]
; comment = Users profiles
; path = /home/samba/profiles
; guest ok = no
; browseable = no
; create mask = 0600
; directory mask = 0700#[printers]
# comment = All Printers
# browseable = no
# path = /var/spool/samba
# printable = yes
# guest ok = no
# read only = yes
# create mask = 0700# Windows clients look for this share name as a source of downloadable
# printer drivers
#[print$]
# comment = Printer Drivers
# path = /var/lib/samba/printers
# browseable = yes
# read only = yes
# guest ok = no
# Uncomment to allow remote administration of Windows print drivers.
# You may need to replace ‘lpadmin’ with the name of the group your
# admin users are members of.
# Please note that you also need to set appropriate Unix permissions
# to the drivers directory for these users to have write rights in it
; write list = root, @lpadmin# A sample share for sharing your CD-ROM with others.
;[cdrom]
; comment = Samba server’s CD-ROM
; read only = yes
; locking = no
; path = /cdrom
; guest ok = yes# The next two parameters show how to auto-mount a CD-ROM when the
# cdrom share is accesed. For this to work /etc/fstab must contain
# an entry like this:
#
# /dev/scd0 /cdrom iso9660 defaults,noauto,ro,user 0 0
#
# The CD-ROM gets unmounted automatically after the connection to the
#
# If you don’t want to use auto-mounting/unmounting make sure the CD
# is mounted on /cdrom
#
; preexec = /bin/mount /cdrom
; postexec = /bin/umount /cdrom[Compartilhados]
comment = “Shared Files”
browsable = yes
read only = yes
path = “/mnt/1tb/Compartilhados”
guest ok = yes
public = yes[Writable]
comment = “Writable Folder”
browsable = yes
read only = no
path = “/mnt/1tb/Writable”
guest ok = yes
public = yes
The shortcuts that I included:
CTRL + TAB = Change Tab
CTRL + SHIFT + TAB = Change Tab (Backwards)
CTRL + T = New Tab
CTRL + F4 = Close tab
So to have CTRL + TAB on your GEdit 2 and this others shortcuts you need to include this plugin to this path if you want to have this for all users:
/usr/lib/gedit-2/plugins/
If you want to have it just for your user paste the plugin on:
~/.gnome2/gedit/plugins/.
And if you use GEdit 3 the path to all users is:
/usr/lib/gedit/plugins/
And just for your user:
~/.local/share/gedit/plugins/
To enable GEdit – Tab Switcher and Closer, check the checkbox on:
Edit – Preferences – Plugins – GEdit Tab Switcher and Closer
Download GEdit2 – Tab Switcher and Closer
Download GEdit3 – Tab Switcher and Closer
GEdit Tab Switcher and Closer – Plugin
Enjoy
Matheus
References:
https://live.gnome.org/Gedit/PythonPluginHowTo
https://live.gnome.org/Gedit/PythonPluginHowToOld
To add your picture to your PGP key using GnuPG on Linux use:
List the certificates:
gpg –list-keys
Find your and yours certificate will start with:
pub 1024D/XXXXXXXX YYYY-MM-DD
Use this command to edit your key:
gpg –edit-key XXXXXXXX
Add your picture using:
addphoto
You must use a JPG photo. The recommended size is something near 240×288. If you use big images, your certificate will be HUGE.
Add the path to your photo:
/home/user/dir/dir/photo.jpg
The system will ask for confirmation, double check it. And press Y if it is correct.
Type your password when the system ask for it.
Save the modifications
save
Send your key to a key server.
gpg –keyserver keyserver.cais.rnp.br –send-keys XXXXXXXX
That is it.
Best Regards,
Matheus
To visualize the photos automatically using GnuPG on Ubuntu you need to edit your config file.
Edit:
gedit .gnupg/gpg.conf
If you want to enable the exhibition on key listing look for and uncomment
# Display photo user IDs in key listings
# list-options show-photos
If you want to enable the exhibition on verification look for and uncomment
#verify-options show-photos
Add this to the config file with the photo viewer that you want to use. In this case eog
photo-viewer “eog %i”
Save the file, and enjoy.
Matheus
Following the tests releases of Ubuntu 12.04, today I decided to install the last version available, the Ubuntu 12.04 beta 2, the last release before the final version. Ubuntu 12.04 release date is scheduled to April, 26 (as always, the last Thursday of April.)
To download Ubuntu 12.04 go to:
Ubuntu 12.04 Beta 2 – Download
To verify Ubuntu 12.04 release dates go to:
Ubuntu 12.04 Release Schedule
I tried the methods from Ubuntu 11.10 to go back to Gnome Classic, remove overlay scrollbar, change the menu buttons position and install the gconf-editor. Remove overlay scrollbar worked a little bit bugged, the design seems strange, but it worked. The other stuffs seems to work as normal
You can find the methods on:
Remove or disable the overlay scrollbar on Ubuntu 12.04
Change the menu buttons positions on Ubuntu 12.04
Going back to Gnome classic on Ubuntu 12.04
Best Regards,
Matheus
First of all, what is VFS? VFS means Virtual File System. It is a layer that exists in a lot of OS and in Minix too, this layer takes care of the communication with the File System. It is a Master’s thesis in Computer Science from Balázs Gerófi and the name is “Design and implementation of the MINIX Virtual File system“.
But why to communicate with VFS server? Or why to add something on it? If you want to some tasks you need to do a SYSCALL to it. But sometimes the VFS server don’t do what you want. So you must add and change it to do it.
How to do this?
Edit “/usr/src/include/minix/callnr.h”. After this line “#define GETPGRP 63″ add this:
[code lang=”c”]
#define TESTCALL 64
[/code]
Then you need to change the VFS server and add what you want to do when it is called. Edit “/usr/src/servers/vfs/table.c”. You should replace the line “no_sys, /* 64 = unused */” with:
[code lang=”c”]
do_TESTCALL, /* 64 = unused */
[/code]
What happens? The method do_TESTCALL will be called when a syscall with number 64 is done.
Change the “/usr/src/servers/vfs/proto.h”. Add this:
[code lang=”c”]
/* do_TESTCALL EXAMPLE */
_PROTOTYPE( int do_TESTCALL, (void) );
[/code]
Now you have to create the method in “/usr/src/servers/vfs/read.c” (I did in this file and it worked). Add this:
[code lang=”c”]
/*===========================================================================*
*Trabalho: do_ver_contig *
*===========================================================================*/
PUBLIC int do_TESTCALL() {
message m;
printf(“Number received %d”, m_in.fd);
}
[/code]
But how to execute? How this works? How to compile?
Acess “/usr/src/tools/” and execute:
$ make libraries
(This process can take a long time)
In “/usr/src/tools” execute:
$ make hdboot
Reboot.
How to test and see if it is working? Create in your “/root” a file with this:
[code lang=”c”]
#include
#include
#include
int main(int argc, char *argv[]) {
int fd = 2;
message m;
m.m1_i1 = fd;
printf(“Number: %d”, fd);
_syscall(FS, 64, &m);
}
[/code]
Compile it, execute it and done!
This file do a _syscall to FS saying to execute method 64 and send by message the number 2. So the do_TESTCALL receive the parameter and show it on screen. Yes it is simple, but it is just an example about how to work with VFS server.
Example of code changed/add to VFS server
Creating a system library in Minix.
Best Regards,
Matheus
PS: It is a silly example, but it just show how to add some method to VFS Server. Probably in the next days I will show a real example.
]]>Why to create a server with a torrent client with web access? I live with other people that uses torrent too. I had a computer running a server with other services, so I decided to add this client (transmission-daemon) with web access, in this way we don’t need to let computers on. Just this one. Everybody have web access to it and it is so simple to use.
But wich client to use? I searched a little bit and found that exists some famous ones as w3btorrent and torrentflux. but they need a web-server running like apache. And I don’t want to setup it too, because I don’t need it. So I choosed transmission the native torrent client in Ubuntu.
So, to install it in Ubuntu server you use:
$ sudo apt-get install transmission-daemon
Now you need to setup it, my configuration file was in /home/user/.config/transmission-daemon/settings.json
The options are a lot but it is easy to understand them.
“download-dir”: – Finished path downloads
“incomplete-dir”: – Incomplete path downloads
“incomplete-dir-enabled”: – If it will use Incomplete dir or not
“rpc-enabled”: – Web access enabled or not
“rpc-port”: – Web access port
“rpc-whitelist-enabled”: – If it will let just a few ip address
“rpc-whitelist”: – List of the ip address
There is a lot of other configs but this ones are the basic that I used to have it working. I had some problems with white-list so I disabled it.
This is my
file of config of transmission-daemon in this config the user is “admin” and the password is “teste”
If you want to strat transmission-daemon with a different config file use –config-dir /PATH/TO/SETTING/
(Remember that you must not put the settings.json in the path, just the path to the place that the file is.)
I add in /etc/rc.local
transmission-daemon –config-dir /home/user/.config/transmission-daemon/
Remove the transmission-daemon from /etc/init.d/ and reboot your system
Any doubth or problem, feel free to contact me,
Matheus
To split a large file in several smaller files, you can use Split from Linux. How it works? Man split.
split –bytes=1m /path/large/file /path/output/file/prefix
You can replace the suffix of –bytes with many values as follow:
kB = 1000
K = 1024
MB = 1000 * 1000
M = 1024 * 1024
G = 1000 * 1000 * 1000
GB = 1024 * 1024 * 1024
Best Regards,
Matheus
Reference:
http://www.techiecorner.com/107/how-to-split-large-file-into-several-smaller-files-linux/
I was reading my feeds and saw that Firefox 4.0 Beta was available. I verified what happened and I discovered that Mozilla Foundation transformed the version 3.7pre6a in 4.0b1.
I used it and didn’t notice any big improvement. Here a screenshot from it.
So how to use it?
Firefox 4.0 beta – Linux 32 Bits
Firefox 4.0 beta – Linux 64 Bits
Firefox 4.0 beta – others
After the download, close your firefox. Extract. Execute the file firefox. If you want to keep using it, you can create a shortcut to it.
Matheus
]]>I was reading about Facial Recognition and found pam-face-authentication. You must have this packages to use it:
Opencv 1.0.0 +
libpam (dev version)
libX11 (dev version)
Qt4.5 (dev version)
So I decided to try it. Let’s start.
Open CV – How to Install
This is a resume of what I did
1. Install the build-essential
$ sudo apt-get install build-essential
2. Access synaptic and search for “CMake”, Subversion, GTK+ 2.x, libpng, zlib, libjpeg, libtiff, libjasper, python 2.3+, swig. Don’t forget to install the -dev packages too
3. Install libavformat-dev
$ sudo apt-get install libavformat-dev
4. Download the opencv library
$ svn co https://opencvlibrary.svn.sourceforge.net/svnroot/opencvlibrary/tags/latest_tested_snapshot
5. Go to the download folder
$ cd latest_tested_snapshot/opencv
6. Create dir release
$ mkdir release
7. Access it
$ cd release
8. Use cmake (Don’t have sure if .. is necessary.)
\
$ cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D BUILD_PYTHON_SUPPORT=ON ..
9. Make it
$ make
10. Install it
$ sudo make install
11.
$ sudo ldconfig -v
12.
$ cd bin
13. Verify if the dependencies works.
$ ./cxcoretest
Now go to Synpactic again and look for Libpam, libX11, Qt4.5 (don’t forget the -dev version)
How to install pam-face-authentication? Install PAM-FaCE-AUTH (reference)
1. Download pam-face-authentication (download the last version in my time I used 0.3)
$ wget http://pam-face-authentication.googlecode.com/files/pam-face-authentication-0.3.tar.gz
2. Extract it.
$ tar -xf pam-face-authentication-0.3.tar.gz
3. Go to extracted folder
$ cd pam-face-authentication-0.3
4. Create build
$ mkdir build
5. Go to folder
$ cd build
6. (Don’t have sure if .. is necessary.)
$ make$ cmake -D CMAKE_INSTALL_DIR=/usr ..
8.
$ sudo make install
Access Applications – Other – QtFacetrainer. Configure it. Go to Advanced and test it.
If you want to use it when somebody uses the “su” command. Edit “/etc/pam.d/su”
$ sudo vi /etc/pam.d/su
Add this line in the begin of the file
Other reference ]]>auth sufficient pam_face_authentication.so enableX