Sunday, May 31, 2009

Add feed URL to RSS Ticker


  • RSS Ticker เป็น feed reader add-ons ตัวหนึ่ง ของเราชาว FF
  • ติดตั้ง https://addons.mozilla.org/en-US/firefox/addon/2325
  • หลังจากติดตั้งเสร็จพยายามเพิ่ม feed ทำไม่เป็นหว่า งง คลิก add และ ก็ไม่เห็นเกิดอาไรขึ้นเลยอ่ะ


เพิ่ม feed ให้ rss ticker อย่างไร

1. ดูก่อนว่าเว็บนั้นมีบริการ feed หรือไม่ โดยถ้าเว็บนั้นมีบริการจะมีเครื่องหมายนี้



2. เมื่อพบเว็บเป้าหมายที่เราจะ feed แหละ เราก็คลิกปุ่มนั้นเลย



3. จากนั้นหน้าเว็บจะเป็นประมาณนี้ ให้เราคลิก subscribe now



4. ก็จะขึ้นป๊อปอัพซึ่งจะมีข้อความ display this feed in the ticker ซึ่งมันจะเลือกไว้อยู่แล้ว ส่วนตรงช่อง create in คือ ให้เราเลือกว่าจะเก็บไว้ในส่วนใหนของ bookmark เราก็เอาอันนั้นแหละ แต่ถ้าอยากให้ feed มาแสดงเหมือนที่ bookmark toolbar ให้เราเลือกเป็น Bookmarks Toolbar แค่นั้นเอง

5. เสร็จแหละ รอแค่ให้ rss ticker feed แค่นั้นเอง หรือ ลองปิดและเปิด FF เราใหม่ หรือ จะ refresh ticker ก็ทำได้เหมือนกัน

Note
  • การติดตั้ง add-ons rss ticker ตัว ticker จะอยู่ใต้ status bar เราสามารถปรับแต่งการแสดงผลได้

Saturday, May 30, 2009

Generate_inserts.txt store procedure mssql

From: http://vyaskn.tripod.com/code/generate_inserts.txt

SET NOCOUNT ON
GO

PRINT 'Using Master database'
USE master
GO

PRINT 'Checking for the existence of this procedure'
IF (SELECT OBJECT_ID('sp_generate_inserts','P')) IS NOT NULL --means, the procedure already exists
BEGIN
PRINT 'Procedure already exists. So, dropping it'
DROP PROC sp_generate_inserts
END
GO

--Turn system object marking on
EXEC master.dbo.sp_MS_upd_sysobj_category 1
GO

CREATE PROC sp_generate_inserts
(
@table_name varchar(776), -- The table/view for which the INSERT statements will be generated using the existing data
@target_table varchar(776) = NULL, -- Use this parameter to specify a different table name into which the data will be inserted
@include_column_list bit = 1, -- Use this parameter to include/ommit column list in the generated INSERT statement
@from varchar(800) = NULL, -- Use this parameter to filter the rows based on a filter condition (using WHERE)
@include_timestamp bit = 0, -- Specify 1 for this parameter, if you want to include the TIMESTAMP/ROWVERSION column's data in the INSERT statement
@debug_mode bit = 0, -- If @debug_mode is set to 1, the SQL statements constructed by this procedure will be printed for later examination
@owner varchar(64) = NULL, -- Use this parameter if you are not the owner of the table
@ommit_images bit = 0, -- Use this parameter to generate INSERT statements by omitting the 'image' columns
@ommit_identity bit = 0, -- Use this parameter to ommit the identity columns
@top int = NULL, -- Use this parameter to generate INSERT statements only for the TOP n rows
@cols_to_include varchar(8000) = NULL, -- List of columns to be included in the INSERT statement
@cols_to_exclude varchar(8000) = NULL, -- List of columns to be excluded from the INSERT statement
@disable_constraints bit = 0, -- When 1, disables foreign key constraints and enables them after the INSERT statements
@ommit_computed_cols bit = 0 -- When 1, computed columns will not be included in the INSERT statement

)
AS
BEGIN

/***********************************************************************************************************
Procedure: sp_generate_inserts (Build 22)
(Copyright © 2002 Narayana Vyas Kondreddi. All rights reserved.)

Purpose: To generate INSERT statements from existing data.
These INSERTS can be executed to regenerate the data at some other location.
This procedure is also useful to create a database setup, where in you can
script your data along with your table definitions.

Written by: Narayana Vyas Kondreddi
http://vyaskn.tripod.com

Acknowledgements:
Divya Kalra -- For beta testing
Mark Charsley -- For reporting a problem with scripting uniqueidentifier columns with NULL values
Artur Zeygman -- For helping me simplify a bit of code for handling non-dbo owned tables
Joris Laperre -- For reporting a regression bug in handling text/ntext columns

Tested on: SQL Server 7.0 and SQL Server 2000

Date created: January 17th 2001 21:52 GMT

Date modified: May 1st 2002 19:50 GMT

Email: vyaskn@hotmail.com

NOTE: This procedure may not work with tables with too many columns.
Results can be unpredictable with huge text columns or SQL Server 2000's sql_variant data types
Whenever possible, Use @include_column_list parameter to ommit column list in the INSERT statement, for better results
IMPORTANT: This procedure is not tested with internation data (Extended characters or Unicode). If needed
you might want to convert the datatypes of character variables in this procedure to their respective unicode counterparts
like nchar and nvarchar


Example 1: To generate INSERT statements for table 'titles':

EXEC sp_generate_inserts 'titles'

Example 2: To ommit the column list in the INSERT statement: (Column list is included by default)
IMPORTANT: If you have too many columns, you are advised to ommit column list, as shown below,
to avoid erroneous results

EXEC sp_generate_inserts 'titles', @include_column_list = 0

Example 3: To generate INSERT statements for 'titlesCopy' table from 'titles' table:

EXEC sp_generate_inserts 'titles', 'titlesCopy'

Example 4: To generate INSERT statements for 'titles' table for only those titles
which contain the word 'Computer' in them:
NOTE: Do not complicate the FROM or WHERE clause here. It's assumed that you are good with T-SQL if you are using this parameter

EXEC sp_generate_inserts 'titles', @from = "from titles where title like '%Computer%'"

Example 5: To specify that you want to include TIMESTAMP column's data as well in the INSERT statement:
(By default TIMESTAMP column's data is not scripted)

EXEC sp_generate_inserts 'titles', @include_timestamp = 1

Example 6: To print the debug information:

EXEC sp_generate_inserts 'titles', @debug_mode = 1

Example 7: If you are not the owner of the table, use @owner parameter to specify the owner name
To use this option, you must have SELECT permissions on that table

EXEC sp_generate_inserts Nickstable, @owner = 'Nick'

Example 8: To generate INSERT statements for the rest of the columns excluding images
When using this otion, DO NOT set @include_column_list parameter to 0.

EXEC sp_generate_inserts imgtable, @ommit_images = 1

Example 9: To generate INSERT statements excluding (ommiting) IDENTITY columns:
(By default IDENTITY columns are included in the INSERT statement)

EXEC sp_generate_inserts mytable, @ommit_identity = 1

Example 10: To generate INSERT statements for the TOP 10 rows in the table:

EXEC sp_generate_inserts mytable, @top = 10

Example 11: To generate INSERT statements with only those columns you want:

EXEC sp_generate_inserts titles, @cols_to_include = "'title','title_id','au_id'"

Example 12: To generate INSERT statements by omitting certain columns:

EXEC sp_generate_inserts titles, @cols_to_exclude = "'title','title_id','au_id'"

Example 13: To avoid checking the foreign key constraints while loading data with INSERT statements:

EXEC sp_generate_inserts titles, @disable_constraints = 1

Example 14: To exclude computed columns from the INSERT statement:
EXEC sp_generate_inserts MyTable, @ommit_computed_cols = 1
***********************************************************************************************************/

SET NOCOUNT ON

--Making sure user only uses either @cols_to_include or @cols_to_exclude
IF ((@cols_to_include IS NOT NULL) AND (@cols_to_exclude IS NOT NULL))
BEGIN
RAISERROR('Use either @cols_to_include or @cols_to_exclude. Do not use both the parameters at once',16,1)
RETURN -1 --Failure. Reason: Both @cols_to_include and @cols_to_exclude parameters are specified
END

--Making sure the @cols_to_include and @cols_to_exclude parameters are receiving values in proper format
IF ((@cols_to_include IS NOT NULL) AND (PATINDEX('''%''',@cols_to_include) = 0))
BEGIN
RAISERROR('Invalid use of @cols_to_include property',16,1)
PRINT 'Specify column names surrounded by single quotes and separated by commas'
PRINT 'Eg: EXEC sp_generate_inserts titles, @cols_to_include = "''title_id'',''title''"'
RETURN -1 --Failure. Reason: Invalid use of @cols_to_include property
END

IF ((@cols_to_exclude IS NOT NULL) AND (PATINDEX('''%''',@cols_to_exclude) = 0))
BEGIN
RAISERROR('Invalid use of @cols_to_exclude property',16,1)
PRINT 'Specify column names surrounded by single quotes and separated by commas'
PRINT 'Eg: EXEC sp_generate_inserts titles, @cols_to_exclude = "''title_id'',''title''"'
RETURN -1 --Failure. Reason: Invalid use of @cols_to_exclude property
END


--Checking to see if the database name is specified along wih the table name
--Your database context should be local to the table for which you want to generate INSERT statements
--specifying the database name is not allowed
IF (PARSENAME(@table_name,3)) IS NOT NULL
BEGIN
RAISERROR('Do not specify the database name. Be in the required database and just specify the table name.',16,1)
RETURN -1 --Failure. Reason: Database name is specified along with the table name, which is not allowed
END

--Checking for the existence of 'user table' or 'view'
--This procedure is not written to work on system tables
--To script the data in system tables, just create a view on the system tables and script the view instead

IF @owner IS NULL
BEGIN
IF ((OBJECT_ID(@table_name,'U') IS NULL) AND (OBJECT_ID(@table_name,'V') IS NULL))
BEGIN
RAISERROR('User table or view not found.',16,1)
PRINT 'You may see this error, if you are not the owner of this table or view. In that case use @owner parameter to specify the owner name.'
PRINT 'Make sure you have SELECT permission on that table or view.'
RETURN -1 --Failure. Reason: There is no user table or view with this name
END
END
ELSE
BEGIN
IF NOT EXISTS (SELECT 1 FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = @table_name AND (TABLE_TYPE = 'BASE TABLE' OR TABLE_TYPE = 'VIEW') AND TABLE_SCHEMA = @owner)
BEGIN
RAISERROR('User table or view not found.',16,1)
PRINT 'You may see this error, if you are not the owner of this table. In that case use @owner parameter to specify the owner name.'
PRINT 'Make sure you have SELECT permission on that table or view.'
RETURN -1 --Failure. Reason: There is no user table or view with this name
END
END

--Variable declarations
DECLARE @Column_ID int,
@Column_List varchar(8000),
@Column_Name varchar(128),
@Start_Insert varchar(786),
@Data_Type varchar(128),
@Actual_Values varchar(8000), --This is the string that will be finally executed to generate INSERT statements
@IDN varchar(128) --Will contain the IDENTITY column's name in the table

--Variable Initialization
SET @IDN = ''
SET @Column_ID = 0
SET @Column_Name = ''
SET @Column_List = ''
SET @Actual_Values = ''

IF @owner IS NULL
BEGIN
SET @Start_Insert = 'INSERT INTO ' + '[' + RTRIM(COALESCE(@target_table,@table_name)) + ']'
END
ELSE
BEGIN
SET @Start_Insert = 'INSERT ' + '[' + LTRIM(RTRIM(@owner)) + '].' + '[' + RTRIM(COALESCE(@target_table,@table_name)) + ']'
END


--To get the first column's ID

SELECT @Column_ID = MIN(ORDINAL_POSITION)
FROM INFORMATION_SCHEMA.COLUMNS (NOLOCK)
WHERE TABLE_NAME = @table_name AND
(@owner IS NULL OR TABLE_SCHEMA = @owner)



--Loop through all the columns of the table, to get the column names and their data types
WHILE @Column_ID IS NOT NULL
BEGIN
SELECT @Column_Name = QUOTENAME(COLUMN_NAME),
@Data_Type = DATA_TYPE
FROM INFORMATION_SCHEMA.COLUMNS (NOLOCK)
WHERE ORDINAL_POSITION = @Column_ID AND
TABLE_NAME = @table_name AND
(@owner IS NULL OR TABLE_SCHEMA = @owner)



IF @cols_to_include IS NOT NULL --Selecting only user specified columns
BEGIN
IF CHARINDEX( '''' + SUBSTRING(@Column_Name,2,LEN(@Column_Name)-2) + '''',@cols_to_include) = 0
BEGIN
GOTO SKIP_LOOP
END
END

IF @cols_to_exclude IS NOT NULL --Selecting only user specified columns
BEGIN
IF CHARINDEX( '''' + SUBSTRING(@Column_Name,2,LEN(@Column_Name)-2) + '''',@cols_to_exclude) <> 0
BEGIN
GOTO SKIP_LOOP
END
END

--Making sure to output SET IDENTITY_INSERT ON/OFF in case the table has an IDENTITY column
IF (SELECT COLUMNPROPERTY( OBJECT_ID(QUOTENAME(COALESCE(@owner,USER_NAME())) + '.' + @table_name),SUBSTRING(@Column_Name,2,LEN(@Column_Name) - 2),'IsIdentity')) = 1
BEGIN
IF @ommit_identity = 0 --Determing whether to include or exclude the IDENTITY column
SET @IDN = @Column_Name
ELSE
GOTO SKIP_LOOP
END

--Making sure whether to output computed columns or not
IF @ommit_computed_cols = 1
BEGIN
IF (SELECT COLUMNPROPERTY( OBJECT_ID(QUOTENAME(COALESCE(@owner,USER_NAME())) + '.' + @table_name),SUBSTRING(@Column_Name,2,LEN(@Column_Name) - 2),'IsComputed')) = 1
BEGIN
GOTO SKIP_LOOP
END
END

--Tables with columns of IMAGE data type are not supported for obvious reasons
IF(@Data_Type in ('image'))
BEGIN
IF (@ommit_images = 0)
BEGIN
RAISERROR('Tables with image columns are not supported.',16,1)
PRINT 'Use @ommit_images = 1 parameter to generate INSERTs for the rest of the columns.'
PRINT 'DO NOT ommit Column List in the INSERT statements. If you ommit column list using @include_column_list=0, the generated INSERTs will fail.'
RETURN -1 --Failure. Reason: There is a column with image data type
END
ELSE
BEGIN
GOTO SKIP_LOOP
END
END

--Determining the data type of the column and depending on the data type, the VALUES part of
--the INSERT statement is generated. Care is taken to handle columns with NULL values. Also
--making sure, not to lose any data from flot, real, money, smallmomey, datetime columns
SET @Actual_Values = @Actual_Values +
CASE
WHEN @Data_Type IN ('char','varchar','nchar','nvarchar')
THEN
'COALESCE('''''''' + REPLACE(RTRIM(' + @Column_Name + '),'''''''','''''''''''')+'''''''',''NULL'')'
WHEN @Data_Type IN ('datetime','smalldatetime')
THEN
'COALESCE('''''''' + RTRIM(CONVERT(char,' + @Column_Name + ',109))+'''''''',''NULL'')'
WHEN @Data_Type IN ('uniqueidentifier')
THEN
'COALESCE('''''''' + REPLACE(CONVERT(char(255),RTRIM(' + @Column_Name + ')),'''''''','''''''''''')+'''''''',''NULL'')'
WHEN @Data_Type IN ('text','ntext')
THEN
'COALESCE('''''''' + REPLACE(CONVERT(char(8000),' + @Column_Name + '),'''''''','''''''''''')+'''''''',''NULL'')'
WHEN @Data_Type IN ('binary','varbinary')
THEN
'COALESCE(RTRIM(CONVERT(char,' + 'CONVERT(int,' + @Column_Name + '))),''NULL'')'
WHEN @Data_Type IN ('timestamp','rowversion')
THEN
CASE
WHEN @include_timestamp = 0
THEN
'''DEFAULT'''
ELSE
'COALESCE(RTRIM(CONVERT(char,' + 'CONVERT(int,' + @Column_Name + '))),''NULL'')'
END
WHEN @Data_Type IN ('float','real','money','smallmoney')
THEN
'COALESCE(LTRIM(RTRIM(' + 'CONVERT(char, ' + @Column_Name + ',2)' + ')),''NULL'')'
ELSE
'COALESCE(LTRIM(RTRIM(' + 'CONVERT(char, ' + @Column_Name + ')' + ')),''NULL'')'
END + '+' + ''',''' + ' + '

--Generating the column list for the INSERT statement
SET @Column_List = @Column_List + @Column_Name + ','

SKIP_LOOP: --The label used in GOTO

SELECT @Column_ID = MIN(ORDINAL_POSITION)
FROM INFORMATION_SCHEMA.COLUMNS (NOLOCK)
WHERE TABLE_NAME = @table_name AND
ORDINAL_POSITION > @Column_ID AND
(@owner IS NULL OR TABLE_SCHEMA = @owner)


--Loop ends here!
END

--To get rid of the extra characters that got concatenated during the last run through the loop
SET @Column_List = LEFT(@Column_List,len(@Column_List) - 1)
SET @Actual_Values = LEFT(@Actual_Values,len(@Actual_Values) - 6)

IF LTRIM(@Column_List) = ''
BEGIN
RAISERROR('No columns to select. There should at least be one column to generate the output',16,1)
RETURN -1 --Failure. Reason: Looks like all the columns are ommitted using the @cols_to_exclude parameter
END

--Forming the final string that will be executed, to output the INSERT statements
IF (@include_column_list <> 0)
BEGIN
SET @Actual_Values =
'SELECT ' +
CASE WHEN @top IS NULL OR @top < include_column_list =" 0)" actual_values =" 'SELECT" debug_mode ="1"> '')
BEGIN
PRINT 'SET IDENTITY_INSERT ' + QUOTENAME(COALESCE(@owner,USER_NAME())) + '.' + QUOTENAME(@table_name) + ' ON'
PRINT 'GO'
PRINT ''
END


IF @disable_constraints = 1 AND (OBJECT_ID(QUOTENAME(COALESCE(@owner,USER_NAME())) + '.' + @table_name, 'U') IS NOT NULL)
BEGIN
IF @owner IS NULL
BEGIN
SELECT 'ALTER TABLE ' + QUOTENAME(COALESCE(@target_table, @table_name)) + ' NOCHECK CONSTRAINT ALL' AS '--Code to disable constraints temporarily'
END
ELSE
BEGIN
SELECT 'ALTER TABLE ' + QUOTENAME(@owner) + '.' + QUOTENAME(COALESCE(@target_table, @table_name)) + ' NOCHECK CONSTRAINT ALL' AS '--Code to disable constraints temporarily'
END

PRINT 'GO'
END

PRINT ''
PRINT 'PRINT ''Inserting values into ' + '[' + RTRIM(COALESCE(@target_table,@table_name)) + ']' + ''''


--All the hard work pays off here!!! You'll get your INSERT statements, when the next line executes!
EXEC (@Actual_Values)

PRINT 'PRINT ''Done'''
PRINT ''


IF @disable_constraints = 1 AND (OBJECT_ID(QUOTENAME(COALESCE(@owner,USER_NAME())) + '.' + @table_name, 'U') IS NOT NULL)
BEGIN
IF @owner IS NULL
BEGIN
SELECT 'ALTER TABLE ' + QUOTENAME(COALESCE(@target_table, @table_name)) + ' CHECK CONSTRAINT ALL' AS '--Code to enable the previously disabled constraints'
END
ELSE
BEGIN
SELECT 'ALTER TABLE ' + QUOTENAME(@owner) + '.' + QUOTENAME(COALESCE(@target_table, @table_name)) + ' CHECK CONSTRAINT ALL' AS '--Code to enable the previously disabled constraints'
END

PRINT 'GO'
END

PRINT ''
IF (@IDN <> '')
BEGIN
PRINT 'SET IDENTITY_INSERT ' + QUOTENAME(COALESCE(@owner,USER_NAME())) + '.' + QUOTENAME(@table_name) + ' OFF'
PRINT 'GO'
END

PRINT 'SET NOCOUNT OFF'


SET NOCOUNT OFF
RETURN 0 --Success. We are done!
END

GO

PRINT 'Created the procedure'
GO


--Turn system object marking off
EXEC master.dbo.sp_MS_upd_sysobj_category 2
GO

PRINT 'Granting EXECUTE permission on sp_generate_inserts to all users'
GRANT EXEC ON sp_generate_inserts TO public

SET NOCOUNT OFF
GO

PRINT 'Done'

INSTALL.TXT Drupal

// $Id: INSTALL.txt,v 1.61.2.4 2008/07/09 19:15:59 goba Exp $

CONTENTS OF THIS FILE
---------------------

* Requirements
* Optional requirements
* Installation
* Drupal administration
* Customizing your theme(s)
* Multisite Configuration
* More Information

REQUIREMENTS
------------

Drupal requires a web server, PHP 4 (4.3.5 or greater) or PHP 5
(http://www.php.net/) and either MySQL (http://www.mysql.com/) or PostgreSQL
(http://www.postgresql.org/). The Apache web server and MySQL database are
recommended; other web server and database combinations such as IIS and
PostgreSQL have been tested to a lesser extent. When using MySQL, version 4.1.1
or greater is recommended to assure you can safely transfer the database.

For more detailed information about Drupal requirements, see "Requirements"
(http://drupal.org/requirements) in the Drupal handbook.

For detailed information on how to configure a test server environment using
a variety of operating systems and web servers, see "Local server setup"
(http://drupal.org/node/157602) in the Drupal handbook.

OPTIONAL TASKS
--------------

- To use XML-based services such as the Blogger API and RSS syndication,
you will need PHP's XML extension. This extension is enabled by default.

- To use Drupal's "Clean URLs" feature on an Apache web server, you will need
the mod_rewrite module and the ability to use local .htaccess files. For
Clean URLs support on IIS, see "Using Clean URLs with IIS"
(http://drupal.org/node/3854) in the Drupal handbook.

- Various Drupal features require that the web server process (for
example, httpd) be able to initiate outbound connections. This is usually
possible, but some hosting providers or server configurations forbid such
connections. The features that depend on this functionality include the
integrated "Update status" module (which downloads information about
available updates of Drupal core and any installed contributed modules and
themes), the ability to log in via OpenID, fetching aggregator feeds, or
other network-dependent services.


INSTALLATION
------------

1. DOWNLOAD DRUPAL AND OPTIONALLY A TRANSLATION

You can obtain the latest Drupal release from http://drupal.org/. The files
are in .tar.gz format and can be extracted using most compression tools. On a
typical Unix command line, use:

wget http://drupal.org/files/projects/drupal-x.x.tar.gz
tar -zxvf drupal-x.x.tar.gz

This will create a new directory drupal-x.x/ containing all Drupal files
and directories. Move the contents of that directory into a directory within
your web server's document root or your public HTML directory:

mv drupal-x.x/* drupal-x.x/.htaccess /var/www/html

If you would like to have the default English interface translated to a
different language, we have good news. You can install and use Drupal in
other languages from the start. Check whether a released package of the
language desired is available for this Drupal version at
http://drupal.org/project/translations and download the package. Extract
the contents to the same directory where you extracted Drupal into.

2. CREATE THE CONFIGURATION FILE AND GRANT WRITE PERMISSIONS

Drupal comes with a default.settings.php file in the sites/default
directory. The installer uses this file as a template to create your
settings file using the details you provide through the install process.
To avoid problems when upgrading, Drupal is not packaged with an actual
settings file. You must create a file named settings.php. You may do so
by making a copy of default.settings.php (or create an empty file with
this name in the same directory). For example, (from the installation
directory) make a copy of the default.settings.php file with the command:

cp sites/default/default.settings.php sites/default/settings.php

Next, give the web server write privileges to the sites/default/settings.php
file with the command (from the installation directory):

chmod o+w sites/default/settings.php

So that the files directory can be created automatically, give the web server
write privileges to the sites/default directory with the command (from the
installation directory):

chmod o+w sites/default

3. CREATE THE DRUPAL DATABASE

Drupal requires access to a database in order to be installed. Your database
user will need sufficient privileges to run Drupal. Additional information
about privileges, and instructions to create a database using the command
line are available in INSTALL.mysql.txt (for MySQL) or INSTALL.pgsql.txt
(for PostgreSQL).

To create a database using PHPMyAdmin or a web-based control panel consult
the documentation or ask your webhost service provider.

Take note of the username, password, database name and hostname as you
create the database. You will enter these items in the install script.

4. RUN THE INSTALL SCRIPT

To run the install script point your browser to the base URL of your website
(e.g., http://www.example.com).

You will be guided through several screens to set up the database,
create tables, add the first user account and provide basic web
site settings.

The install script will attempt to create a files storage directory
in the default location at sites/default/files (the location of the
files directory may be changed after Drupal is installed). In some
cases, you may need to create the directory and modify its permissions
manually. Use the following commands (from the installation directory)
to create the files directory and grant the web server write privileges to it:

mkdir sites/default/files
chmod o+w sites/default/files

The install script will attempt to write-protect the settings.php file and
the sites/default directory after saving your configuration. However, you
may need to manually write-protect them using the commands (from the
installation directory):

chmod a-w sites/default/settings.php
chmod a-w sites/default

If you make manual changes to the file later, be sure to protect it again
after making your modifications. Failure to remove write permissions to that
file is a security risk. Although the default location for the settings.php
file is at sites/default/settings.php, it may be in another location
if you use the multi-site setup, as explained below.

5. CONFIGURE DRUPAL

When the install script succeeds, you will be directed to the "Welcome"
page, and you will be logged in as the administrator already. Proceed with
the initial configuration steps suggested on the "Welcome" page.

If the default Drupal theme is not displaying properly and links on the page
result in "Page Not Found" errors, try manually setting the $base_url variable
in the settings.php file if not already set. It's currently known that servers
running FastCGI can run into problems if the $base_url variable is left
commented out (see http://bugs.php.net/bug.php?id=19656).

6. REVIEW FILE SYSTEM STORAGE SETTINGS AND FILE PERMISSIONS

The files directory created in step 4 is the default file system path used
to store all uploaded files, as well as some temporary files created by Drupal.
After installation, the settings for the file system path may be modified
to store uploaded files in a different location.

It is not necessary to modify this path, but you may wish to change it if:

* your site runs multiple Drupal installations from a single codebase
(modify the file system path of each installation to a different
directory so that uploads do not overlap between installations); or,

* your site runs a number of web server front-ends behind a load
balancer or reverse proxy (modify the file system path on each
server to point to a shared file repository).

To modify the file system path:

* Ensure that the new location for the path exists or create it if
necessary. To create a new directory named uploads, for example,
use the following command from a shell or system prompt (while in
the installation directory):

mkdir uploads

* Ensure that the new location for the path is writable by the web
server process. To grant write permissions for a directory named
uploads, you may need to use the following command from a shell
or system prompt (while in the installation directory):

chmod o+w uploads

* Access the file system path settings in Drupal by selecting these
menu items from the Navigation menu:

Administer > Site configuration > File system

Enter the path to the new location (e.g.: uploads) at the File
System Path prompt.

Changing the file system path after files have been uploaded may cause
unexpected problems on an existing site. If you modify the file system path
on an existing site, remember to copy all files from the original location
to the new location.

Some administrators suggest making the documentation files, especially
CHANGELOG.txt, non-readable so that the exact version of Drupal you are
running is slightly more difficult to determine. If you wish to implement
this optional security measure, use the following command from a shell or
system prompt (while in the installation directory):

chmod a-r CHANGELOG.txt

Note that the example only affects CHANGELOG.txt. To completely hide
all documentation files from public view, repeat this command for each of
the Drupal documentation files in the installation directory, substituting the
name of each file for CHANGELOG.txt in the example.

For more information on setting file permissions, see "Modifying Linux, Unix,
and Mac file permissions" (http://drupal.org/node/202483) or "Modifying
Windows file permissions" (http://drupal.org/node/202491) in the online
handbook.

7. CRON MAINTENANCE TASKS

Many Drupal modules have periodic tasks that must be triggered by a cron
maintenance task, including search module (to build and update the index
used for keyword searching), aggregator module (to retrieve feeds from other
sites), ping module (to notify other sites about new or updated content), and
system module (to perform routine maintenance and pruning on system tables).
To activate these tasks, call the cron page by visiting
http://www.example.com/cron.php, which, in turn, executes tasks on behalf
of installed modules.

Most systems support the crontab utility for scheduling tasks like this. The
following example crontab line will activate the cron tasks automatically on
the hour:

0 * * * * wget -O - -q -t 1 http://www.example.com/cron.php

More information about cron maintenance tasks are available in the help pages
and in Drupal's online handbook at http://drupal.org/cron. Example scripts can
be found in the scripts/ directory.

DRUPAL ADMINISTRATION
---------------------

A new installation of Drupal defaults to a very basic configuration with only a
few active modules and minimal user access rights.

Use your administration panel to enable and configure services. For example:

General Settings Administer > Site configuration > Site information
Enable Modules Administer > Site building > Modules
Configure Themes Administer > Site building > Themes
Set User Permissions Administer > User management > Permissions

For more information on configuration options, read the instructions which
accompany the different configuration settings and consult the various help
pages available in the administration panel.

Community-contributed modules and themes are available at http://drupal.org/.

CUSTOMIZING YOUR THEME(S)
-------------------------

Now that your installation is running, you will want to customize the look of
your site. Several sample themes are included and more can be downloaded from
drupal.org.

Simple customization of your theme can be done using only CSS. Further changes
require understanding the phptemplate engine that is part of Drupal. See
http://drupal.org/handbook/customization to find out more.

MULTISITE CONFIGURATION
-----------------------

A single Drupal installation can host several Drupal-powered sites, each with
its own individual configuration.

Additional site configurations are created in subdirectories within the 'sites'
directory. Each subdirectory must have a 'settings.php' file which specifies the
configuration settings. The easiest way to create additional sites is to copy
the 'default' directory and modify the 'settings.php' file as appropriate. The
new directory name is constructed from the site's URL. The configuration for
www.example.com could be in 'sites/example.com/settings.php' (note that 'www.'
should be omitted if users can access your site at http://example.com/).

Sites do not have to have a different domain. You can also use subdomains and
subdirectories for Drupal sites. For example, example.com, sub.example.com,
and sub.example.com/site3 can all be defined as independent Drupal sites. The
setup for a configuration such as this would look like the following:

sites/default/settings.php
sites/example.com/settings.php
sites/sub.example.com/settings.php
sites/sub.example.com.site3/settings.php

When searching for a site configuration (for example www.sub.example.com/site3),
Drupal will search for configuration files in the following order, using the
first configuration it finds:

sites/www.sub.example.com.site3/settings.php
sites/sub.example.com.site3/settings.php
sites/example.com.site3/settings.php
sites/www.sub.example.com/settings.php
sites/sub.example.com/settings.php
sites/example.com/settings.php
sites/default/settings.php

If you are installing on a non-standard port, the port number is treated as the
deepest subdomain. For example: http://www.example.com:8080/ could be loaded
from sites/8080.www.example.com/. The port number will be removed according to
the pattern above if no port-specific configuration is found, just like a real
subdomain.

Each site configuration can have its own site-specific modules and themes in
addition to those installed in the standard 'modules' and 'themes' directories.
To use site-specific modules or themes, simply create a 'modules' or 'themes'
directory within the site configuration directory. For example, if
sub.example.com has a custom theme and a custom module that should not be
accessible to other sites, the setup would look like this:

sites/sub.example.com/:
settings.php
themes/custom_theme
modules/custom_module

NOTE: for more information about multiple virtual hosts or the configuration
settings, consult the Drupal handbook at drupal.org.

For more information on configuring Drupal's file system path in a multi-site
configuration, see step 6 above.

MORE INFORMATION
----------------

- For additional documentation, see the online Drupal handbook at
http://drupal.org/handbook.

- For a list of security announcements, see the "Security announcements" page
at http://drupal.org/security (available as an RSS feed). This page also
describes how to subscribe to these announcements via e-mail.

- For information about the Drupal security process, or to find out how to report
a potential security issue to the Drupal security team, see the "Security team"
page at http://drupal.org/security-team.

- For information about the wide range of available support options, see the
"Support" page at http://drupal.org/support.

Note
  • ปัญหาหนึ่งไม่รู้คนอื่นเป็นปะนะ คือ พอถึงตอนกรอก host database user password กรอกเสร็จกด enter แล้วไม่ไปต่อ กลับ refresh มาหน้าเดิมให้กรอก username password database name ใหม่ซะงั้น
  • คือ ตอนแรกเค้าบอกให้สร้างไฟล์ settings.php จาก default-settings.php ซึ่งอยู่ใน .\sites\default หลังจากเราสร้างไฟล์ setting.php เสร็จแหละระบบติดตั้ง ถึงจะให้เรากรอก dbname user pass กรอกเป็น 10 รอบก็ยังไม่ผ่าน ขึ้นมาให้กรอกใหม่ตลอดเลย ทั้งที่ database สร้างไว้เรียบร้อย user และ pass ก็ใช้ root นะ
  • พอลองแก้ที่ Setting.php โดยเปลี่ยนค่า dbname , username , password 3 ตัวนี้เองแบบ manual แล้วบันทึก ลองกรอกข้อมูลติดตั้งอีกครั้งที่นี้ ติดตั้งผ่านแหละ โอเคเลย
  • สรุปว่า น่าจะมีปัญหาเรื่องการเขียนไฟล์ หรือ ป่าวไม่แน่ใจ ของผู้ใช้ iusr นะ ของ vista อ่ะ คิดว่าถ้าเราตั้ง permission ให้ site drupal ใหม่เพิ่มสิทธิ์การเขียนไฟล์ settings.php ให้ iusr ก็น่าจะผ่านเหมือนกัน

New installation: ".htaccess: order not allowed here" error log

From: http://drupal.org/node/82051

I am trying to install Drupal 4.7.3 following the instructions at http://drupal.org/INSTALL.txt

I've 'tar'red the files and changed $db_url in settings.php. I've created the files directory and chmod 777'd it. When I load the drupal directory in the browser I get:

Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.

Please contact the server administrator, X and inform them of the time the error occurred, and anything you might have done that may have caused the error.

More information about this error may be available in the server error log.

Apache/1.3.34 Server at www.X.co.uk Port 80

I don't own the server but can access the error log:

[Sat Sep 2 14:46:28 2006] [alert] [client x.x.x.x] /home/X/public_html/drupal/.htaccess: order not allowed here

The relevant (I think) part of httpd.conf says:


AllowOverride FileInfo AuthConfig Limit
Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec

Order allow,deny
Allow from all


Order deny,allow
Deny from all

I can make .htaccess files work fine on the server. Might it be relevant that php safe mode is on (I am the 'owner' of all the files)?

I seem to have fallen at the first hurdle! Please help...

  • เป็นปัญหาเกี่ยวกับไฟล์ .htaccess
  • ทดสอบลบไฟล์นี้ออกก็ติดตั้งได้แหละ แต่คงไม่ใช่วิธีแก้ปัญหาที่ถูกต้องอ่ะนะ
  • /var/log/apache2/error.log

SQL Server 2005 Backup a Remote Database

From: http://techblog.ranjanbanerji.com/post/2008/09/15/SQL-Server-2005-Backing-Up-a-Remote-Database.aspx

So you have a remote SQL Server 2005 database running on a different network than your client machine and you want a backup copy of that database. Most common scenario, the database is on your web hosting server. Somehow I never thought this would be a big issue. I am so used to just using the SQL Management Studio, right clicking on a database, selecting Tasks, and then backup.

But when you backup SQL Server, it is to a local drive or a mapped network drive that the server itself has access to. Implying that if you are accessing SQL Server on a server on another network on a machine that you do not have access to, you cannot backup SQL Server to your drive. So how do you get a backup copy?

I found it quite frustrating that I can connect to the database using SQL Management Studio, run queries, make changes etc, but I cannot get a copy of the database to my machine. Under Tasks there is an option to Copy Database but I just could not get that to work. I kept getting a security Exception. One day I will have to look into why. Until then lets proceed to the so called right way to do it.

Remember DTS from all prior versions of SQL Server? We it kind of vanished with SQL Server 2005. Not really, it has a new name, SSIS and is installed when you install Integration Services. Once installed you will see "SQL Server Business Intelligence Development Studio" on your Start Menu under SQL Server 2005. Click on it and Visual Studio will launch. At first I thought this has got to be a mistake. But no, I was at the right spot. I created a new Integrated Services Project and under that project by right clicking on solution explorer I selected the import export wizard.

Now the familiar DTS Wizard pops up and you can do what you were used to doing in all prior versions of SQL Server 2005. Connect to the remote database and get all your data to a local database. Why couldn't this be a single link on Management Studio as a simple Copy Database? Because that would make it logical and simple.

By the way, my data transfer failed several times before succeeding, so be patient. :-)

Edit gdm theme by yourself

ในที่นี้หมายถึงแก้แค่ background อ่ะนะ

1. ดาวน์โหลด gdm theme ได้จาก http://www.gnome-look.org
2. สมมุติว่าโหลดไฟล์ a.tar.gz มาแหละ ให้เราแตกไฟล์ไว้ที่ในก็ได้
3. เราจะได้ directory ซึ่งข้างในจะมีไฟล์ที่เราต้องการแก้ไขคือ background.png และ screenshot.png

- background เราหาภาพมาทับได้เลยแต่ต้องตั้งชื่อไฟล์ใหม่เป็น background.png


- screenshot เป็นภาพที่จะแสดงที่ manager gdm ของเครื่องเรา
- ซึ่งเมื่อเราทำการเปลี่ยนภาพ background แล้วเราจะเปลี่ยน screenshot ด้วยหรือไม่ก็ได้
- ถ้าเราจะเปลี่ยนภาพ screeenshot เราจะจับภาพหน้า logon ได้ไงหว่า
- การเปลี่ยนชื่อที่แสดงผลที่ manager gdm เราสามารถแก้ได้ที่ไฟล์ GdmGreeterTheme.desktop


4. หลังจากเปลี่ยนภาพ background และ screenshot แหละให้เรานำ directory นั้นไปวางที่พาธนี้ /usr/share/gdm/themes ผลลัพธ์ก็จะประมาณนี้ /usr/share/gdm/themes/a

จับภาพหน้า Logon

จะว่ายากก็ยาก ถ้าใช้ตัวช่วยผิด
จะว่าง่ายก็ง่ายถ้าใช้ตัวช่วยถูก
ไปดูวิธีการกันครับ



เขาจับหน้าจอ login กันได้อย่างไร ?

1. ติดตั้ง package ที่จำเป็นก่อนนิดนึงครับ
$ sudo apt-get install xnest

2. เปิด terminal แล้วใช้คำสั่งนี่ครับ
$ gdmthemetester xdmcp <ชื่อธีมหรือแหล่งเก็บธีม>

เช่น
$ gdmthemetester xdmcp Human (ใช้ได้เฉพาะธีมที่อยู่ใน /usr/share/gdm/themes/ เท่านั้น)
ซึ่งมันจะมีค่าเหมือน $ gdmthemetester xdmcp /usr/share/gdm/themes/Human ครับ

และถ้าเราโหลดธีมมาจากที่อื่น เช่น gnome-look.org เราก็สามารถ แตกไฟล์บีบอัดออกมา แล้ว สั่งด้วยคำสั่ง
$ gdmthemetester xdmcp <ที่อยู่ของไฟล์ที่โหลดมา>
เช่น
$ gdmthemetester xdmcp /home/code/Desktop/FreeSansGrrl/

ถึงจุดนี้แล้วลองทำดูก่อนครับ ง่ายๆ ไม่ยากครับ

ต่อไปก็คือขนาดความกว้างxยาวของหน้าจอlogin
เราสามารถกำหนดขนาดโดยใช้คำสั่ง
$ export XNESTSIZE=ตัวเลขความกว้างxตัวเลขความสูง
เช่น
$ export XNESTSIZE=1024x768
$ export XNESTSIZE=800x600

ตัวอย่างครับ



$ export XNESTSIZE=1024x768
$ gdmthemetester xdmcp Human
ปล. ขนาดจอจริงๆผม 1280x800 ครับ


$ export XNESTSIZE=640x480
$ gdmthemetester xdmcp /usr/share/gdm/themes/Human


Reference

Errors when setup phpmotion on ubuntu 9.04

Enviroment: Ubuntu 9.04 under user dir

Error 1:
same this post

Warning: dl() [function.dl]: Dynamically loaded extensions aren't enabled in /home/skatsorg/public_html/classes/config.php on line 2
PHP script /home/skatsorg/public_html/classes/config.php is protected by phpSHIELD and requires the phpSHIELD loader phpshield.5.2.lin. The phpSHIELD loader has not been installed, or is not installed correctly. Please visit the phpSHIELD php encoder site to download required loader.

Solved 1: this server has the dl function disabled in the php.ini file.

phpmotion requires these PHP settings
safe_mode = off
Thread saftery = disabled
enable_dl = On

Error 2: same this post

Warning: dl() [function.dl]: Temporary module name should contain only filename in /home2/hengoutc/public_html/tv/classes/config.php on line 2
PHP script /home2/hengoutc/public_html/tv/classes/config.php is protected by phpSHIELD and requires the phpSHIELD loader phpshield.5.2.lin. The phpSHIELD loader has not been installed, or is not installed correctly. Please visit the phpSHIELD php encoder site to download required loader.

Solved 2: install-phpshield-loaders

How to Install phpSHIELD Loaders

Apr 13th 2009 by shawn
15 Comments respond | trackback

It seems one of the biggest problems people have with installing PHPmotion on their web server is the phpSHIELD requirement. The PHPmotion forum gets so many posts on the subject in fact, that they opened a special phpSHIELD board just to accommodate all of the questions.

The vast majority of problems IMO is that people don’t understand how to install the PHP Shield loaders properly. Either they can’t find the documentation on the phpSHIELD website, they don’t understand the documentation (which isn’t very beginner friendly), or they believe that they have to install the full version of phpSHIELD which costs $75. However this just isn’t true. The fact is…the phpSHIELD loaders are free, and all you need to install (as far as phpSHIELD goes), in order to run PHPmotion or any other script that utilizes phpSHIELD.

This tutorial will give you step by step instructions on how to install phpSHIELD loaders on a Linux server. Please be sure to read all of the requirements before beginning tutorial.

Installation drupal on ubuntu 9.04

From: http://drupal.org/node/439204

In the last year the Drupal package was not in Debian/Ubuntu, now it is back. So after a fresh install of Jaunty, just type:

sudo apt-get install drupal6

and then you have to restart the webserver:

sudo /etc/init.d/apache2 restart

And you will see the Drupal install pages here:

http://localhost/drupal6/install.php

in the present drupal6 package of Ubuntu 9.04 Jaunty (https://launchpad.net/ubuntu/+source/drupal6/6.10-1), the clean URL feature does not work out of the box. With this two small corrections it can be enabled.

Enable the mod_rewrite module, and restart Apache:

a2enmod rewrite
/etc/init.d/apache2 restart

Set the correct base URL in .htaccess

sed -i 's/# RewriteBase \/drupal/ RewriteBase \/drupal6/' /etc/drupal/6/htaccess

Configuration File (php.ini) Path /etc/php5/apache2
Loaded Configuration File /etc/php5/apache2/php.ini
Scan this dir for additional .ini files /etc/php5/apache2/conf.d

Enable userdir and public_html ubuntu 9.04

ง่ายๆ เลยแค่ step แรก enable mod , step ต่อมา restart apache2 แค่นี้เอง

To enable userdir module in apache2
Code:
sudo a2enmod userdir
It's installed by default apache2 packages in feisty.
No need for manual editing. Conf files can be found from /etc/apache2/mods-available and enabled configurations from /etc/apache2/mods-enabled

Use a2enmod to enable, a2dismod to disable modules.

Note
  • 9.04 ไม่ต้องทำอาไรมาก เหมือน 8.10 แค่เรา sudo a2enmod userdir และ restart apache2 ก็ใช้ได้แหละ
  • ตอนแรกนึกว่าต้องไปแก้ คอนฟิก นะ แต่พอ enable mod user ลอง restart ก็ใช้ public_html ได้เลยสงสัยเค้าแก้คอนฟิกไว้พร้อมแล้วมั่ง เราไม่ต้องทำไรมาก
Related

ที่มา: http://ubuntuforums.org/showthread.php?t=421531

Friday, May 29, 2009

Get free domain name CO.CC

สมัครและใช้งาน free domain name co.cc

1. เข้าไปที่ http://co.cc ซึ่งเป็นผู้ให้บริการจด domain name และ มีบริการฟรีด้วย

2. กรอกชื่อ domain name ที่เราต้องการ จากนั้นคลิก check availability



- ถ้า domain นั้นมีคนลงทะเบียนไว้แล้วจะขึ้นงี้


- หรือ domain name นั้นใช้ ฟรีไม่ได้ก็จะขึ้นประมาณบอกว่าต้องจ่ายเท่าใหร่ด้วย


- แต่ถ้ากรอกชือและตรวจสอบแล้วขึ้นงี้เราจะสามารถใช้งาน domain name นี้ได้ฟรี 1 ปีอ่ะ


3. หลักจากที่เลือก domain name ฟรีได้แหละ คลิก Continue to registration

4.จากนั้นเราต้องทำการสร้าง account ซะก่อน เพื่อใช้จัดการ domain name ฟรี ของเราไงโดยคลิกที่ Create an account now






5. จากนั้นกรอกข้อมูลต่างๆ ตรงใหนที่มีเครื่องหมายถูกคือต้องกรอกข้อมูล หลังจากกรอกครบแหละ เลื่อน บาร์ ลงไปด้านล่างสุด เพื่อทำการ I accept the terms of service ติ๊กถูกซะ และ คลิกที่ Create an account now



6. ถ้าไม่มีปัญหาอาไรก็จะขึ้นประมาณนีคือ จะมีคำว่า success อ่ะนะ และ เค้าก็เตือนบอกเราว่าให้ setup domain name นี้ภายใน 48 ชั่วโมงไม่งั้นเค้าจะยกเลิก domain name อันนี้ สงสัยเค้าจะป้องการการจอง domain name free มั้ง แล้วก็คลิกที่ Setup

7. จากนั้นที่ Manage domain คลิก setup อีกรอบ (.co.cc)



8. เราจะเห็น Expires on ว่า domain name นี้ใช้ได้ถึงวันที่เท่าใหร่ และมีรูปแบบการตั้งค่า 3 แบบ



แบบแรก คือ เราไปเช่าโฮสคนอื่นเค้า หรือ อาจจะเป็นโฮสเราที่เป็น dns server ก็ได้ การกรอกก็ประมาณ
สมมุติว่า เราไปเช่าโฮสที่ www.host.com dns เค้าก็จะประมาณนี้

Name server 1: ns1.host.com
Name server 2: ns2.host.com

- หรือ ตอนเราลงทะเบียนเช่าโฮส น่าจะมีข้อมูลที่เข้าจะส่งกลับมาเมล์ที่เราใช้ลงทะเบียน อยู่แล้วซึ่งน่าจะมีรายละเอียดเกี่ยวกับเรื่อง dns อยู่ ก็กรอกตามนั้น



แบบสอง คือ สมมุติเรามี server หรือ pc ที่ใช้ ไอพีจริงอยู่แล้ว และ เราสร้าง web site บน iis ไว้แล้ว
สมมุติเราสร้าง domain name free เราชื่อ www.abc.co.cc และ web site บน server ไอพี 1.1.1.1 ชื่อ www.abc.co.cc ซึ่งชื่อเว็บไซต์ที่ทำการสร้างจะต้องตั้งให้เป็นชื่อเดียวกันกับ ชื่อ domain name ฟรีที่เราทำการลงทะเบียนไว้นั่นเอง

Host: ไม่ต้องกรอกอาไรเพราะ จะขึ้นเองนะ หรือ กรอก แค่ www (www.abc.co.ccหรือ abc.co.cc)
TTL: เลือก 1 D นั่นแหละไม่ต้องเปลี่ยนหรอก
Type : A
Value: 1.1.1.1 (ไอพี่ server เราไง)



แบบสาม คือ redirect ไปเลยไม่ต้องตั้งอาไรมากมาย

Redirect URL: ให้เรากรอก url ที่ต้องการให้ redirect ไปไง
Page Title: กรอกชื่อที่จะขึ้นบน title bar
Frame: เลือกว่าจะซ่อนหรือไม่ซ่อน address bar จริง



9. จากนั้นคลิก setup รอผลการเปลี่ยนค่า อาจจะนานไม่นาน หรือ บางทีอาจจะนานประมาณ 48 ชั่วโมงเลยทีเดียว



Mapping with co.cc
AdSense for co.cc
Co.cc for Blogger
Co.cc for Window Live
Co.cc for Google Apps


Note

Related

Reference


More

Create web site to server 2003

This summary is not available. Please click here to view the post.

If we fail, How should we do ?

Encouragement video.

"If i fail, I try again, and again, and again... get up."




"We've choices Bitter or Better."



"He've never met a Bitter person who was Thankful."

"We choose better."

Nick Vujicic

http://lifewithoutlimbs.org/

Topic: FAQ -- Ubuntu

ที่มา: http://forum.ubuntuclub.com/forum/topic,9154.0.html#post_spec

คำถามเกี่ยวกับ Ubuntu

Ubuntu คืออะไร? (#post_whatisubuntu | TOC)
Ubuntu เป็นชุดแจกจ่ายลินุกซ์ (Linux Distribution) ซึ่งใช้งานได้ฟรีๆ โดยฟรีในความหมายนี้ มีสองประการ
1. ใช้ฟรี (Free Beer) คือสามารถใช้งานได้ โดยไม่เสียค่าใช้จ่ายใดๆ
2. เสรีภาพ (Freedom) คือมีอิสระในการใช้งาน สามารถใช้งาน แก้ไข ดัดแปลง แต่งเติม แจกจ่าย คัดลอกได้ตามต้องการ
โดย ใน Ubuntu นี้เองจะประกอบด้วยซอฟต์แวร์ Open Source คุณภาพดีหลายๆ ตัว (ยกเว้นบางตัว อาจไม่ใช่ Open Source เช่น driver อุปกรณ์ต่างๆ ที่จำเป็นต้องใช้ให้ระบบทำงานได้เต็มประสิทธิภาพ โดย Ubuntu เองจะไม่แถมพวกนี้ลงในแผ่นติดตั้งให้มาก จะต้องติดตั้งภายหลังผ่านอินเทอร์เน็ต)

Ubuntu นี้พัฒนาโดยชุมชน โดยมีบริษัท Canonical ให้การสนับสนุน ดังนั้นคุณๆ เองก็สามารถมีส่วนร่วมในการพัฒนา Ubuntu ได้เช่นเดียวกัน

Ubuntu มีการออกรุ่นใหม่ทุกๆ 6 เดือน โดยในแต่ละรุ่นจะมีการสนับสนุน(มีอัพเดตต่างๆ ให้ และสามารถติดตั้งโปรแกรมจากคลังแพคเกจ) ยาว 18 เดือน และรุ่นที่ต่อท้ายด้วย LTS (ปัจจุบันนี้คือ 6.06 และ 8.04) จะมีการสนับสนุนนานเป็นพิเศษถึง 3 ปีบนเดสก์ท็อป และ 5 ปีบนเซิร์ฟเวอร์ และสามารถอัพเกรดระหว่างรุ่นต่างๆ ได้ (แต่อาจไม่ค่อยดีในบางรุ่น ควรจะติดตั้งใหม่)

ข้อดีอย่างหนึ่ง ในการใช้ Ubuntu คือซอฟต์แวร์ของ Ubuntu รุ่นล่าสุดนั้นจะสดใหม่อยู่เสมอ ทำให้เราทราบถึงการพัฒนาการของลินุกซ์ได้ แต่ขณะเดียวกันระบบก็ยังมีเสถียรภาพ
Ubuntu มีโปรแกรมอะไรบ้าง (#post_apps | TOC)
Ubuntu มีโปรแกรมมากมายหลายพันโปรแกรม (ขณะที่เขียนนี้เครื่องผมมีแพคเกจที่สามารถเลือกติดตั้งได้ทั้งหมด 26,635 แพคเกจ โดยแพคเกจหนึ่ง ไม่ใช่หนึ่งโปรแกรม แต่จะเป็นส่วนหนึ่งซึ่งสามารถติดตั้งได้ ดังนั้นเราอาจติดตั้งเฉพาะบางส่วนของโปรแกรมเพื่อให้ขนาดเล็กลงได้ และแพคเกจบางตัวจะเป็น library คล้ายๆ กับ dll โดยมีการแยกแพคเกจไว้ เพื่อให้หลายๆ โปรแกรมใช้รวมกัน ไม่ต้องไปติดตั้งแยกกันให้เปลืองเนื้อที่อีก) โดยทั้งหมดนี้อาจนับเป็นพื้นที่เก็บไฟล์แพคเกจ(ที่ยังไม่ได้ติดตั้ง) และข้อมูลต่างๆ เกือบ 25GB

โปรแกรมพื้นฐานที่ให้มากับ Ubuntu ก็เช่น
OpenOffice.orgโปรแกรมสำนักงาน
The GIMPโปรแกรมแต่งภาพ
Dictionaryพจนานุกรม(ต้องใช้อินเทอร์เน็ต)
Geditโปรแกรมแก้ไขข้อความ
XSaneสแกนภาพ
F-spot,eogดูภาพ(คล้ายๆโปรแกรม ACDsee)
EkigaVOIP
Evolutionเช็คอีเมล์
Firefoxเล่นอินเทอร์เน็ต
Pidginแชต IRC,ICQ,Yahoo Messenger, Jabber, M$N, ฯลฯ
Totemดูหนังฟังเพลง
Rhythmboxจัดการเพลง
Sound Recorderอัดเสียง
Braseoเขียนข้อมูลลงแผ่นซีดี/ดีวีดี
CompizDesktop Effect
Nautilusจัดการไฟล์และโฟล์เดอร์, เขียนซีดีข้อมูล, อัปโหลดไฟล์(ftp,ssh,smb), แชร์ข้อมูล, ฯลฯ

ช่วย Ubuntu ได้อย่างไร (#post_participate | TOC)
เนื่องจาก Ubuntu พัฒนามาโดยผู้คนรอบโลก จึงต้องมีทักษะในการใช้ภาษาอังกฤษเล็กน้อย(พอให้ตีความเข้าใจได้) สำหรับข้อมูลเพิ่มเติม ดู http://www.ubuntu.com/community/participate

ดาวน์โหลดที่ไหน? (#post_download | TOC)
สามารถดาวน์โหลดที่ http://www.ubuntu.com/getubuntu ได้เลย หรือขอแผ่นฟรี (ไม่แนะนำ เพราะช้า และเปลืองทรัพยากรทาง Canonical ที่จะไว้พัฒนา Ubuntu) โดยมีรุ่น 32bit และ 64bit ในรุ่น 64 bit โปรแกรมบางตัวที่ไม่ใช่ Open Source อาจจะไม่มีให้ (เช่นแต่ก่อนจะไม่มีแฟลช) แต่สามารถมองเห็นแรมเต็ม 4GB(รู้สึกว่าจะได้ถึง 128GB) ส่วน 32bit รองรับไม่ครบ 4GB (ยกเว้นรุ่นเซิร์ฟเวอร์ รองรับถึง 64GB)
นอกจากนี้ยังมี Ubuntu ดัดแปลงสำหรับคนไทย ที่ทางสมาชิกคลับจัดทำไว้สองท่าน ได้แก่รุ่น PE และ PB โดยสามารถอ่านรายละเอียดได้ที่ clubdistro.com (ในสองรุ่นนี้จะมีการติดตั้งโปรแกรมพร้อมใช้งาน และโปรแกรมหลายๆ ตัวที่ Ubuntu ไม่สามารถใส่มาให้ได้ เพราะอาจมีลิขสิทธิ์ในบางประเทศ แต่ทั้งสองรุ่นนี้มีให้ จึงแนะนำให้มือใหม่ใช้

มี 64 bit ไหม (#post_64 | TOC)
มีครับ อ่านหัวข้อ ดาวน์โหลดที่ไหน ข้างบนได้ อย่างไรก็ตามสำหรับคนที่ใช้เครื่อง 64bit ก็สามารถใช้ Ubuntu รุ่น 32 bit ได้เช่นกัน

แมค? (#post_mac | TOC)
มี ครับ ทั้ง Intel Mac และ PowerPC Mac (รุ่นเก่า; ตอนนี้ ubuntu ไม่สนับสนุน PowerPC เต็มรูปแบบเหมือนในรุ่นก่อนๆ แล้วนะครับ) อ่านเพิ่มเติมที่ How to install Ubuntu on an Intel iMac (Intel Mac) และ https://wiki.ubuntu.com/PowerPCFAQ (PowerPC Mac)

ติดตั้งบน Floppy disk ได้หรือไม่ (#post_floppy | TOC)
ไม่ได้ครับ เพราะเป็นข้อจำกัดของลินุกซ์ที่มีขนาดใหญ่เกินกว่าแผ่น แต่สามารถใช้โปรแกรมเช่น unetbootin สำหรับผู้ใช้ Windows และ Linux หรือ Live USB Creator (จะมีให้ใช้ในแผ่นติดตั้ง โดยบูทจากแผ่นนั้น แล้วจะเป็น Ubuntu ที่พร้อมใช้งานจากบนแผ่นโดยไม่ต้องติดตั้ง จากนั้นให้ใช้โปรแกรมนี้แล้วปิดเครื่อง เครื่องนั้นๆ จะอยู่ในสภาพเดิมไม่มีการเปลี่ยนแปลง) ในการติดตั้งลง usb flash drives แล้วนำไปใช้

Ubuntu ต้องการ spec เครื่องแค่ไหน (#post_spec | TOC)
ความต้องการพื้นฐานของระบบในการติดตั้งและใช้งาน Ubuntu
  • CPU: ระดับ Pentium 400Mhz เป็นต้นไป (แนะนำ 1Ghz อัพ)
  • Ram: ตั้งแต่ 256Mb ขึ้นไป
  • Haddisk: เนื้อที่ในการติดตั้ง ประมาณ 3GB (แนะนำ 15GB อัพ)

กรณีที่มีแรมต่ำกว่า 256Mb หรือเครื่องเก่า ขอแนะนำ Ubuntu เวอร์ชั่นอื่น เช่น
  • Xubuntu: ต้องการแรมประมาณ 192-256Mb
  • CrunchBang Linux: ต้องการแรมประมาณ 128-256Mb

จะศึกษา Ubuntu ที่ไหน (#post_learn | TOC)
ใน ไทยตอนนี้มีหนังสือภาษาไทยเกี่ยวกับ Ubuntu สองเล่มครับ (ของทางคลับ โดยคุณศิระ นกยูงทอง(gumara) และของ TechXcite) นอกจากนี้คุณศิระยังเขียนหนังสือ Ubuntu ไว้อีกเล่มซึ่งแจกฟรีครับ (แต่เนื่องจากนานแล้วข้อมูลบางส่วนอาจจะเป็นข้อมูลเก่าๆครับ) และที่สำคัญคือสุดคือค้นหาจาก Google ครับ (แนะนำว่าควรจะมีพื้นฐานภาษาอังกฤษด้วยครับ)

###################################################

คำถามเกี่ยวกับการใช้งานเบื้องต้น

ติดตั้ง softwares ได้จากไหน (#post_install | TOC)
สำหรับผู้เริ่มใช้งานใหม่ สามารถติดตั้ง softwares เพิ่มเติมได้อย่างง่ายได้ใน 2 ช่องทาง โดยสามารถเลือกวิธีใดวิธีหนึ่งก็ได้
1.ติดตั้งได้จาก Application>Add/Remove Softwares และ
2.System>Administration>Synaptic Package Manager

จะหาโปรแกรมที่ใช้แทน Windows ได้ที่ไหน (#post_alternatives | TOC)
Linux Appfinder แนะนำโปรแกรมทดแทนที่ใช้บน Linux โดยแบ่งตามประเภทการใช้งานด้านต่างๆ

มี RPM มาจะใช้งานได้หรือไม่ (#post_rpm | TOC)
ได้ครับ แต่ไม่แนะนำ อาจทำให้ระบบไม่เสถียรหรือพังได้ครับ

เวลา apt-get update หรือกด Refresh Package มี Warning (#post_gpgwarn | TOC)
จะประมาณนี้ครับ
Quote
W: GPG error: http://ppa.launchpad.net intrepid Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 28A8205077558DD0

ข้อความนี้เป็นคำเตือนเฉยๆ ครับ ไม่มีปัญหาอะไรสามารถข้ามไปได้ หากว่ารำคาญอาจจะลองใช้คำสั่งนี้ครับ
gpg --keyserver keyserver.ubuntu.com --recv-keys 28A8205077558DD0; gpg --export --armor 28A8205077558DD0 | sudo apt-key add -
(ตัวสีแดง ให้ใส่เหมือนกับใน warning นะครับ)
ref. http://ubuntuforums.org/archive/index.php/t-1047353.html

หรืออีกคำสั่งก็ใช้ได้เช่นกัน
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 28A8205077558DD0

ลงโปรแกรมไม่ได้ dpkg error (#post_dpkgconfigure | TOC)
Quote
An error occured
The following details are provided:
E: dpkg was interrupted, you must manually run 'sudo dpkg --configure -a' to correct the problem.
E: _cache->open() failed, please report.

รันคำสั่งตัวแดงนั่นแหละครับ :)

จะเพิ่ม/ลบ/แก้ไขเมนู Application ได้อย่างไร (#post_alacarte | TOC)
คลิก ขวาแล้ว Edit Menu ครับ (จริงๆ สมัย 6.06 จะมีโปรแกรม Alacate ให้กดเข้าไปแก้ไข แต่ในรุ่นต่อๆ มาเมนูนี้หายไป และกลายเป็นคลิกขวา>Edit Menu แทน)

ต้องการใช้โปรแกรมของ Windows (#post_wine | TOC)
1. สามารถใช้โปรแกรม VirtualBox (โหลดที่ virtualbox.org ให้เลือกโหลดแบบ Ubuntu เท่านั้น) ติดตั้ง Windows แล้วรันพร้อมกันได้ หากสเปคคอมเพียงพอ (แรมสัก 640kMB ก็น่าจะเพียงพอแล้วครับ) แต่ไม่สามารถใช้งาน 3D แบบ DirectX ได้นะครับ ใช้งานได้แค่ OpenGL (แน่นอนว่า Windows หาโปรแกรมที่ใช้ OpenGL นี้ยาก)
2. สามารถใช้โปรแกรม Wine (ชื่อแพคเกจเดียวกันนี้) รันโปรแกรมได้ แต่อาจไม่สมบูรณ์ ทำงานไม่ได้ หรือโปรแกรม 3D จะช้าลงครับ
3. กลับไปใช้ Windows

MP3 (#post_mp3 | TOC)
ติดตั้งแพคเกจ ubuntu-restricted-extras ครับ

จะดู YouTube? (#post_youtube | TOC)
ติดตั้งแพคเกจ flashplugin-nonfree (การติดตั้งดูจากหัวข้อด้านบนครับ)

ทำไม PDF มันให้โหลดมาดู ไม่เหมือน Acrobat (#post_pdf | TOC)
(อันนี้ผู้เขียนเองก็เพิ่งทราบเหมือนกัน คุณ trendyteddy กับคุณชายเจตน์ลองเอาไปใส่บ้างนะครับ)
ติดตั้งแพคเกจ mozplugger จะสามารถเปิดดู PDF และรูปแบบอื่นๆ เช่นงานเอกสาร ได้ใน browser เลยครับ

อยากดูหนัง ฟังเพลง เล่นเน็ตเต็มที่ (#post_restricted | TOC)
ติดตั้งแพคเกจ ubuntu-restricted-extras และ totem-plugins-extras ครับ และหากต้องการให้หนังเปิดใน browser เลย ให้ติดตั้ง totem-mozilla หรือใช้ mozplugger ตามหัวข้อบนได้ครับ

อยากคุยเอ็ม/AIM/ICQ/Yahoo (#post_im | TOC)
Ubuntu มีโปรแกรม Pidgin (Internet Messenger รูปนกสีม่วง) ที่ Application>Internet>Internet Messenger ครับ สามารถคุยได้ตามโพรโตคอลข้างต้น โดยสามารถออนได้หลายตัวพร้อมกัน หากต้องการคุณสมบัติมากกว่าที่ Pidgin มี แนะนำให้ลอง aMSN/Emesene ดูครับ

สำหรับคนที่ใช้ account msn เป็นหลัก แนะนำให้ติดตั้งแพกเกจที่ชื่อ msn-pecan เพื่อเสริมความสามารถในส่วน msn protocal

ฟอนต์วินโดวส์ (#post_corefonts | TOC)
Windows มีฟอนต์สวยๆ หลายๆ ตัวที่เว็บไซต์หลายๆ เว็บนิยมใช้ ซึ่ง Microsoft ก็ได้แจกจ่ายมาให้ใช้กันฟรีๆ แต่ว่ายังงกเหมือนเดิมคือห้ามแจกจ่ายซ้ำ Ubuntu จึงมีแพคเกจ msttcorefonts (อยู่ในชุดแพคเกจ ubuntu-restricted-extras เช่นเดียวกัน) ให้สามารถติดตั้งได้โดยง่ายดาย โดยจะไปดาวน์โหลดมาแตกออกเองครับ

NTFS (#post_ntfs | TOC)
Ubuntu สามารถอ่าน NTFS ได้ตั้งแต่ประมาณรุ่น 7.10 แล้วครับ

Driver (#post_driver | TOC)
Ubuntu มี Driver อุปกรณ์หลายตัวมากๆ อยู่ในเคอร์เนลระบบแล้วครับ ทำให้สามารถตรวจพบอุปกรณ์หลายๆ ตัวที่มีไดรเวอร์แล้วไวกว่าวินโดวส์ แต่สำหรับอุปกรณ์ที่ไม่มี driver มาให้ เช่นการ์ดจอ โมเดม ในการเปิดเครื่องครั้งแรกสุด จะถามให้ติดตั้งครับ(หรือใช้โปรแกรม jockey-gtk ซึ่งให้ใช้คำสั่งนี้ พิมพ์ลงใน Terminal)

ATi Driver (#post_ati | TOC)
// ส่วนนี้เว้นไว้ให้สาวก ATi ใครมีวิธีติดตั้ง Driver รบกวนเขียนไว้เป็น comment ด้วยครับ

NVIDIA Driver (#post_nvidia | TOC)
NVIDIA Driver นี้ไม่จำเป็นต้องใช้ครับ แต่หากต้องการเล่น Compiz หรือเกมสามมิติ (เกมสองมิติหลายๆ เกมก็ยังใช้ OpenGL ในการเร่งความเร็วเกม ทำให้เกมจะช้าเช่นเดียวกันครับ) ต้องติดตั้งครับ โดยใช้ jockey-gtk หรือสามารถติดตั้งได้ตามตารางนี้
nvidia-glx-180GeForce 6 หรือสูงกว่า และเทียบเท่า(Quadro)
nvidia-glx-173GeForce FX 5
nvidia-glx-96GeForce 2-4
nvidia-glx-71รุ่นเก่ากว่า GeForce 2
(ตารางนี้อ้างอิงจาก RPMFusion)
โดยให้ติดตั้งแพคเกจ(วิธีติดตั้งอยู่ในหัวข้อด้านบนครับ) ตามตารางข้างบนครับ

TODO (#post_todo | TOC)
// TODO การติดตั้งของ ATi (รอมีผู้มาเสนอแนะวิธีการ)

###################################################

คำถามเกี่ยวกับการใช้งาน Terminal

อะไรคือ Terminal? จะเปิดอย่างไร? (#post_terminal | TOC)
Terminal เป็นระบบที่ใช้พิมพ์คำสั่งให้คอมพิวเตอร์ ฟังแล้วอาจจะดูแปลกๆ แต่จริงๆ แล้วมันใช้งานได้ง่ายและดีมากๆ ถ้าเราใช้เป็นแล้ว เราอาจจะใช้ Ubuntu ได้ในแบบกราฟฟิคทั้งหมด หรือจะเป็นเทอร์มินัลทั้งหมดได้เช่นเดียวกัน ผู้เขียนชอบใช้ทั้งสองแบบ และเลือกวิธีที่เหมาะกับงานที่ทำมากที่สุด

การเปิด Terminal สามารถใช้โปรแกรมจำลองเทอร์มินัล หรือเปลี่ยนจอไปยังเทอร์มินัล

การเปิด Terminal บนกราฟฟิค:
1. เปิดเมนู Application (รูป Ubuntu หรือรูปเท้า)
2. กดที่ Accessory>Terminal

การ เปลี่ยนจอไปยังเทอร์มินัล (หากว่าระบบกราฟฟิคมีปัญหา อาจจะลองใช้วิธีนี้แก้ปัญหาได้ด้วย) โดยกด Ctrl+Alt+F1 ถึง Ctrl+Alt+F6 และกด Ctrl+Alt+F7 เพื่อกลับมาบนระบบกราฟฟิค

การเรียกโปรแกรม (#post_launch | TOC)
โปรแกรมบางส่วนอาจจะมีเมนูบนระบบ หากว่าไม่มี ให้ลองใช้ Terminal ด้งนี้
1. โปรแกรมส่วนมากจะใช้ชื่อตัวเอง เช่น Firefox ให้ใช้คำสั่ง firefox หรืออาจจะพิมพ์แค่บางส่วน เช่น fir แล้วกด Tab ระบบจะเติมที่เหลือให้เอง แต่หากมีโปรแกรมหลายตัวที่ขึ้นด้วย fir จะมีเสียงปี๊บแทน และหากกด Tab อีกครั้ง จะเป็นรายการโปรแกรมขึ้นด้วย fir ทั้งหมด
2. หากว่าไม่ทราบชื่อคำสั่ง แต่รู้ชื่อแพคเกจ ให้ลองดูรายการไฟล์ในแพคเกจ ด้วยคำสั่ง dpkg -L nano | grep bin (สีแดงคือชื่อแพคเกจ)

Runlevel คืออะไร (#post_runlevel | TOC)
Runlevel เป็น "โหมด" ของคอมพิวเตอร์ โดยใน Linux มาตราฐานมีใช้ถึง 7 ระดับ (บางตัวอาจมากกว่านั้น) สำหรับ Ubuntu จะใช้เพียง 4 ระดับ ได้แก่ 0, 1, 2, 6
  • 0 คือการปิดเครื่อง
  • 1 คือโหมดกู้ชีพ (Recovery mode) ซึ่งจะใช้ในเมนู Recovery
  • 2 คือโหมดปกติที่ใช้
  • 6 คือการรีบูท
การเปลี่ยน runlevel สามารถใช้คำสั่ง sudo init 0 หรือเลขอื่นๆ

ต้องการให้โปรแกรมทำงานเมื่อเปิดเครื่อง (#post_startup | TOC)
1. หากเป็นโปรแกรมกราฟฟิค ให้แก้ไขที่ System>Preference>Startup Applications
2. หากเป็นดีมอน ให้แก้ไขที่ /etc/rc.local โดยใส่ก่อนคำสั่ง exit 0

ลืมรหัสผ่าน!! (#post_passwd | TOC)
(หากลืมรหัสรูท ไม่สามารถใช้วิธีนี้ได้ครับ)
1. ให้รีบูทเครื่องเข้าไปที่ recovery mode
2. ใช้คำสั่ง passwd ชื่อผู้ใช้
3. กรอกรหัสใหม่สองครั้ง

###################################################

คำถามอื่นๆ

เข้าระบบเป็น Root (#post_root | TOC)
Ubuntu เองไม่สนับสนุนให้ใช้ผู้ใช้งาน root เพราะจะทำให้การใช้งานต่างๆ ไม่ปลอดภัย (เช่นเีดียวกับใช้ Windows แล้วปิดระบบ UAC) แต่จะใช้การขอสิทธิชั่วคราวแทน โดยโปรแกรมตั้งค่าต่างๆ ที่แถมมาจะมีปุ่ม Unlock ซึ่งกดแล้วจะมีการถามรหัสตัวผู้ใช้เองเพื่อยึนยันว่าเป็นตัวจริง จากนั้นจึงสามารถเข้าแก้ไขได้ หรือหากเป็นผู้ใช้ปกติเมื่อกดแล้วจะถามชื่อผู้ใช้และรหัสผ่านของผู้ใช้ที่มี สิทธิ (ผู้ใช้ที่สร้างเมื่อติดตั้งจะมีสิทธิพิเศษนี้มาให้เลย) แต่อย่างไรก็ตาม ในบางครั้งเราอาจจะยังต้องเข้าใช้ Root เช่นในการวางไฟล์ในที่ต่างๆ ของ root สามารถทำโดยเปิดโปรแกรมท่องไฟล์ (ชื่อ nautilus) ด้วยสิทธินี้ โดยกด alt+f2 แล้วพิมพ์ว่า gksudo nautilus จะมีหน้าต่างถามรหัสผ่าน (หากเป็นผู้ใช้ปกติจะขึ้นข้อผิดพลาดขึ้นมา) จากนั้นจะสามารถเข้าแก้ไขได้เต็มรูปแบบ นอกจากนี้แล้ว คำสั่งใน Terminal ต่างๆ สามารถใช้สิทธิ root ได้โดยใช้ sudo นำหน้าำคำสั่ง เช่น sudo cp index.html /var/www

คำสั่ง sudo นี้เมื่อสั่งไปครั้งหนึ่งแล้ว ไม่ว่าจาก gksudo หรือ sudo จะไม่ขึ้นถามอีก จนครบ 15 นาที สามารถยกเลิกเวลานี้โดยใช้คำสั่ง sudo -k และหากต้องการเข้าใช้ root shell สามารถทำได้โดยใช้ sudo -i (จะเป็นการสร้าง shell ขึ้นมาใหม่ ใน home folder ของ root user) หรือ sudo -s (จะคงสภาพแวดล้อมของ shell ปัจจุบัน เช่น การ auto complete ชื่อแพคเกจ, home folder จะกำหนดเป็นของ user ปกติ และำ folder แรกที่เปิดจะเป็น folder ที่สั่งคำสั่ง) ข้อสังเกตคือ root prompt จะเป็น # ส่วนผู้ใช้ปกติจะเป็น $

คำ เตือน!! เนื่องจาก root เป็นผู้ใช้เดียวในระบบที่มีสิทธิสูงสุด ดังนั้นจึงสามารถทำอะไรกับระบบก็ไ้ด้ แม้แต่การลบไฟล์ทั้งหมดทิ้ง ซึ่งจะทำให้เครื่องไม่สามารถบูทได้, แก้ไขฮาร์ดดิสก์โดยตรง ซึ่งจะทำให้ข้อมูลเสียหาย ถูกลบ ถูกเขียนทับ หรือทำให้ฮาร์ดดิสก์เก่าๆ เสียหาย, ส่งเสียงออกทางลำโพงโดยตรง และอื่นๆ การใช้งานผู้ใช้ root นี้จึงต้องระมัดระัวังเป็นอย่างสูง ไม่ควร login ทิ้งเอาไว้ ควรดูชื่อผู้ใช้งานก่อนการกดคำสั่งทุกครั้ง และควรตรวจสอบคำสั่งให้ถูกต้องก่อน เพราะบางคำสั่ง อาจจะผิดโดยที่เราไม่รู้ตัว เช่น rm -r .* นอกจากจะลบไฟล์ที่ขึ้นด้วย . แต่จะรวมไปถึงโฟล์เดอร์ ../ ทำให้ทั้ง partition/harddisk ถูกลบไปได้

Ubuntu Server มีแบบกราฟฟิคไหม (#post_servergui | TOC)
สามารถติดตั้ง ubuntu desktop ทับลงไปได้ครับ โดยยังคงฟังค์ชั่น server ไว้ โดยติดตั้งแพคเกจ ubuntu-desktop หรืออาจจะติดตั้ง Desktop Environment อื่นๆ ที่มีขนาดเล็กลงได้ เช่น IceWM เพื่อลด server load

ความรู้ดีๆจาก: ubuntuclub.com