Category Archives: Linux

Install Python from Source on Linux

\r\n\r\n\r\nThis article is helpful for you to install Python from source on Linux system. Follow the steps as describes below:\r\n\r\nlocalhost:~$ su −\r\n\r\n\r\nPassword: [enter your root password]\r\n\r\n\r\nlocalhost:~# wget http://www.python.org/ftp/python/2.3/Python−2.3.tgz\r\n\r\n\r\n Resolving www.python.org… done.\r\n\r\n\r\n Connecting to www.python.org[194.109.137.226]:80… connected.\r\n\r\n\r\n HTTP request sent, awaiting response… 200 OK\r\n\r\n\r\n Length: 8,436,880 [application/x−tar]\r\n\r\n\r\n …\r\n\r\n\r\nlocalhost:~# tar xfz Python−2.3.tgz\r\n\r\n\r\nlocalhost:~# cd Python−2.3\r\n\r\n\r\nlocalhost:~#/Python−2.3# ./configure\r\n\r\n\r\n checking MACHDEP… linux2\r\n\r\n\r\n checking EXTRAPLATDIR…\r\n\r\n\r\n checking for −−without−gcc… no\r\n\r\n\r\n …\r\n\r\n\r\nlocalhost:~#/Python−2.3# make\r\n\r\n

gcc −pthread −c −fno−strict−aliasing −DNDEBUG −g −O3 −Wall −Wstrict−prototypes\r\n

\r\n

−I. −I./Include −DPy_BUILD_CORE −o Modules/python.o Modules/python.c\r\n

\r\n

gcc −pthread −c −fno−strict−aliasing −DNDEBUG −g −O3 −Wall −Wstrict−prototypes\r\n

\r\n

−I. −I./Include −DPy_BUILD_CORE −o Parser/acceler.o Parser/acceler.c\r\n

\r\n

gcc −pthread −c −fno−strict−aliasing −DNDEBUG −g −O3 −Wall −Wstrict−prototypes\r\n

\r\n

−I. −I./Include −DPy_BUILD_CORE −o Parser/grammar1.o Parser/grammar1.c\r\n

\r\n…\r\n\r\n\r\nlocalhost:~/Python−2.3# make install /usr/bin/install −c python /usr/local/bin/python2.3\r\n\r\n\r\n…\r\n\r\n\r\nlocalhost:~/Python−2.3# exit\r\n\r\n\r\n# logout\r\n\r\n\r\nlocalhost:~$ which python\r\n\r\n\r\n /usr/local/bin/python\r\n\r\n\r\nlocalhost:~$ python\r\n\r\n

Python 2.3.1 (#2, Sep 24 2003, 11:39:14)\r\n

\r\n

[GCC 3.3.2 20030908 (Debian prerelease)] on linux2\r\n

\r\n

Type “help”, “copyright”, “credits” or “license” for more information\r\n

\r\n

 

\r\n

>>> [press Ctrl+D to get back to the command prompt]\r\n

\r\n \r\n\r\nlocalhost:~$\r\n\r\n\r\n \r\n\r\n \r\n\r\nNote: All images, logos and trademarks shown on this site are property of their respective organizations

The GNOME Desktop Project Unleashes GNOME 3.0

\r\n\r\n\r\nAfter five years of planning and design, GNOME 3.0 has been officially released. The totally rewritten desktop has had its share of both praise and condemnation in recent months due to what the project describes as “its most significant redesign of the computer experience in nine years.” They further say, the “revolutionary new user interface and new features for developers make this a historic moment for the free and open source desktop.”\r\n\r\n\r\nThe main idea in the redesign was to allow “users to focus on tasks while minimizing distractions such as notifications, extra workspaces, and background windows. Jon McCann is quoted as saying, “we’ve taken a pretty different approach in the GNOME 3 design that focuses on the desired experience and lets the interface design follow from that. With any luck you will feel more focused, aware, effective, capable, respected, delighted, and at ease.” GNOME 3.0 aims to “help us cope with modern life in a busy world. Help us connect, stay on track, feel at ease and in control.” In summary, GNOME 3.0 helps users stay “informed without being disrupted.”\r\n\r\n\r\nMatt Zimmerman, Ubuntu CTO, said, “In the face of constant change, both in software technology itself and in people’s attitudes toward it, long-term software projects need to reinvent themselves in order to stay relevant. I’m encouraged to see the GNOME community taking up this challenge, responding to the evolving needs of users and questioning the status quo.”\r\n\r\n\r\nGNOME founder, Miguel de Icaza adds, “GNOME continues to innovate in the desktop space. The new GNOME Shell is an entire new user experience that was designed from the ground up to improve the usability of the desktop and giving both designers and developers a quick way to improve the desktop and adapt the user interface to new needs. By tightly integrating Javascript with the GNOME platform, designers were able to create and quickly iterate on creating an interface that is both pleasant and exciting to use. I could not be happier with the results.”\r\n\r\n\r\nSome of the new features include:\r\n\r\n

    \r\n
  • Activities Overview at a Glance\r\n
  • \r\n

  • Built-in Messaging\r\n
  • \r\n

  • Redesigned System Settings\r\n
  • \r\n

  • Side-by-side window tiling\r\n
  • \r\n

  • Redesigned file manager\r\n
  • \r\n

  • Faster performance\r\n
  • \r\n

  • Beautiful interface\r\n
  • \r\n

\r\nThe official press release:\r\n\r\n

Groton, MA, April 6 2011: Today, the GNOME Desktop project released GNOME 3.0, its most significant redesign of the computer experience in nine years. A revolutionary new user interface and new features for developers make this a historic moment for the free and open source desktop.\r\n

\r\n

Within GNOME 3, GNOME Shell reimagines the user interface for the next generation of the desktop. This innovative interface allows users to focus on tasks while minimizing distractions such as notifications, extra workspaces, and background windows.\r\n

\r\n

Jon McCann, one of GNOME Shell’s designers, says of the design team, “we’ve taken a pretty different approach in the GNOME 3 design that focuses on the desired experience and lets the interface design follow from that.” The result: “With any luck you will feel more focused, aware, effective, capable, respected, delighted, and at ease.” GNOME Shell aims to “help us cope with modern life in a busy world. Help us connect, stay on track, feel at ease and in control.” GNOME Shell, he says, will keep users “informed without being disrupted.”\r\n

\r\n

The GNOME 3 development platform includes improvements in the display backend, a new API, improvements in search, user messaging, system settings, and streamlined libraries. GNOME 2 applications will continue to work in the GNOME 3 environment without modification, allowing developers to move to the GNOME 3 environment at their own pace. The GNOME 3 release notes include further details.\r\n

\r\n

Matt Zimmerman, Ubuntu CTO at Canonical, praises GNOME 3: “In the face of constant change, both in software technology itself and in people’s attitudes toward it, long-term software projects need to reinvent themselves in order to stay relevant. I’m encouraged to see the GNOME community taking up this challenge, responding to the evolving needs of users and questioning the status quo.”\r\n

\r\n

Miguel de Icaza, one of GNOME’s founders, celebrates the new release: “GNOME continues to innovate in the desktop space. The new GNOME Shell is an entire new user experience that was designed from the ground up to improve the usability of the desktop and giving both designers and developers a quick way to improve the desktop and adapt the user interface to new needs. By tightly integrating Javascript with the GNOME platform, designers were able to create and quickly iterate on creating an interface that is both pleasant and exciting to use. I could not be happier with the results.”\r\n

\r\n

GNOME 3 is the cumulative work of five years of planning and design by the GNOME community. McCann notes: “Perhaps the most notable part of the design process is that everything has been done in the open. We’ve had full transparency for every decision (good and bad) and every change we’ve made. We strongly believe in this model. It is not only right in principle — it is just the best way in the long run to build great software sustainably in a large community.”\r\n

\r\n

In partnership with Novell, Red Hat, other distributors, schools and governments, and user groups, GNOME 3 will reach millions of users around the world. Over 3500 people have contributed changes to the project’s code repositories, including the employees of 106 companies. GNOME 3 includes innumerable code changes since the 2.0 release 9 years ago.\r\n

\r\n

Users and fans of GNOME have planned more than a hundred launch parties around the world. Users can download GNOME 3 from http://gnome3.org to try it immediately, or wait for distributions to carry it over the coming months. GNOME 3 continues to push new frontiers in user interaction.\r\n

\r\n

—–\r\n

\r\n

The GNOME Project was started in 1997 by two then-university students, Miguel de Icaza and Federico Mena Quintero. Their aim: to produce a free (as in freedom) desktop environment. Since then, GNOME has grown into a hugely successful enterprise. Used by millions of people across the world, it is the most popular desktop environment for GNU/Linux and UNIX-type operating systems. The desktop has been utilised in successful, large-scale enterprise and public deployments, and the project’s developer technologies are utilised in a large number of popular mobile devices. For further comments and information, contact the GNOME press contact team atgnome-press-contact@gnome.org.

\r\n

 

\r\n

 

\r\n

Credits: Susan Linton, Linux Journal

Wi-Fi on the Command Line

More people than ever are using wireless networks as their primary networking medium. Great programs are available under X11 that give users a graphical interface to their wireless cards. Both GNOME and KDE include network management utilities, and a desktop-environment-agnostic utility called wicd also offers great functionality. But, what if you aren’t running X11 and want to manage your wireless card? I don’t cover how to install and activate your card here (for that, take a look at projects like madwifi or ndiswrapper). I assume your card is installed and configured properly, and that it is called wlan0. Most of the utilities mentioned below need to talk directly to your wireless card (or at least the card driver), so they need to be run with root privileges (just remember to use sudo). The first step is to see what wireless networks are available in your area. A utility called iwlist provides all sorts of information about your wireless environment. To scan your environment for available networks, do the following: \r\n

sudo iwlist wlan0 scan

\r\nYou’ll see output resembling:\r\n

Cell 01 – Address: 00:11:22:33:44:55

\r\n

ESSID:”network-essid”

\r\n

Mode:Master

\r\n

Channel:11

\r\n

Frequency:2.462 GHz (Channel 11)

\r\n

Quality=100/100 Signal level:-47dBm Noise level=-100dBm

\r\n

Encryption key:off

\r\nThe details (address and essid) have been changed to protect the guilty. Also, the … represents extra output that may or may not be available, depending on your hardware. You will get a separate cell entry for each access point within your wireless card’s range. For each access point, you can find the hardware address, the essid and the channel on which it’s operating. Also, you can learn in what mode the access point is operating (whether master or ad hoc). Usually, you will be most interested in the essid and what encryption is being used. Once you know what’s available in your immediate environment, configure your wireless card to use one of these access points using the iwconfig utility to set the parameters for your wireless card. First, set the essid, which identifies the network access point you want: \r\n

sudo iwconfig wlan0 essid network-essid

\r\nDepending on your card and its driver, you may have the option to set the essid to the special value “any”. In this case, your card will pick the first available access point. This is called promiscuous mode. You also may need to set the mode to be used by your wireless card. This depends on your network topology. You may have a central access point to which all of the other devices connect, or you may have an ad hoc wireless network, where all of the devices communicate as peers. You may want to have your computer act as an access point. If so, you can set the mode to master using iwconfig. Or, you simply may want to sniff what’s happening around you. You can do so by setting the mode to monitor and passively monitor all packets on the frequency to which your card is set. You can set the frequency, or channel, by running: \r\n

sudo iwconfig wlan0 freq 2.422G

\r\nOr by running: \r\n

sudo iwconfig wlan0 channel 3

\r\nYou can set other parameters, but you should consider doing so only if you have a really good reason. One option is the sensitivity threshold, which defines how sensitive the card is to noise and signal strength, and you can set the behavior of the retry mechanism for the wireless card. You may need to play with this in very noisy environments. Set the maximum number of retries with: \r\n

sudo iwconfig wlan0 retry 16

\r\nOr, set the maximum lifetime to keep retrying to 300 milliseconds with: \r\n

sudo iwconfig wlan0 retry lifetime 300m

\r\nIn a very noisy environment, you also may need to play with packet fragmentation. If entire packets can’t make it from point to point without corruption, your wireless card may have to break down packets into smaller chunks to avoid this. You can tell the card what to use as a maximum fragment size with: \r\n

sudo iwconfig wlan0 frag 512

\r\nThis value can be anything less than the size of a packet. Some cards may not apply these settings changes immediately. In that case, run this command to flush all pending changes to the card and apply them: \r\n

sudo iwconfig wlan0 commit

\r\nTwo other useful commands are iwspy and iwpriv. If your card supports it, you can collect wireless statistics by using: \r\n

sudo iwspy wlan0

\r\nThe second command gives you access to optional parameters for your particular card. iwconfig is used for the generic options available. If you run it without any parameters (sudo iwpriv wlan0), it lists all available options for the card. If no extra options exist, you will see output like this: \r\n

wlan0 no private ioctls

\r\nTo set one of these private options, run: \r\n

sudo iwpriv wlan0 private-command [private parameters]

\r\nNow that your card is configured and connected to the wireless network, you need to configure your networking options to use it. If you are using DHCP on the network, you simply can run dhclient to query the DHCP server and get your IP address and other network settings. If you want to set these options manually, use the ifconfig command (see the man page for more information). \r\n\r\n Tips: \r\n

    \r\n
  • \r\n
    You can also change the MAC address with ifconfig if need be.

    \r\n$ ifconfig wlan0 down \r\n\r\n$ ifconfig wlan0 hw ether 00:11:22:33:44:55 \r\n\r\n$ ifconfig wlan0 up \r\n\r\n OR \r\n\r\nUse macchanger

  • \r\n

  • \r\n
    You will probably want to look into wpa_supplicant for all your WPA etc needs (I typed in the status command):

    \r\n—————–8<—————–\r\n# wpa_cli\r\nwpa_cli v0.7.3\r\nCopyright (c) 2004-2010, Jouni Malinen and contributors\r\n…..\r\nSelected interface ‘wlan0’\r\n\r\nInteractive mode\r\n\r\n> status\r\nbssid=00:50:7f:95:c1:e0\r\nssid=\r\nid=0\r\nmode=station\r\npairwise_cipher=CCMP\r\ngroup_cipher=CCMP\r\nkey_mgmt=WPA2-PSK\r\nwpa_state=COMPLETED\r\nip_address=\r\n>\r\n—————–8<—————–\r\n\r\nOn Gentoo, make sure driver is compiled in, emerge wpa_supplicant, add this (or similar) to /etc/conf.d/net:\r\n\r\nwpa_supplicant_wlan0=”-Dwext”\r\nconfig_wlan0=”dhcp”\r\n\r\nThen add a stanza like the following to /etc/wpa_supplicant/wpa_supplicant.conf:\r\n\r\nnetwork={\r\nssid=”My_SSID”\r\npsk=”My_WPA(2)_shared_key”\r\n}\r\n\r\nAdd net.wlan0 to default runlevel, start it and forget about it!\r\n\r\nI’m sure that shouldn’t be too hard to replicate on another Linux distro.\r\n\r\nFinally, check the output from:\r\n\r\n#ip a\r\n#ip r\r\n(#ifconfig and netstat -r for the old school)\r\n#dmesg\r\n#less /var/log/messages (or syslog)\r\n\r\nOf course wpa_cli (type help for some command to use)

  • \r\n

\r\nNote: \r\n

    \r\n
  • \r\n
    You cannot use “iwlist ra0 scan” while your interface is in monitor mode. Try this:

    \r\nifconfig ra0 down \r\n\r\niwconfig ra0 mode managed \r\n\r\nifconfig ra0 up \r\n\r\niwlist ra0 scan

  • \r\n

  • You can use wireshark to monitor your outcomming packets and see that none of them is bigger than that
  • \r\n

\r\n

\r\n

\r\n

\r\n

\r\n

Credits: Joey Bernard, Linux Journal

Fedora Server Installation Guide

After reading this article you you should able to configure Fedore server for post installation and configuration of\r\n

    \r\n
  • NTP Server
  • \r\n

  • SSH Server
  • \r\n

  • Apache Web Server
  • \r\n

  • SSL installation and Configuration
  • \r\n

  • FTP Server
  • \r\n

  • Setup Samba File Server
  • \r\n

  • MySQL Server
  • \r\n

  • PHPmyAdmin to manage mySQL database from remote locations.
  • \r\n

\r\n[1] Download Fedora and Make a DVD for installing Fedora. \r\n\r\nDownload Fedora installation DVD ISO-file from Fedora website http://fedoraproject.org/get-fedora. Burn DVD according to instructions described on Fedora website and install Fedora according to instructions. Documentation for Fedora installation is available at their web sites and links are listed as below: \r\n

\r\n[2] Install Fedora\r\n\r\nIn this article we’re focussing to setup Fedora 11 Server.\r\n\r\n[3] Configure Fedora 11\r\nInitial Configuration After Installing Fedora.\r\n\r\n[a] Add a new user. \r\n\r\nI used user name as ‘fedora’ on following examples, but set any names you like to use.\r\n\r\n[root@dlp ~]#useradd fedora\r\n[root@dlp ~]#passwd fedora\r\nChanging password for user fedora.\r\nNew UNIX password: # input password you want to set\r\nRetype new UNIX password: # verify\r\npasswd: all authentication tokens updated successfully.\r\n[root@dlp ~]#exit # logout\r\n\r\n[b] Try to switch by user that was added in section [1].\r\n\r\nns login: fedora # input user name\r\npassword: # input password\r\n[pixel@dlp ~]$su - # switch to root\r\nPassword: # input password for root\r\n[root@dlp ~]# # done to switching to root\r\n\r\n[c] Make ‘fedora’ user that was added in section [1] be only a user who can switch to root.\r\n\r\n[root@dlp ~]#vi /etc/group\r\n\r\n# line 11: add user\r\nWheel:x:10:root,fedora\r\n[root@dlp ~]#vi /etc/pam.d/su\r\n#%PAM-1.0\r\nauth sufficient pam_rootok.so\r\n# Uncomment the following line to implicitly trust users in the “wheel” group.\r\n#auth sufficient pam_wheel.so trust use_uid\r\n# Uncomment the following line to require a user to be in the “wheel” group.\r\n# remove ‘#’ that was on the head of line\r\nauth required pam_wheel.so use_uid\r\nauth include system-auth\r\naccount sufficient pam_succeed_if.so uid = 0 use_uid quiet\r\naccount include system-auth\r\npassword include system-auth\r\nsession include system-auth\r\nsession optional pam_xauth.so\r\n\r\n[root@dlp ~]#vi /etc/login.defs\r\n\r\n# add this line at the bottom\r\nSU_WHEEL_ONLY yes\r\n\r\n[d] Set config to forward mails for root to a user who is a system administrator you set as.\r\n\r\n[root@dlp ~]#vi /etc/aliases\r\n\r\n# Person who should get root’s mail\r\n# bottom: remove ‘#’ and add user name\r\nroot:fedora\r\n\r\n[root@dlp ~]#newaliases # set new aliases\r\n/etc/aliases: 77 aliases, longest 10 bytes, 776 bytes total\r\n\r\nFw & SELinux :\r\n\r\n[1] It’s unnecessarry to enable FireWall because it’s enable on the Routers, so Change it to disabled.\r\n\r\n[root@dlp ~]#/etc/rc.d/init.d/iptables stop\r\niptables: Flushing firewall rules: [OK]\r\niptables: Setting chains to policy ACCEPT: filter [OK]\r\niptables: Unloading iptables modules: [OK]\r\n\r\n[root@dlp ~]#chkconfig iptables off\r\n[root@dlp ~]#chkconfig ip6tables off\r\n\r\n[2] Change to disabled SELinux (Security-Enhanced Linux).\r\n\r\n[root@dlp ~]#vi /etc/sysconfig/selinux\r\n# This file controls the state of SELinux on the system.\r\n# SELINUX= can take one of these three values:\r\n# enforcing – SELinux security policy is enforced.\r\n# permissive – SELinux prints warnings instead of enforcing.\r\n# disabled – SELinux is fully disabled.\r\nSELINUX=disabled # change\r\n# SELINUXTYPE= type of policy in use. Possible values are:\r\n# targeted – Only targeted network daemons are protected.\r\n# strict – Full SELinux protection.\r\nSELINUXTYPE=targeted\r\n\r\n[4] Installing NTP Server :\r\n

It’s an example to install and Configure NTP server for system clock.

\r\n[root@dlp ~]#yum -y install ntp\r\nIt will install NTP packages\r\n\r\n[root@dlp ~]#mv /etc/ntp.conf /etc/ntp.conf.bk\r\n[root@dlp ~]#vi /etc/ntp.conf\r\n

# Set servers for synchronizing

\r\n

server ntp1.ssysadmin.com

\r\n

server ntp2.ssysadmin.com

\r\n[root@dlp ~]#/etc/rc.d/init.d/ntpd start\r\nStarting ntpd: [ OK ]\r\n\r\n[root@dlp ~]#chkconfig ntpd on\r\n[root@dlp ~]#ntpq -p\r\n\r\n[5] Installing SSH Server\r\n\r\n[1] Configure SSH server for Windows clietnts computer to be able to login from them. This is the way with Password Authentication.\r\n\r\n[root@dlp ~]#vi /etc/ssh/sshd_config\r\n

\r\n
# line 42: make valid and change ‘no’

\r\nPermitRootLogin no\r\n

# line 63: make valid

\r\nPermitEmptyPasswords no\r\nPasswordAuthentication yes\r\n[root@dlp ~]#/etc/rc.d/init.d/sshd restart\r\n\r\n[2] Get an appreciation which you can login from Windows clients by using PUTTY.\r\n\r\n

\r\n[6] Installing Apache Web Server\r\n\r\nThis is an example to build Web Server. Install Apache for it. In addition to do it, Install PHP and SSL because there are often used with Web Server. And it’s also neccessary to configure router so that TCP and UDP packets to 80 and 443 can pass through.\r\n\r\n[root@www ~]#yum -y install httpd php php-mbstring php-pear mod_ssl\r\n\r\n[root@www ~]#rm -f /etc/httpd/conf.d/welcome.conf\r\n\r\n[root@www ~]#rm -f /var/www/error/noindex.html\r\n[root@www ~]#ln -s /usr/bin/perl /usr/local/bin/perl\r\n\r\nHere is an example to configure Apache. I set it that users can open to the public their Web site and can execute CGI in any directories. ( SSI is disabled because it’s not used so often )\r\n\r\n[root@www ~]#vi /etc/httpd/conf/httpd.conf\r\n\r\nServerTokens Prod // line 44: change\r\nKeepAlive On // line 74: change to ON\r\nServerAdmin root@server-linux.info // line 250: Admin’s address\r\nServerName www.server-linux.info:80 // line 264: server’s name\r\nOptions FollowSymLinks ExecCGI // line 319: change (disable Indexes)\r\nAllowOverride All // line 326: change\r\n

#UserDir disable // line 354: make it comment

\r\nUserDir public_html // line 361: make valid\r\n

// line 369 – 380 : remove # and make valid

\r\nAllowOverride All // change\r\nOptions ExecCGI // CGI enabled\r\nOrder allow,deny\r\nAllow from all\r\nOrder deny,allow\r\nDeny from all\r\n

// line 390: add file name that it can access only with directory’s name

\r\nDirectoryIndex index.html index.cgi index.php\r\nServerSignature Off // line 523: change\r\n

#AddDefaultCharset UTF-8 // line 746: make it comment

\r\n

// line 777: make valid and add file-type that apache looks them CGI

\r\nAddHandler cgi-script .cgi.pl\r\n\r\n[root@www ~]#/etc/rc.d/init.d/httpd start\r\nStarting httpd:[ OK ]\r\n[root@www ~]#chkconfig httpd on\r\n\r\n[2] Create HTML test page to make sure Apache is working.\r\n\r\n[7] Config SSL\r\n\r\nConfigure for SSL that is installed in above section. We made a Certification File for SSL in this example, but if you use server for business, It’s better to buy and use a Certification File from CA like verisign.com, thawte.com, etc…\r\n\r\n[root@www ~]#cd /etc/pki/tls/certs\r\n[root@www certs]#make server.key\r\numask 77 ; \\r\n

/usr/bin/openssl genrsa -des3 1024 > server.key

\r\nGenerating RSA private key, 1024 bit long modulus\r\n………………………………………………++++++\r\n………….++++++\r\ne is 61251 (0x10001)\r\nEnter pass phrase: // input pass phrase\r\nVerifying – Enter pass phrase: // verify\r\n

// it’s troublesome to input pass phrase always, so remove it from private key

\r\n[root@www certs]#openssl rsa -in server.key -out server.key\r\nEnter pass phrase for server.key: // input pass phrase\r\nwriting RSA key\r\n[root@www certs]#make server.csr\r\numask 77 ; \\r\n

/usr/bin/openssl req -utf8 -new -key server.key -out server.csr

\r\nYou are about to be asked to enter information that will be incorporated\r\ninto your certificate request.\r\nWhat you are about to enter is what is called a Distinguished Name or a DN.\r\nThere are quite a few fields but you can leave some blank\r\nFor some fields there will be a default value,\r\nIf you enter ‘.’, the field will be left blank.\r\n—–\r\nCountry Name (2 letter code) [GB]: US\r\nState or Province Name (full name) [Berkshire]:CO\r\nLocality Name (eg, city) [Newbury]:Denver\r\nOrganization Name (eg, company) [My Company Ltd]:sSysAdmin\r\nOrganizational Unit Name (eg, section) []:Security\r\nCommon Name (eg, your server’s hostname) []:www.ssysadmin.com\r\nEmail Address []:root@ssysadmin.com\r\nPlease enter the following ‘extra’ attributes\r\nto be sent with your certificate request\r\nA challenge password []: // Enter with empty\r\nAn optional company name []:// Enter with empty\r\n\r\n[root@www certs]#openssl x509 -in server.csr -out server.crt -req -signkey server.key -days 3650 // make CertificateFile\r\nSignature ok\r\nsubject=/C=US/ST=CO/L=Denver/O=sSysAdmin/OU=Security/CN=www.ssysadmin.com/\r\nemailAddress=root@ssysadmin.com Getting Private key\r\n[root@www certs]#chmod 400 server.*\r\n[root@www certs]#vi /etc/httpd/conf.d/ssl.conf\r\n\r\nDocumentRoot “/var/www/html” // line 84: make valid\r\nServerName www.ssysadmin.com:443 // line 85: make valid and change\r\nSSLCertificateFile /etc/pki/tls/certs/server.crt // line 112: change\r\nSSLCertificateKeyFile /etc/pki/tls/certs/server.key // line 119: change\r\n

[root@www certs]#/etc/rc.d/init.d/httpd restart\r\nStopping httpd: [ OK ]\r\nStarting httpd: [ OK ]

\r\n

\r\n
\r\n
\r\n

\r\n

\r\n

\r\n

\r\n

  Access to the page that is made in section (2) with https. Following window is shown because Certification File is not by CA. Click Ok to proceed.

\r\n[8] Installing FTP Server\r\n[1] Build FTP server to transfer files. Install and configure vsftpd for it.\r\n\r\n[root@www ~]#yum -y install vsftpd\r\n\r\n[root@www ~]#vi /etc/vsftpd/vsftpd.conf\r\n\r\nanonymous_enable= NO // line 12: no anonymous\r\nascii_upload_enable=YES // line 79: make valid\r\nascii_download_enable=YES (permit ascii mode transfer)\r\nchroot_list_enable=YES // line 94: make valid\r\n

\r\n
(enable chroot list)

\r\n

\r\nchroot_list_file=/etc/vsftpd/chroot_list // line 96: make valid\r\nls_recurse_enable=YES // line 102: make valid\r\nchroot_local_user=YES // bottom: enable chroot\r\n

local_root=public_html // root directory

\r\n

use_localtime=YES // use local time

\r\n[root@www ~]#vi /etc/vsftpd/chroot_list\r\n

fedora // write users you permit

\r\n[root@www ~]# /etc/rc.d/init.d/vsftpd start\r\nStarting vsftpd for vsftpd: [ OK ]\r\n[root@www ~]#chkconfig vsftpd on\r\n\r\n[9] Samba File Server\r\n\r\nBuild File server to share files between Windows computer and Linux Server computer. Install Samba for it. I created this File server in a GuestOS named ‘lan’ in this example.\r\n\r\n[root@lan ~]#yum -y install samba\r\nCreate a shared directory that anybody can read and write, and authentication is not needed.\r\n\r\n[1] Configure Samba\r\n[root@lan ~]#mkdir /home/share\r\n[root@lan ~]#chmod 777 /home/share\r\n[root@lan ~]#vi /etc/samba/smb.conf\r\n\r\nunix charset = UTF-8 // line 24: add the line\r\nworkgroup =WORKGROUP // line 27: change (Windows’ default)\r\nsecurity =share// line 35: change\r\nhosts allow =192.168.0. 127. // line 41: change IP address you permit\r\n

// add these lines at the bottom

\r\n

[Share] // any name you like\r\npath = /home/share // shared directory\r\nwritable = yes // OK to write\r\nguest ok = yes // guest OK\r\nguest only = yes // guest only\r\ncreate mode = 0777 // fully accessed\r\ndirectory mode = 0777 // fully accessed\r\nshare modes = yes

\r\n[root@lan ~]#/etc/rc.d/init.d/smb start\r\nStarting SMB services:[ OK ]\r\nStarting NMB services:[ OK ]\r\n[root@lan ~]#chkconfig smb on\r\n\r\n[10] Mysql\r\n\r\nInstall MySQL for database server.\r\n\r\n[root@www1 ~]# yum -y install mysql-server\r\n[root@www1 ~]# /etc/rc.d/init.d/mysqld start\r\n\r\n[root@www1 ~]#mysql -u root # login to MySQL\r\nWelcome to the MySQL monitor. Commands end with ; or \g.\r\nYour MySQL connection id is 2 to server version: 5.0.22\r\n\r\nType ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the buffer.\r\n

# show user info

\r\nmysql>select user, host, password from mysql.user;\r\n

# delete user that has no password

\r\nmysql>delete from mysql.user where user=”;\r\nQuery OK, 2 rows affected (0.00 sec)\r\n

# set root password

\r\nmysql>set password for root@localhost=password(‘password’);\r\nQuery OK, 0 rows affected (0.00 sec)\r\n

# set root password

\r\nmysql>set password for root@’www1.server-linux.info’=password(‘password’);\r\nQuery OK, 0 rows affected (0.00 sec)\r\n

# set root password

\r\nmysql>set password for root@127.0.0.1=password(‘password’);\r\nQuery OK, 0 rows affected (0.00 sec)\r\n

# show user info

\r\nmysql>select user,host,password from mysql.user;\r\n\r\nmysql>exit # logout\r\nBye\r\n[root@www1 ~]#mysql -u root -p # login with root\r\nEnter password: # password\r\nWelcome to the MySQL monitor. Commands end with ; or \g.\r\nYour MySQL connection id is 4 to server version: 5.0.22\r\n\r\nType ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the buffer.\r\n\r\nmysql>exit\r\nBye\r\n\r\nInstall phpmyadmin to operate MySQL from Web browser. Webserver is also needed.\r\n\r\n[1] Install and configure phpmyadmin\r\n\r\n[root@www1 ~]#yum -y install phpMyAdmin php-mysql php-mcrypt\r\n[root@www1 ~]#vi /etc/phpMyAdmin/config.inc.php\r\n

# add this line around line 13

\r\n

# set password

\r\n

$cfg[‘blowfish_secret’] = ‘password';

\r\n

# line 28: change

\r\n$cfg[‘Servers’][$i][‘auth_type’] = ‘cookie';\r\n\r\n[root@www1 ~]#vi /etc/httpd/conf.d/phpMyAdmin.conf\r\n

# line 8: change

\r\nAlias /mysql /usr/share/phpMyAdmin\r\n# line 13: add IPs you permit\r\nAllow from 127.0.0.1 192.168.0.0/24\r\n\r\n[root@www1 ~]#/etc/rc.d/init.d/httpd reload\r\nReloading httpd: [ OK ]\r\n\r\n[2] Access to ‘http://(your hostname)/(alias name you set)/’  i.e. http://localhost/phpMyAdmin through  web browser.\r\n\r\nCredits: yuvalinux @ bs

What’s new in Linux 2.6.36?

The new kernel version is notable because it hasn’t grown in size – yet it contains hundreds of advancements which will be obvious to end users, who don’t often notice changes in their Linux distribution’s kernel. \r\n\r\n

After 80 days of development Linus Torvalds has released Linux version 2.6.36. It got the name “Flesh-Eating Bats with Fangs” with the eight pre-release; Torvalds was inspired by a bat that recently found its way into his house. The new Linux kernel is no larger than its immediate predecessor – a rarity, as over the past few years the kernel sources have grown by several hundred thousand lines of code with every new version released in the main development branch.

\r\nThe kernel hasn’t grown in size because the developers considerably trimmed down the default configuration files. However, other patches have introduced plenty of new source code, allowing 2.6.36 to offer numerous noteworthy new features – for instance, the long-disputed AppArmor security extension, a new Out-of-Memory (OOM) killer, kernel thread improvements, basic Xen Dom0 support and various file system and related VFS optimisations. The kernel hackers also fixed a bug in the VM subsystem which caused certain systems to become unbearably slow when writing to slow storage media. Other changes promise to make systems appear faster through improved response times. As usual, the new version also contains numerous new and improved drivers – for instance, the Nouveau driver for NVIDIA graphics chips now supports the Fermi chips used in recent GeForce graphics cards. The kernel hackers also considerably improved the support of infra-red remote controls and receivers.\r\n\r\nThe following Kernel Log offers an overview of these and many further new features of Linux 2.6.36. These changes will eventually impact all Linux users as Linux distributions adopt the 2.6.36 kernel, or subsequent point releases, and make these improvements available to end users. At the end of this article, the Kernel Log will also take a peek at the advancements that might make it into 2.6.37.\r\n

\r\n

Downloading the Linux kernel

\r\nNew versions of Linux can be obtained from the Kernel.org servers; the contents of these servers are also mirrored on numerous mirrors internationally. However, Linux users who are not familiar with the details of the kernel and its environment should generally not install new Linux drivers and kernels themselves but use the kernels provided by the Linux distributors instead.

\r\n

Details

\r\nThis article provides an overview of the most important changes of Linux version 2.6.36.\r\n

bout the source code management system

\r\n

Many of the links in this article point to the relevant commits in the web front end of Linus Torvalds’ Git source code management system for Linux, because these commits tend to contain a lot more information about the respective changes. The commit comment in the mid section of the web page displayed by the Git web front end is often a particularly helpful source of further information. This is where the author of a patch usually describes the background and intended effects of the changes.\r\n\r\nThe bottom section of the Git web front end lists the files that are affected by the patch. The “diff” link behind each file name shows how the patch modifies the respective file; if you want to view the complete patch in its raw form, click on the commitdiff link. Even if you don’t have any programming skills the patches are often a good source of information, because they also contain changes to the documentation and comments within the code.

\r\n

Networking

\r\nDue to SR-IOV, the new cxgb4vf driver for guest systems can now directly access some of the features offered by Chelsio’s 1-Gigabit and 10-Gigabit network chips; as with other SR-IOV drivers, this is designed to reduce latencies and CPU loads for network transfers and increase data throughput (for instance 1, 2, 3, 4, 5). The Atheros ath9k Wi-Fi driver can now talk to version 2.2 of the AR9003 chip. The Minstrel rate control algorithm, which originated from the MadWifi project and automatically selects the most suitable transmission method, now supports 802.11n transmissions. The ipheth iPhone tethering driver can now interact with the iPhone 4.\r\n

Architecture code

\r\nWith 2.6.36, the list of processor architectures supported by the kernel has grown and now also includes Tilera’s TILEPro and TILE64 32-bit processors (for instance 1, 2, 3). Support for NVIDIA’s Tegra processors, which are based on the ARM architecture, has been added to the kernel from the Android environment (for instance 1, 2, 3).\r\n\r\nKVM now offers support of the Xsave (1, 2) and AVX (Intel Advanced Vector Extension) processor commands in guest systems. An overview of the changes to the Xen code is available in the Git-Pull requests by Jeremy Fitzhardinge and Konrad Rzeszutek Wilk. Some of them provide the foundations for code that will allow running the Linux kernel as an “initial domain” – a kind of trimmed-down Dom0 support. This code is currently being discussed on the LKML and could make it into the Linux main development branch in one of the next few versions.\r\n

Memory and thread management

\r\nThe kernel developers have considerably changed and largely rewritten the Out-of-Memory (OOM) killer that shuts down processes during memory shortages so a system can continue to function (1, 2, 3). The kernel hackers have also integrated “Concurrency Managed Workqueues” to optimise the handling of kernel threads (for instance 1, documentation). This technology is designed to make the kernel more efficient in terms of resources, enhance scaling and reduce the number of kernel threads on many systems – the latter will be noted by users as it also reduces the list of kernel threads returned by “ps -A”.\r\n

Security

\r\nHaving tried for several years to integrate their security extension into the kernel code, the developers of AppArmor, which was made available to the open source community by Novell in 2006, have finally managed to incorporate their extension into kernel version 2.6.36 (for instance 1, 2, 3, documentation). Similar to SELinux, AppArmor can restrict applications to a set variety of actions; as a result, attackers who obtain system access, for instance, through a security hole in the server software, can only do limited damage.\r\n\r\nOver the years numerous attempts had also been made to integrate TALPA-based Fanotify before Torvalds included it in the forthcoming version (for instance 1, 2, 3). It is based on Fsnotify, which was integrated and adapted in 2.6.31, and offers entry points which allow, for example, the integration of virus scanners that check accessed files for malicious software before delivering the files content (“on-access scan”).\r\n\r\nJust days before completion of Linux 2.6.36, the developers deactivated the Fanotify user-space interface after a few issues that may have in future, to some extent, affected the ABI were discovered (1, 2, 3). This means that, for now, Fanotify is not usable. The developers are correcting the errors behind these issues and plan to re-activate the user-space interfaces for Linux 2.6.37; it is unclear if the patches will be applied to the stable 2.6.36 kernel series.\r\n

Trimmed

\r\nThe kbuild code now offers the targets “oldnoconfig“, “listnewconfig“, “alldefconfig“, and “savedefconfig“. The latter writes a configuration file called “defconfig” which only includes the options that differ from the default settings listed in the kconfig files. Using this make target, the developers have generated dozens of default configuration files for the various system and processor architectures supported by the Linux kernel to replace the previous standard configuration files. As the latter used to include all the default options also listed in the kernel’s kconfig files, the related giant commit of almost 6 Mbytes removes more than two hundred thousand lines of code in the kernel sources.\r\n\r\nThe maintainers of the code for Itanium (IA64) and PowerPC support had already trimmed down their configuration files in the same way (1, 2). These changes are the main reason for the source code of 2.6.36 remaining around the same size as its its immediate predecessor – which is very unusual, as in the past few years previous kernels have grown by several hundred thousand lines with every new version. The default configuration files’ slimming diet already started in 2.6.35, when the kernel developers trimmed the files for ARM systems. None of these changes affect Linux users, as “make defconfig” continues to create a basic configuration file for a system in the same way as before.\r\n

\r\n

Which drivers were changed

\r\nInformation about the changes to individual Linux kernel files can be found through the Git web front end at Kernel.org – this, for example, allows users to find out whether there have been changes to the drivers used on their own systems. To do this, however, users need to know where in the Linux kernel’s source code tree the driver files are located. For the heavily modular distribution kernels the modinfo program is often helpful when searching:\r\n

$ /sbin/modinfo e100 e1000 | grep filename:\r\nfilename:       /lib/modules/[...]/kernel/drivers/net/e100.ko\r\nfilename:       /lib/modules/[...]/kernel/drivers/net/e1000/e1000.k

\r\nIf a compiled module is, for example, located at […]/kernel/drivers/net/e100.ko, its source code in the Linux source code archive can usually be found in a file with a similar name in the drivers/net/ directory – for example e100.c for the e100 driver for Intel 100 MBit networking hardware. Other modules like the e1000 driver for Intel’s PCI Gigabit LAN chips, on the other hand, have a whole directory to themselves. If the approximate location of the driver source code is known, users can navigate to the respective source code files in the tree view of the Git web interface and can then retrieve an overview of the latest file or directory changes via the history link. In the network driver directory, changes to the driver code of e100 (drivers/net/e100.c) and e1000 (drivers/net/e1000/), for example, can be displayed and examined in this way.

\r\n

In brief

\r\n

    \r\n
  • The kernel hackers have further reduced the use of the Big Kernel Lock (BKL) in the infrastructure code and in numerous drivers. This brings the developers another step closer to their aim of making the kernel work without this bulky locking mechanism that decreases scalability, and therefore system performance, on standard systems.
  • \r\n

\r\n

    \r\n
  • In certain circumstances, the process scheduler now reduces the competition between kernel threads that are trying to gain exclusive control of a resource which is in use. This causes fewer disruptions to the active process and can considerably improve data throughput (commit, article on LWN.net).
  • \r\n

\r\n

    \r\n
  • Almost a month after the closing of the merge window, the kernel hackers have made a change to the process scheduler to reduce maximum latencies, for instance when other parallel processes are claiming CPU time, especially on desktop systems – this promises to improve response times and is said to make systems appear faster. The discussion preceding the changes and the commit comment provide background information as well as some values measured in a test scenario that show the maximum latency as reduced to almost half of the original amount.
  • \r\n

\r\n

    \r\n
  • With 2.6.36, the kernel hackers hope to have fixed the problem that existed under 2.6.35 and several previous kernels, that in certain circumstances, caused systems to appear extremely slow or occasionally cease to respond altogether while the kernel wrote large amounts of data to a slow storage medium (such as a USB Flash drive) (for instance 1).
  • \r\n

\r\n

    \r\n
  • The new interfaces in 2.6.36 display which PCI / PCIe devices use the power-saving modes of I/O devices and to what extent during runtime; the recently released version 1.13 of PowerTop can already read out, process, and output this data.
  • \r\n

\r\n

    \r\n
  • The ideapad driver for the Lenovo netbooks of the same name has been added to the platform subsystem.
  • \r\n

\r\n

    \r\n
  • The new scroll acceleration in the driver for Magic Mouse, which sometimes confuses users, is now disabled in standard settings and has to be enabled via a module parameter.
  • \r\n

\r\n

Facts and figures for the latest versions of the Linux kernel

\r\n

\r\n
\r\n
\r\n

\r\n

\r\n

\r\n

\r\n

\r\n

\r\n

\r\n

\r\n

\r\n

\r\n

\r\n

\r\n

\r\n

\r\n

\r\n

\r\n

\r\n

\r\n

\r\n

\r\n

\r\n

\r\n

\r\n

\r\n

\r\n

\r\n

\r\n

\r\n

\r\n

\r\n

\r\n

\r\n

\r\n

\r\n

\r\n

\r\n

\r\n

\r\n

\r\n

\r\n

\r\n

\r\n

\r\n

\r\n

\r\n

\r\n

\r\n

\r\n

\r\n

\r\n

\r\n

\r\n

\r\n

\r\n

\r\n

\r\n

\r\n

\r\n

\r\n

\r\n

\r\n

\r\n

\r\n

\r\n

\r\n

\r\n

\r\n

\r\n

\r\n

\r\n

\r\n

\r\n

\r\n

\r\n

\r\n

Linux\r\nVersion Files1 Source lines2 Days Commits3 Changes4
2.6.29 26668 11010647\r\n(9871260) 89 11718 10933 files changed\r\n1347290 insertions(+)\r\n532055 deletions(-)
2.6.30 27879 11637173\r\n(10419567) 78 11989 10259 files changed\r\n1086737 insertions(+)\r\n460298 deletions(-)
2.6.31 29111 12046317\r\n(10778469) 92 10883 8938 files changed\r\n914135 insertions(+)\r\n504980 deletions(-)
2.6.32 30485 12606910\r\n(11242136) 84 10998 10315 files changed\r\n1092987 insertions(+)\r\n530428 deletions(-)
2.6.33 31565 12990041\r\n(11564768) 83 10871 9673 files changed\r\n859458 insertions(+)\r\n479452 deletions(-)
2.6.34 32297 13320934\r\n(11861616) 82 9443 11154 files changed\r\n609584 insertions(+)\r\n278958 deletions(-)
2.6.35 33316 13545604\r\n(12250679) 77 9801 8889 files changed\r\n691927 insertions(+)\r\n467252 deletions(-)
2.6.36 34301 13499457\r\n(12539782) 80 9501 9202 files changed\r\n582139 insertions(+)\r\n628362 deletions(-)
¹ find . -type f -not -regex ‘\./\.git/.*’ | wc -l\r\n² (Without documentation): find . -type f -not -regex ‘\./\.git.*’ | xargs cat | wc -l (find . -name *.[hcS] -not -regex ‘\./\.git.*’ | xargs cat | wc -l)\r\n³ git-log –no-merges –pretty=oneline v2.6.(x-1)..v2.6.(x) | wc -l\r\n⁴ git diff –shortstat v2.6.(x-1)..v2.6.(x)

\r\n

Overview of 2.6.36

\r\nDespite its almost unchanged size and its relatively short development time, Linux 2.6.36 yet again offers a range of improvements. Linux users are likely to benefit particularly from the optimisations and bug fixes in the memory management area, and from the faster response times. Furthermore, the future of the AppArmor extension used, for instance, in Ubuntu, looks far rosier, now that AppArmor has been integrated into the main development branch.\r\n\r\nAs usual, many new and improved drivers are set to have strong short-term as well as long-term effects – such as the extended support of USB and IR hardware. In the long run, the developers may also make something of the perhaps slightly exotic-looking KDB shell, which is currently only available via Intel’s KMS driver and simplifies troubleshooting for advanced users and system administrators.\r\n

Kernel trends: Coming in 2.6.37

\r\nDirectly following the release of 2.6.36, the first, merge window phase of the Linux kernel development cycle commences again. Usually this phase takes a full two weeks, but this time around it is likely to take only ten days. During this phase the kernel development team incorporates the many changes for the next version of the kernel into the main development branch. Numerous changes have already been prepared for this first phase of the next development cycle. Among them are some we have already mentioned, like the “VFS scalability patches”.\r\n

\r\n

Linux kernel development cycle

\r\nThanks to the open development process and a long perusal of the tea leaves, The H and the Linux Weather Forecast maintained by the Linux Foundation are already in a position to talk about some of the new features likely to be part of the next version of the kernel.

\r\nFurther improvements that may make it into 2.3.7 include numerous changes to the file system code and the block layer code. These changes allow write barriers to be handled differently internally and be used less frequently, which promises to improve performance; background information can be found in an article on LWN.net. It is also likely that the developers will introduce patches that allow users to compile a kernel which doesn’t require the Big Kernel Lock (BKL); more details are available in another article on LWN.net.\r\n\r\nAlso in preparation are extensions to the Radeon and Nouveau KMS drivers that will enable these drivers to support the KDB shell, which is only available via Intel’s KMS drivers in 2.6.36. The staging area is to include the r8712u driver for RTL8192 USB chips; the carl9170 driver is set to replace the otus driver (staging area) and the ar9170usb driver. The Linux main development branch is planned to include driver code for Apple’s Magic Trackpad. Major changes to the udlfb DisplayLink driver are also in preparation — however, this driver will remain in the staging area for the time being.\r\n\r\nThe coming days will reveal which of these changes will actually be incorporated into the main development branch by Torvalds. As usual, the Kernel Log will summarise these and other developments in the Linux kernel field – including new point releases of the stable kernel series (2.6.x.y), which should, over the next few weeks, fix the odd bug or two overlooked by hackers and testers during 2.6.36 development.\r\n

By: Thorsten Leemhuis

\r\nSource: HOpen Source

Rhythmbox – A Tool to Sync Android Smartphones Using Linux

Interest levels in synchronize music collections have notched up a bit of late with the introduction of a plethora of new Android-based super phones. That is, unless you happen to be one of those owners with a large quantity of digital music encumbered by digital rights management (DRM) also known as copy protection. For this purpose, you might want to do some research into converting said digital files into a more portable format. Meanwhile, for the rest, with media ready to load up on a new cool phone, we’ll take a look at Linux options.\r\nThe good news is that Linux has supported the multitude of “dumb” MP3 players since they first started showing up on the market. These devices simply look like an attached USB disk when you plug them in. Android phones use this approach of making their internal storage accessible to your desktop or laptop. Option two for many owners is to remove the internal micro-SD card and sync your files directly by using a SD card reader. While this isn’t a bad option, it often involves removing batteries or at least the battery cover, which is not the simplest task in some cases.\r\n\r\nBasic Ubuntu Sync\r\nUbuntu 10.4 ships with the Rhythmbox media player and totally supports disk-based synchronization. It also includes the features like media player including CD ripping, playlists, podcast downloading and support for Internet radio. Rhythmbox will play virtually any audio format as it’s based on the popular GStreamer media framework. It will even transfer music from an iPod, MTP, and USB Mass Storage music players.\r\n\r\n

Rhythmbox Visualization Image
Rhythmbox Visualization Image
\r\n\r\nRhythmbox is an integrated music management application, originally inspired by Apple’s iTunes.\r\n\r\nThe key features:\r\n
    \r\n
  • Easy to use music browser
  • \r\n

  • Searching and sorting
  • \r\n

  • Comprehensive audio format support through GStreamer
  • \r\n

  • Internet Radio support including last.fm streams
  • \r\n

  • Playlists
  • \r\n

  • Display audio visualizations
  • \r\n

  • Display album art and song lyrics downloaded from the internet
  • \r\n

  • Automatically download audio podcasts
  • \r\n

  • Browse, preview, and download albums from Magnatune and Jamendo
  • \r\n

\r\nRhythmbox is bundled with many other distributions, If it’s not installed on your box you can download from their site.\r\n\r\nCo-Contributor: Paul

Mono 2.8 is Released.

The Mono developers have released Mono 2.8, a major update to the implementation of Microsoft’s .NET technology for Linux and other platforms.Mono 2.8 Released\r\n\r\nMiguel de Icaza, project lead, said in his blog that the release “contains ten months worth of new features, stability fixes, performance work and bug fixes”. The Mono C# compiler is now a complete implementation of the C# 4.0 specification and defaults to operating as a 4.0 based platform.\r\n\r\nA new Generational GC (Garbage collector) offers better performance for applications which consume and reuse large amounts of memory; benchmarkingshows CPU use is now much more predictable. Support for LLVM has now been marked as stable with a mono-llvm command allowing server applications to run with an LLVM back end, potentially offering greater performance; JIT compilation with LLVM is described as “very slow” in the release notes and therefore only currently suits long-lived server processes.\r\n\r\nOther changes include the incorporation of a range of new frameworks; the Parallel Framework and System.XAML are new to the core of Mono, while Microsoft’s open sourced frameworks (System.Dynamic, Managed Extensibility Framework, ASP.NET MVC 2 and the OData client framework System.Data.Services.Client) are bundled with Mono. Support for OpenBSD has also been incorporated into the release.\r\n\r\nMono 2.8 is not a long term support release as the updates have “not received as much testing as they should”; Mono 3.0 will be the next long term supported release and users wanting the “absolute stability” of a thoroughly tested version are recommended to use Mono 2.6. Information on other new features and details of removed libraries are available in the release notes. Mono 2.8 is available to download for Windows, Mac OS X, openSUSE, Novell Linux Enterprise Desktop and Server, Red Hat Enterprise Linux and CentOS and other Linux systems and is licensed under a combination of open source licences.