Google
 
My visitors : Hit Counter by Digits
Showing posts with label BasicLinux. Show all posts
Showing posts with label BasicLinux. Show all posts

2007/09/22

What is Linux ?

Linux, also known as GNU/Linux, is a free, UNIX-like operating system, developed originally for home PCs, but which now runs on practically every hardware platform available including PowerPC, Macintosh, DEC Alpha, Sun Sparc, ARM, Mainframes, and many others. Linux aims for POSIX compliancy to maintain maximum compatibility with other UNIX-like systems. With millions of users worldwide, Linux is probably the most popular UNIX-like OS in the world.
The Linux System

The central nervous system of Linux is the kernel, the operating system code which runs the whole computer. The kernel is under constant development and is always available in both the latest stable release and the latest experimental release. Progress on development is very fast, and the recent 2.6-series kernels are simply amazing on all counts. The kernel design is modular, so that the actual OS code is very small yet able to load whatever functionality it needs when it needs it. Because of this, the kernel remains small and fast yet highly extensible, in comparison to other operating systems which slow down the computer and waste memory by loading everything all the time, whether it is needed or not.

Linux systems excel in many areas, ranging from end-user concerns such as stability, speed, and ease of use, to serious concerns such as development and networking. Nowadays, Linux even offers a wide variety of free and commercial productivity packages such as the OpenOffice suite which can import and export files from other platforms, including Windows and MacOS.
Stability

Linux has long been praised for its stability--Linux boxes are known for running months or even years at a time without crashing, freezing, or having to be rebooted. Linux users sometimes poke fun at other, less stable operating systems, by way of screensavers like BSOD (Blue Screen of Death, which displays crash screens from various other platforms).

Linux is extremely secure compared to other platforms. Viruses and Trojan Horse programs are practically non-existent. Linux servers practically run the World Wide Web, so one cannot argue that there are so few malicious programs for Linux because it represents an insignificant number of target machines.
Speed

So much of the web is built on Linux that the acronym LAMP has emerged. LAMP represents Linux, Apache (web server), MySQL (database) and PHP (web application language). This acronym may need to be changed eventually due to the rapid growth of PostgreSQL, Ruby, and Java on Linux web servers.

Unlike some commercial operating systems, no free Linux distributions impose any artificial constraints on how you use the operating system. There are no arbitrary limits to the number of user accounts you can create, the number of simultaneous connections your Linux-based web server can handle, or arbitrary limits any other Linux resources.

Linux machines are known to be extremely fast, because the operating system is very efficient at managing resources such as memory, CPU power, and disk space. NASA, Sandia, Fermilabs and many others have built very powerful yet inexpensive supercomputers by creating clusters of Linux boxes running in parallel. Clusters of Linux systems have been responsible for rendering the graphics for movies like Shrek, Titanic, and many others.

Many high-profile organizations have adopted Linux. For example, visit the NOAA (the National Weather Service at www.srh.noaa.gov) and you can thank Linux for the weather reports you will see online.
Graphical Interface

Linux has dozens of different, highly configurable graphical interfaces (known as window managers) which run on top of Xorg, a free implementation of the X Window System. The most popular complete desktop environments at present are KDE (the K Desktop Environment) and GNOME (the GNU Network Object Model Environment). These offer the point-and-click, drag-and-drop functionality associated with other user-friendly environments (for example, Macintosh). Both can be configured to look and feel like other environments such as Windows or Mac, and KDE is remarkably extensible. Even complex tasks like system administration, package installation, upgrading, and network configuration can be done easily through graphical programs. Almost all programs that work with one window manager work with all the others, so you don't need to feel like you must pick your favorite desktop environment based on your favorite applications.

Xorg now supports 3-D windowing environments such as Beryl and Compiz for amazing visual effects, and most people won't have to upgrade their computers in order to take advantage of these enhancements.
Software Development

Programmers often find that the Linux development environment is second to none--a good thing for end users who depend on these software developers to provide free software. Nearly all development software for Linux is free and covered under the GNU Public License, which guarantees that it will always remain free. Linux systems come standard with C and C++ compilers and an assembler, and usually include Pascal, FORTRAN, compiled Java, Perl, Python, and BASIC implementations as well. In addition, modern languages like Ruby and classic languages like LISP are all available, fully functional and completely free.

Linux runs two of the most popular development environments, Eclipse and KDevelop, and you can use these environments to with just about any programming language available. These two development tools support web application development, but there are additional free/open source highly sophisticated development tools dedicated to building web applications.

In addition, the source code for nearly any Linux program is freely available (and often included by default). This not only means that bugs are discovered and corrected almost immediately, but development of software proceeds at a much faster pace than one finds even at extremely successful commercial software houses. This phenomenon is called Open Source and is the subject of much discussion and amazement in the business world, the computer world, and the press.

The Open Source nature of Linux also makes it ideal for embedded and specialized systems (routers, cell phones, multimedia entertainment centers, point-of-sale systems), because there's no limit to what you can do to customize Linux for your special needs.
Networking

Networking comes naturally to Linux. Probably all networking protocols in use on the Internet are native to UNIX and/or Linux, so one can expect that UNIX and Linux would network better than any other platforms. Setting up a network on a Linux machine is surprisingly simple, because Linux handles most of the work.

A large part of the Web is running on Linux boxes, especially because of the Apache Web Server which dramatically defeated its commercial competitors, proving the effectiveness and viability of the Open Source approach.
Productivity

Productivity software availability has exploded in recent years, and commercial developers have been producing excellent software for the Linux platform. The Firefox browser, Opera, and Mozilla are freely available (with some licensing restrictions) as well as the OpenOffice productivity suite, KOffice and a host of others, which often come standard on Linux distributions. Many distributors package commercial software with their distributions, and many commercial producers offer free downloads for Linux. Linux productivity packages can usually read and write files from productivity packages on other platforms; Linux has always been at the leading edge of compatibility and openness.

Linux happily coexists on the same machine as other operating systems including Windows or Mac OSX, and Linux easily accesses the files stored by other operating systems. You can use one of many virtualization techniques to run Linux and Windows or any other operating system (even another version of Linux) on the same machine, simultaneously. You can run many Windows programs on Linux via Wine, or commercial helper products such as Crossover Office or Cedega, both of which even support the popular game Word of Warcraft! There are countless Linux distributions which run beautifully from a CD or DVD without the need to install the operating system. This makes it possible for new Linux users to see if they like Linux without erasing their old OS or having to buy another computer.
Longevity

The open source nature of Linux guarantees it is here to stay, and the amazing growth of Linux over the past years bears that out. Best of all, as long as you stick with a truely free/open source operating system like Linux and truely free/open source applications, you can never get locked into depending on any particular vendor. Linux puts you in control of what you do with your software, how, when and if you choose to change or upgrade it.

2007/07/24

What is Wine ?

1.2.1. Windows and Linux

Different software programs are designed for different operating systems, and most won't work on systems that they weren't designed for. Windows programs, for example, won't run in Linux because they contain instructions that the system can't understand until they're translated by the Windows environment. Linux programs, likewise, won't run under the Windows operating system because Windows is unable to interpret all of their instructions.

This situation presents a fundamental problem for anyone who wants to run software for both Windows and Linux. A common solution to this problem is to install both operating systems on the same computer, known as "dual booting." When a Windows program is needed, the user boots the machine into Windows to run it; when a Linux program is then needed, the user then reboots the machine into Linux. This option presents great difficulty: not only must the user endure the frustration of frequent rebooting, but programs for both platforms can't be run simultaneously. Having Windows on a system also creates an added burden: the software is expensive, requires a separate disk partition, and is unable to read most filesystem formats, making the sharing of data between operating systems difficult.

1.2.2. What is Wine, and how can it help me?

Wine makes it possible to run Windows programs alongside any Unix-like operating system, particularly Linux. At its heart, Wine is an implementation of the Windows Application Programing Interface (API) library, acting as a bridge between the Windows program and Linux. Think of Wine as a compatibility layer, when a Windows program tries to perform a function that Linux doesn't normally understand, Wine will translate that program's instruction into one supported by the system. For example, if a program asks the system to create a Windows pushbutton or text-edit field, Wine will convert that instruction into its Linux equivalent in the form of a command to the window manager using the standard X11 protocol.

If you have access to the Windows program's source code, Wine can also be used to recompile a program into a format that Linux can understand more easily. Wine is still needed to launch the program in its recompiled form, however there are many advantages to compiling a Windows program natively within Linux. For more information, see the Winelib User Guide.

1.2.3. Wine features

Throughout the course of its development, Wine has continually grown in the features it carries and the programs it can run. A partial list of these features follows:

  • Support for running Win32 (Win 95/98, NT/2000/XP), Win16 (Win 3.1) and DOS programs

  • Optional use of external vendor DLL files (such as those included with Windows)

  • X11-based graphics display, allowing remote display to any X terminal, as well as a text mode console

  • Desktop-in-a-box or mixable windows

  • DirectX support for games

  • Good support for various sound drivers including OSS and ALSA

  • Support for alternative input devices

  • Printing: PostScript interface driver (psdrv) to standard Unix PostScript print services

  • Modem, serial device support

  • Winsock TCP/IP networking support

  • ASPI interface (SCSI) support for scanners, CD writers, and other devices

  • Advanced unicode and foreign language support

  • Full-featured Wine debugger and configurable trace logging messages for easier troubleshooting

Mình đã dịch bài này ra tiếng Việt tại đây
by winehq.org

2007/07/23

Wine là gì ? Cùng tìm hỉu về Wine trong Linux và Ubuntu

1 .Khó khăn từ Window và Linux
Những fần mềm khác nhau được thiết kế cho những hệ điều hành( OS) khác nhau, và hầu như ko chạy trên những OS khác mà chúng đã được thiết kế. Dí dụ, các software xài cho Win ko chạy trên nền Linux được, bởi vì nó chứa những lệnh mà Linux ko hỉu hay ko có thư viện hỗ trợ cho tới khi nó được biên dịch trong môi trường Window. Những software của Linux cũng như zậy, Window OS ko hỉu hết những tất cả những lệnh của nó.
Trường hợp này đã bộc lộ vấn đề cơ bản cho những ai muốn chạy chương trình trong cả 2 OS Linux và Window. Một jải fáp fổ biến cho vấn đề này là cùng cài cả 2 OS trong máy, được gọi như là "dual booting"( tam dịch là "khởi động kép"). Khi cần chạy 1 software của Window thì chuyển wa Win OS, nếu cần chạy 1 software của Linux thì bạn fải restart lại wa Linux OS. Lựa chọn này gây ra khó khăn lớn cho người dùng cuối bởi việc tái khởi động máy nhìu lần, những chương trình viết cho cả 2 OS ko thể chạy đồng thời. Hơn nữa những chương trình chạy trên Window thường rất mắc( cái này Vietnamese chắc ko thành vấn đề j !), yêu cầu fân vùng ổ cứng khác nhau, nên ko thể đọc hầu hết các kiểu định dang file hệ thống, làm cho việc share dữ liệu trở nên khó khăn jữa những OS.
2. Wine là gì ?
Wine làm cho những chương trình của Window có thể chạy song song với bất kì OS jống Unix và Linux nói riêng. Thực ra, Wine là một sự thực thi của thư viện Windows Application Programing Interface (API), hoạt động như 1 cầu nối juã7 Windos và Linux. Bạn hãy nghĩ Wine như 1 lớp tương thích, khi 1 software Window yêu cầu thực thi 1 hàm mà Linux ko hiểu một cách thông thường, Wine sẽ dịch lệnh của chương trình vào 1 trình hỗ trợ của nó bởi hệ thống. Cho ví dụ, nếu chương trình yêu cầu hệ thống tạo ra 1 pushbutton hay 1 trường text-edit, Wine sẽ chuyển lệnh đó thành những lệnh tương đương của Linux trong dạng 1 lệnh đến trình quản lí cửa sổ dùng giao thức chuẩn X11.
Nếu bạn fải truy xuất mã nguồn của những chương trình Window, Wine có thể cũng được dùng để biên dịch ngược( recompile) chương trình vào 1 dạng mà Linux có thể hiểu một cách dễ dàng hơn. Wine vẫn cần bắt đầu chương trình trong dạng biên dich ngược của nó, tuy nhiên có vài ưu điểm để biên dịch chương trình Window một cách tự nhiên trong Linux.
3.Những đặc tính của Wine :( bữa nào típ ngen)

Bài này tui được dịch từ winehq.org , các bạn có thể xem fiên bản English tại đây

2007/07/05

Makeup my FireFox's skin on Ubuntu - Làm đẹp cho FireFox trong Ubuntu

Mở firefox trên Ubuntu ra, gõ google.com vào và rồi bạn bất ngờ! Bất ngờ vì không hiểu làm sao mà mấy cái hộp nhập văn bản với nút nhấn lại xấu đến thế! Đấy là do thiết lập mặc định của Firefox. Đừng thất vọng, chỉ với vài dòng thao tác là bạn sẽ có kết quả tuyệt vời, đẹp không thua gì firefox chạy trên windows!

Trước khi chỉnh sửa:

Firefox trên Ubuntu trước khi chỉnh

sau khi chỉnh sửa bạn sẽ có một thứ trông tựa như thế này:

Firefox trên Ubuntu sau khi chỉnh

Thế thì bắt đầu thôi nhỉ?

Mở cửa sổ dòng lệnh Terminal bằng cách vào menu Applications > Accessories > Terminal. Bạn gõ và thực hiện tuần tự các lệnh sau:

wget http://users.tkk.fi/~otsaloma/art/firefox-form-widgets.tar.gz

tar -xvf firefox-form-widgets.tar.gz

sudo cp /usr/lib/mozilla-firefox/res/forms.css /usr/lib/mozilla-firefox/res/forms.css.bak

cat firefox-form-widgets/res/forms-extra.css | sudo tee --append /usr/lib/mozilla-firefox/res/forms.css > /dev/null

sudo cp -r firefox-form-widgets/res/form-widgets /usr/lib/mozilla-firefox/res

rm -rf firefox-form-widgets*

Quá trình này thực chất là thay những thiết lập mặc định của Firefox bằng một vài thứ hay hơn. Phương pháp mình học được từ Forum của cộng đồng Ubuntu đấy.

by saylinux.worldpress.com

2007/06/18

10 điều cần biết về Linux

Hiện nay, Windows vẫn là hệ điều hành được sử dụng rộng rãi, đặc biệt là ở Việt Nam. Tuy nhiên, xu hướng sử dụng Linux cũng đang trở nên phổ biến mà nếu là một "IT Pro" thì chắc hẳn bạn cũng đã từng cài đặt và sử dụng Linux.

Trong bài viết này, VietNamNet cung cấp 10 điều cần biết căn bản về Linux giúp bạn làm quen với hệ điều hành đầy hứa hẹn này.

1. Cấu trúc thư mục

Cấu trúc thư mục không giống như trong Windows và các hệ điều hành khác, hệ thống tập tin trong Linux là một cây rất lớn (big tree). Thư mục Root ( / ) là thư mục gốc, các tập tin và các ổ đĩa khác chỉ là nhánh của Root.

Ví dụ: nếu bạn có 2 đĩa cứng a và b, một đĩa mềm và một ổ CD-ROM. Hãy giả sử rằng ổ đĩa thứ nhất có 2 phân vùng (partition) là a1 và a2, ổ đĩa thứ 2 chỉ có một phân vùng là b.

Trong Windows

  • ổ cứng a, phân vùng a1 (hda1): ổ đĩa C
  • ổ cứng a, phân vùng a2 (hda2): ổ đĩa D
  • ổ cứng b, một phân vùng b1 (hdb1): ổ đĩa E
  • ổ đĩa mềm: ổ A
  • ổ đĩa CD-ROM: ổ F

Ngược lại, trong Linux, mỗi ổ đĩa sẽ được gắn kết (mount) vào trong cây thư mục (Tree Directory) giống như là một thư mục bình thường:

  • hda1: / (Root)
  • hda2: /home
  • hdb1: /home/user/music
  • ổ đĩa mềm: /mnt/floppy
  • ổ CD-ROM: /mnt/cdrom
So sánh cấu trúc hệ thống tập tin giữa Linux và Windows

2. Hệ thống theo modul

Trong Windows 98/2000/XP hay Mac OS X... mỗi hệ điều hành đều có một giao diện đồ hoạ GUI không giống nhau.Trong Linux, mỗi modul trong hệ thống là hoàn toàn độc lập với nhau, vì vậy người sử dụng có thể trộn lẫn và tự tạo ra hệ điều hành cho riêng mình.

Không giống như hệ điều hành Windows của Microsoft, mọi thành phần đều kết nối và phụ thuộc lẫn nhau. Ngược lại, Linux lại cung cấp khả năng các chương trình làm việc độc lập với nhau, nếu chương trình này được gỡ bỏ thì các chương trình khác vẫn hoạt động tốt mà không gây ảnh hưởng gì. Chính vì khả năng phân chia modul như vậy mà HĐH Linux được phân phối bởi những người sử dụng hay các công ty lớn như RedHat, Xandros, Simply MEPIS và Suse... đều có thể tương thích với nhau.

Trong Linux, các chương trình cũng có thể thay đổi lẫn nhau, mà giao diện đồ hoạ GUI cũng không phải là ngoại lệ. Muốn có giao diện giống với Windows XP? Hãy sử dụng FVWM với theme XP. Muốn nhanh hơn? Hãy dùng IceWM. Muốn có đầy đủ tính năng? GNOME hoặc KDE sẽ là thích hợp nhất. Tất cả những gói phần mềm về giao diện GUI đều có những thuận lợi và yếu điểm riêng, nhưng chúng cũng đều hỗ trợ người dùng tương tác tốt với chuột.

3. Hỗ trợ phần cứng, phần mềm

Phần cứng, phần mềm và mọi thứ trong Linux cũng mới chỉ xuất hiện trong vài năm gần đây. Với thời gian chỉ bằng một nửa so với Windows, nhưng các phần mềm cho Linux mạnh mẽ hơn, ổn định hơn, "ngốn" ít tài nguyên hơn, và chi phí thì rẻ hơn so với nền tảng Windows.

Hỗ trợ phần mềm

Tuy nhiên, điều mà Linux cần phải quan tâm là hiện nay chưa có nhiều nhà cung cấp phần mềm hỗ trợ Linux. Ví dụ nếu muốn sử dụng QuickBook của Intuit trên Linux, thì không thể. Mặc dù, cũng có nhiều dự án cho phép các ứng dụng Windows có thể chạy trên Linux, như CrossOver Office (cho phép chạy Office trên Linux) và Wine (giả lập môi trường Windows và các ứng dụng Windows có thể chạy trên Linux). Nhưng các phần mềm này không thể chạy tốt và ổn định như trong môi trường thực của nó, người sử dụng cần phải chờ đợi khi các hãng cung cấp phần mềm chính thức chuyển sang Linux thì mới có thể sử dụng tốt được.

Hiện nay, cộng đồng mã nguồn mở đưa ra danh sách 15 000 chương trình hoạt động tốt trên Linux. Các phần mềm này đều miễn phí, chất lượng thì có thể khác nhau, nhưng hầu hết các chương trình đều viết rất tuyệt vời và có sự cải tiến đáng chú ý. Những phần mềm này có thể nhập và xuất các tập tin từ các định dạng của những phần mềm quen thuộc. Chẳng hạn, GNUCash có thể đọc các định dạng của QuickBook rất tốt, và OpenOffice.org có thể đọc tốt các định dạng tài liệu của bộ Micrsoft Office...

Hỗ trợ phần cứng

Để cài đặt phần cứng trên các máy tính Apple không đơn giản như trên Windows, và điều này cũng tương tự với Linux. Hầu hết các phần cứng ổ cứng, RAM, USB Flash, bo mạch chủ, card mạng và máy ảnh số đều làm việc tốt, nhưng một số phần cứng mới hoặc không được hỗ trợ thì rất khó cài đặt.

Các trình điều khiển làm việc với phần cứng được viết cho Linux đều phải được cung cấp miễn phí cho các cộng đồng người sử dụng Linux, mà điều này các hãng sản xuất phần cứng không muốn. Do đó, có thể đây là một điểm yếu so với Windows bởi các công ty phần cứng có thể làm việc trực tiếp với Microsoft về tính tương thích, và có xu hướng để Linux tự tìm cách hỗ trợ các thiết bị đó bởi họ muốn giữ bản quyền về công nghệ của riêng mình. Một thông tin tốt là các nhà cung cấp phần cứng cho Linux cũng như phần mềm đều đang có chuyển biến tích cực và nhiều công ty cũng đang dần hỗ trợ Linux.

Kết hợp giữa phần cứng, phần mềm trong các máy tính Linux là nhân hệ điều hành (kernel). Nhân hệ điều hành (HĐH) kết nối phần cứng và phần mềm, và những cập nhật mới nhất đều có sẵn trên Internet. Nếu đang sử dụng phần cứng mới và nhân HĐH cũ chưa hỗ trợ , hãy sử dụng phiên bản mới, đây cũng là một giải pháp sẽ giúp bạn vượt qua khó khăn. Để cài đặt nhân HĐH mới cũng không phải là quá phức tạp, tuy nhiên sử dụng trình quản lý các gói cài đặt sẽ đem lại sự đơn giản hơn.

4. Trình quản lý gói cài đặt

Thực ra có rất nhiều cách để cài đặt các chương trình Linux, nhưng cách dễ nhất là sử dụng trình quản lý cài đặt PM (Package Manager). PM đảm bảo chắc chắn rằng những tập tin bị mất đều được cài đặt lại và chương trình có thể chạy hoàn toàn chính xác, đúng yêu cầu.

Các hãng cung cấp Linux thường sử dụng các kho dữ liệu trực tuyến để lưu trữ các chương trình. Cài đặt các ứng dụng cũng dễ dàng, chỉ cần tìm kiếm các chương trình trong kho dữ liệu và nhấn chuột vào Install là xong. Không thể tìm IceWM hoặc MPlayer trong danh sách cài đặt? Cũng có những cách khác để cài đặt một khi dữ liệu cho những chương trình mà bạn không tìm thấy, hãy truy cập vào các kho dữ liệu trực tuyến như Synaptic cho Debian, Yum cho RedHat, YaST2 cho SuSE và Emerge cho Gentoo.

5. Quyền truy cập (Permission)

Linux được thiết kế cho nhiều người sử dụng, những người sử dụng này lại được chia thành nhiều nhóm. Mỗi người sử dụng đều có quyền đọc (Read), ghi (Write), hoạc thực thi (Execute) cho những tập tin của riêng họ, và quyền hạn để chuyển đổi quyền truy cập. Bởi Linux được thiết kế cho nhiều người sử dụng, mỗi người sử dụng đều có mật khẩu riêng, và giới hạn quyền truy cập của người sử dụng (User Permissions).

Quyền truy cập trong Linux

Một người dùng thuộc về một nhóm hoặc nhiều nhóm khác nhau, và mỗi người sử dụng có thể đặt quyền truy cập các tập tin/thư mục của họ có quyền đọc nhưng không thể ghi, hoặc kết hợp các R/W/X...

Người dùng quản trị root, cũng giống như Administrator trong Windows, có quyền truy cập vào tất cả những tập tin và chỉ những người sử dụng có quyền hạn mới được phép thay đổi những thiết lập hệ thống. Điều này giúp những người sử dụng thông thường không thể cài đặt những phần mềm gián điệp vào hệ thống và xoá những tập tin quan trọng.

6. Thư mục người dùng

Trong Windows có My Documents, nhưng bạn thường "quăng" những tài liệu ở chỗ nào? Rất nhiều người sử dụng lưu chúng ngay trên Desktop của Windows. Linux cũng có thể làm như vậy, nhưng mỗi người sử dụng đều cho một thư người dùng riêng, thường đặt tại /home/user. Trong thư mục người dùng bạn có thể lưu các tài liệu trong thư mục Documents (/home/user/documents), các liên kết tới chương trình, âm nhạc (/home/user/Music), hoặc bất cứ những gì nếu muốn. Bạn có thể tạo các tập tin hoặc các thư mục ở đó, tổ chức chúng theo cách mà mình thích.

7. Cài đặt mặc định

Sự khác biệt giữa các bản Linux từ các hãng phân phối như: các tập tin cũng được lưu vào các đường dẫn khác nhau và các ứng dụng cài đặt cho mỗi bản Linux cũng khác nhau... Nếu so sách các tập tin hệ thống giữa Redhat và SuSE cũng có sự khác biệt rất lớn. Hầu hết người sử dụng đều không cần phải biết nhiều tới sự khác biệt này, nhưng những nhà sản xuất phần mềm cần phải nhận biết rõ điều này. Vì vậy, khi nhờ sự giúp đỡ, hãy cho người khác biết rõ bạn đang sử dụng Linux từ nhà cung cấp nào. Nếu gặp không phải những rắc rối, và không quan tâm về sự khác biệt giữa những cài đặt mặc định này, bạn cứ yên tâm sử dụng, đó là cách tốt nhất để tránh "nhức đầu".

8 Giao diện dòng lệnh

Giao diện dòng lệnh trong Linux CLI (Command Line Interface), cũng giống như DOS của Windows. Nhưng khả năng của CLI lại mạnh mẽ và rất hữu ích khi giải quyết những sự cố máy tính. Nếu cần trợ giúp từ Internet hoặc hỏi ai đó, bạn có thể sử dụng giao diện dòng lênh để giúp bạn mà không cần phải nạp các trình quản lý GUI.

9.Tổ hợp Ctrl-Alt-Escape

Nhấn tổ hợp phím Ctrl-Alt-Escape, biểu tượng con trỏ chuột sẽ thay đổi hình dáng thành biểu tượng X, hoặc một biểu tượng nào đó. Trong chế độ này, chỉ cần nhấn vào cửa sổ chương trình bị lỗi hoặc treo, lập tức ứng dụng đó sẽ bị "giết". Tổ hợp phím này cũng tương tự như khi sử dụng Task Manager trong Windows. Khi đổi ý, bạn chỉ cần nhấn Esc để thoát khỏi chế độ này. Cũng giống sử dụng Task Manager của Windows, khi sử dụng sai, rất có thể những lỗi nghiêm trọng sẽ xảy ra và khởi động lại máy là không thể tránh khỏi.

10. Internet là người bạn thân

Sử dụng Linux cũng không hề đơn giản. Tuy nhiên, "không biết thì phải hỏi", rất nhiều câu hỏi được đưa ra trên các diễn đàn (Forum) về cách sử dụng Linux, và những câu trả lời, những mánh lới... đều có sẵn cho bạn. Một địa chỉ hấp dân mà bạn hãy ghé qua như: www.LinuxQuestions.org là một trang Web lớn cung cấp cho bạn một kho dữ liệu vô giá về Linux.

Lưu ý, trước khi đưa bất cứ một câu hỏi nào lên trang Web này hãy tìm kiếm các câu hỏi trong trang Web bởi rất có thể sẽ không phải đợi lâu, câu trả lời đã có sẵn ở đâu đó. Bạn cũng nên đọc qua những câu hỏi về một vấn đề hoặc một giải pháp khác nào đó, rất có thể chúng sẽ giúp ích cho vấn đề mà bạn đang gặp phải.

by quantrimang site

Cài đặt các ứng dụng từ mã nguồn trên Linux

Có nhiều bạn khi lần đầu tiên đến với Linux cảm giác sự khó khăn và bất tiện của việc cài đặt các ứng dụng trên Linux, đặc biệt là các ứng dụng phải cài đặt từ mã nguồn như xine, openGL...

Trên Windows, bạn chỉ cần tải ứng dụng về, giải nén rồi click vào file setup là hoàn tất việc cài đặt, nhưng trên Linux đó là một chuyện hoàn toàn khác. Bài viết này sẽ nhằm mục đích hướng dẫn bạn các thao tác cài đặt các phần mềm ứng dụng trên Linux và cung cấp các kiến thức căn bản giúp bạn có thể quản lý hệ thống của riêng mình.

Bài viết sẽ giả sử rằng bạn đã biết cách sử dụng một số phần mềm quản lý gói như rpm. Để dễ dàng thì bài viết sẽ gọi các phần mềm trên Linux là các gói (package). Thực tế tên gọi 'gói' đúng đắn hơn vì các gói trên Linux có thể không phải là một trình ứng dụng nào đó mà chỉ là các thư viện nền như thư viện đồ họa Gtk+ hoặc OpenGL...

1. Giới thiệu

Bạn có thể sẽ tự hỏi rằng tại sao các phần mềm trên Linux không tự đóng gói sẵn cho chúng ta rồi khi xuất bạn chỉ cần tải về và cài đặt nó. Câu trả lời nằm ở 2 vấn đề, vấn đề thứ 1 là các phần mềm viết trên Linux không hẳn chỉ có thể chạy trên Linux mà có thể chạy trên nhìều hệ thống khác nhau trong họ Unix như Solaris, AIX, HP-UX... thậm chí các phần mềm đó có thể chạy trên rất nhiều vi xử lý khác nhau như Intel, Motorola, PPC... Có được sự đa năng đó là nhờ vào tính đa nền (portable) của ngôn ngữ C/C++ nhưng đòi hỏi chúng ta phải biên dịch lại phần mềm từ mã nguồn cho hệ thống mà chúng vận hành. Bạn sẽ tự hỏi là tại sao các nhà phát triển lại không biên dịch sẵn cho chúng ta trên hệ thống thông dụng nào đó như Linux chẳng hạn.

Câu trả lời là bởi vì các phần mềm này là phần mềm mã nguồn mở và các nhà phát triển không có cách gì hơn là để lại phần biên dịch cho chúng ta. Tuy nhiên bạn đừng thất vọng vì có một số nhà phát triển rất là tốt bụng có thể biên dịch sẵn cho chúng ta ra các gói có dạng rpm và cùng với sự hỗ trợ của công ty Red Hat chúng ta cũng đã có những chương trình quản lý các phần mềm hiệu quả không kém gì trên Windows như RPM (Redhat Package Manager). Mặc dù là thế nhưng không phải lúc nào các gói mới nhất từ các nhà phát triển gốc đều có phiên bản biên dịch sẵn mà thường là một khỏang thời gian sau các phiên bản đó mới có được dưới dạng biên dịch sẵn. Bên cạnh đó còn có rất nhiều nhà phát triển không hề biên dịch sẵn sản phầm của mình mà đòi hòi người dùng phải biên dịch, điển hình là trình chơi phim và nhạc xine. Các gói biên dịch sẵn các bạn có từ xine đa số là từ các nhà phát triển khác. Do đó nếu bạn không bạn không biết cách cài đặt các gói từ nguồn là một trở ngại rất lớn cho việc hiểu và quản trị hệ thống của riêng mình.

2. Căn bản của việc cài đặt

Điều đầu tiên khi bạn tiến hành cài đặt là bạn phải có mã nguồn của gói đó trước. Hãy lên mạng search bất kì gói nào bạn thích như thư viện Gtk+ hoặc Gnome... Sau khi tải về, thông thường có dạng là .gz hoặc .bz2, đây đều là 2 chuẩn nén khác nhau, sau khi giải nén bằng gunzip cho gz hoặc bunzip2 cho bz2 thì các gói sẽ có dạng mới là tar, cũng là một chuẩn nén khác, bạn có thể giải nén bằng lệnh, tar -xvf... Thế nhưng đế dễ dàng và tiết kiệm dung lượng ổ đĩa thì chúng ta có thể gộp các câu lệnh đó thành 1 như sau:

- Đối với gói .gz: # tar -zxvf tengoi.gz
- Đối với gói .bz2: # tar -jxvf tengoi.bz2

Sau khi giải nén xong và tìm tập tin INSTALL để đọc cụ thể cho phần hướng dẫn cài đặt. Thế nhưng hầu như các gói đều tuân theo các thao tác tuần tự sau:

# ./configure
# make
# make install

Chỉ có vài gói đặc biệt sẽ có riêng cách cài đặt nhưng khi bạn đã nắm vững nguyên tắc chung thì dù là cách thức nào bạn cũng có thể xoay xở được. Chúng ta hãy xét đến câu lệnh đầu tiên, ./configure... Thực chất configure là một shell script sẽ kiểm tra những yêu cầu của hệ thống của bạn có đáp ứng đủ để cài đặt gói lên không, ví dụ như một số gói đòi hỏi bạn phải có sẵn thư viện đồ họa Gtk 2.4 trở lên hoặc là thư viện để giải nén nhạc Mp3...

Rất nhiều gói có sự phụ thuộc như thế chứ các gói khi tải về không hề có sẵn các gói tương ứng cần thiết cho nó. Khi bạn chạy configure xong kết quả sẽ cho bạn biết các gói nào cần thiết để cài đặt. Nhiệm vụ của bạn không gì hơn là phải tìm các gói phụ thuộc đó cài lên máy rồi mới tiếp tục việc cài đặt. Nếu như hệ thống của bạn thỏa mãn đầy đủ các yêu cầu để cài đặt thì các Makefile sẽ được tạo ra. Makefile là một file đặc biệt của tiện ích make nhằm hướng dẫn biên dịch mã nguồn của gói ra dạng thực thi.

Sau khi bạn thực thi lệnh 'make' xong thì toàn bộ mã nguồn của gói đã được biên dịch sang dạng thực thi nhưng các file thực thi vẫn còn nằm trên thư mục hiện hành. Do đó bạn cần phải thực hiện thêm lệnh 'make install' để chép các file thực thi đó sang đúng vị trí của nó trên hệ thống. Nếu như không có thông báo lỗi gì xảy ra thì bạn đã hòan tất việc cài đặt gói lên hệ thống của mình.

3. Tổ chức các file trên hệ thống

Bạn hoàn toàn biết thư mục trên Linux thì thư mục /usr là thư mục quan trọng nhất vì nó sẽ chứa các chương trình và hàm thư viện trên đó. Trong thư mục /usr/bin là sẽ chứa các file thực thi cho các gói bạn đã cài đặt trên máy, các file trong thư mục này bạn sẽ thấy các file rất quen thuộc như mozilla, gedit .v.v... Thư mục /usr/lib sẽ chứa các hàm thư viện, bạn sẽ thấy rất nhiều files có phần mở rộng là .so (shared object) là các hàm thư viện liên kết động hoặc .a (archive) hoặc .la đều là các hàm thư viện liên kết tĩnh. Đặc tính căn bản của 2 dạng thư viện này là hàm thư viện liên kết tĩnh sẽ được liên kết thẳng với files thực thi luôn trong quá trình liên kết, còn hàm thư viện liên kết động thì sẽ được liên kết trong quá trình thực thi, cho nên sau khi chương trình đã được biên dịch và liền kết rồi các thư viên tĩnh chúng ta có thể bỏ đi nhưng thư viện liên kết động thì bắt buộc phải đi kèm với chương trình. Thư mục /usr/share sẽ chứa các icon, manual hoặc info của gói.

4. Loại bỏ một gói

Nếu bạn mong muốn lọai bỏ một gói đã cài đặt trên hệthống thì cách duy nhất là bạn phải vào lại thư mục mã nguồn của gói và gõ lệnh make 'uninstall'... thông thường bạn sẽ có các câu lệnh sau: 'make clean' 'make distclean'... Các câu lệnh có ý nghĩa rất tương đối và được định nghĩa trong tập tin Makefile, nên đầu tiên bạn cứ thử với 'make uninstall' rồi 'make clean' cái cuối cùng 'make distclean' là giúp bạn xóa hết các tập tin đã biên dịch ở thư mục nguồn và đồng thời xóa Makefile, bạn phải chạy lại ./configure để tạo lại Makefile.

5. Quản lý các gói

Do việc xóa bỏ một gói như trên rất là phiền phức đôi lúc bạn chẳng thể xóa bỏđược nếu như mất đi mã nguồn, cho nên bạn có thể thay vì cài nó vào thư mục mặc định là /usr thì bạn có thể cài vào các thư mục của riêng bạn, ví dụ như bạn có thể tạo thư mục '/soft'... Sau đó để cài gói gedit thì bạn tạo thêm thư mục /soft/gedit và dùng lệnh ./configure... bạn thêm tùy chọn sau:

./configure --prefix=/soft/gedit

Thì khi bạn gõ make install sẽ copy toàn bộ sang thư mục /soft/gedit. Khi bạn muốn xóa toàn bộ gói thì chỉ đơn giản xóa đi thư mục đó thôi. Lưu ý là khi bạn cài vào thư mục riêng của mình rồi bạn phải tạo 2 đường dẫn cho 2 biến môi trường (environment variable) LD_LIBRARY_PATHPKG_CONFIG_PATH.

LD_LIBRARY_PATH sẽ có đường dẫn đến thư mục lib của gói vừa tạo (ví dụ như /soft/gedit/lib) còn PKG_CONFIG_PATH sẽ có đường dẫn đến thư mục pkg_config trong thư mục lib (ví dụ như /soft/gedit/lib/pkg_config). Bên cạnh đó nếu bạn muốn chương trình gọi tự động thì bạn cũng nên thêm vào biến PATH cho gói của mình.

6. Lời kết

Đối với cách cài trên thì bạn dể dàng quản lý các gói của mình nhưng đối với các dạng thư viện thì bạn nên cài nó vào thư mục /usr hơn là thư mục riêng của mình vì một số gói sẽ tìm các thư việc trên thư mục mặc định /usr/usr/local hơn là các thư mục riêng người dùng nên nếu bạn cài lên thư mục riêng thì đôi lúc các thư viện đó sẽ không được tìm ra. Thông thường lệnh ./configure đi đôi với rất nhiều tùy chọn cho phép bạn lựa chọn nhiều tính năng khác nhau, bạn hãy gỏ ./configure --help để mà biết đầy đủ các tùy chọn của gói. Bài viết chắc chắn sẽ không tránh khỏi những thiếu sót bằng cách này hay cách khác, rất mong sự góp ý của các bạn, Xin cám ơn.

by quantrimang site

Basic Shell commands in Linux - Các lệnh shell trong Linux

Khi mở một shell, bạn cần đến tài khoản kích hoạt vào thư mục chủ (thông thường nằm trong /home/tên_người_dùng).

Chú ý rằng mỗi lệnh đều có nhiều tùy chọn riêng của mình. Để xem các tùy chọn cho một lệnh cụ thể, đơn giản bạn chỉ cần gõ "man " (trong đó: man là từ khóa; command là tên lệnh). Một điểm quan trọng cần chú ý là trong các hệ điều hành Linux, câu lệnh có phân biệt chữ hoa, chữ thường. “A” sẽ được hệ điều hành hiểu là khác so với “a”.

Để vào hệ thống file, dùng:

- pwd: đưa ra ngoài màn hình thư mục đang hoạt động (ví dụ: /etc/ssh).

- cd: thay đổi thư mục (ví dụ: cd .. – ra một cấp thư mục hiện tại; cd vidu – vào thư mục /vidu).

- ls: đưa ra danh sách nội dung thư mục.

- mkdir: tạo thư mục mới (mkdir tên_thumuc).

- touch: tạo file mới (touch ten_file).

- rmdir: bỏ một thư mục (rmdir ten_thumuc).

- cp: copy file hoặc thư mục (cp file_nguồn file_đích).

- mv: di chuyển file hoặc thư mục; cũng được dùng để đặt lại tên file hoặc thư mục (mv vị_trí_cũ vị_trí_mới hoặc mv tên_cũ tên_mới).

- rm: loại bỏ file (rm tên_file).

Để tìm kiếm file, bạn có thể dùng:

- find : dùng cho các tên file.

- grep <>: để tìm nội dung trong file.

Để xem một file, bạn có thể dùng:

- more : hiển thị file theo từng trang.

- cat <>: hiển thị tất cả file.

- head <>: hiển thị các dòng đầu tiên.

- tail <>: hiển thị các dòng cuối cùng (có thể hữu ích trong những trường hợp như khi bạn muốn xem thông tin cuối cùng của một file hệ thống).

Để chính sửa file, bạn phải sử dụng trình soạn thảo tích hợp sẵn trên dòng lệnh. Thông thường, đây là vi và được dùng với cú pháp: vi .

Để giải nén một lưu trữ (thông thường có đuôi tar.gz), bạn phải dùng lệnh tar với cú pháp tar -xvf .

Để in một file, dùng lệnh lpr . Chú ý là bạn phải có một số daemon hoạt động để quản lý máy in. Thông thường đây là các cup (chủ yếu là UNIX Printing System) có thể sử dụng cho tất cả các phân phối chính.

Để loại bỏ file khỏi hàng đợi ở máy in (bạn có thể lên danh sách hàng đợi bằng lệnh lpq), sử dụng câu lệnh lprm .

Để lắp hoặc gỡ bỏ thiết bị (thêm vào hệ thống file với vai trò như một phương tiện được phép sử dụng), dùng:

- mount /mnt/floppy: lắp thêm ổ mềm.

- umount /mnt/floppy: gỡ bỏ ổ mềm.

- mount /mnt/cdrom: lắp ổ CD-ROM.

- mount /mnt/cdrom: gỡ ổ DC-ROM.

Các thiết bị này thường được cài và cho phép sử dụng một cách tự động. Nhưng có thể một ngày đẹp trời nào đó bạn lại phải tự mình thực hiện công việc này khi có lỗi xảy ra. Đừng lo lắng!

Để tạo một phân vùng

Đầu tiên, tạo một thư mục trong /mnt (mkdir /mnt/ổ_đĩa_mới). Sau đó sử dụng lệnh mount (mount /dev/source /mnt/ ổ_đĩa_mới), trong đó /dev/source là thiết bị (tức phân vùng) bạn muốn lắp thêm vào hệ thống file.

Nếu muốn kết nối tới một host từ xa, sử dụng lệnh ssh. Cú pháp là ssh .

Quản lý hệ thống:

- ps: hiển thị các chương trình hiện thời đang chạy (rất hữu ích: ps là cái nhìn toàn bộ về tất cả các chương trình).

Trong danh sách đưa ra khi thực hiện lệnh ps, bạn sẽ thấy có số PID (Process identification - nhân dạng tiến trình).

Con số này sẽ được hỏi đến khi muốn ngừng một dịch vụ hay ứng dụng, dùng lệnh kill .

- top: hoạt động khá giống như Task Manager trong Windows. Nó đưa ra thông tin về tất cả tài nguyên hệ thống, các tiến trình đang chạy, tốc độ load trung bình… Lệnh top -d thiết lập khoảng thời gian làm tươi lại hệ thống. Bạn có thể đặt bất kỳ giá trị nào, từ .1 (tức 10 mili giây) tới 100 (tức 100 giây) hoặc thậm chí lớn hơn.

- uptime: thể hiện thời gian của hệ thống và tốc độ load trung bình trong khoảng thời gian đó, trước đây là 5 phút và 15 phút.

Thông thường tốc độ load trung bình được tính toán theo phần trăm tài nguyên hệ thống (vi xử lý, RAM, ổ cứng vào/ra, tốc độ load mạng) được dùng tại một thời điểm. Nếu tốc độ được tính toán là 0.37, tức có 37% tài nguyên được sử dụng. Giá trị lớn hơn như 2.35 nghĩa là hệ thống phải đợi một số dữ liệu, khi đó nó sẽ tính toán nhanh hơn 235% mà không gặp phải vấn đề gì. Nhưng giữa các phân phối có thể khác nhau một chút.

- free: hiển thị thông tin trên bộ nhớ hệ thống.

- ifconfig : để xem thông tin chi tiết về các giao diện mạng; thông thường giao diện mạng ethernet có tên là eth(). Bạn có thể cài đặt các thiết lập mạng như địa chỉ IP hoặc bằng cách dùng lệnh này (xem man ifconfig). Nếu có điều gì đó chưa chính xác, bạn có thể stop hoặc start (tức ngừng hoặc khởi_động) giao diện bằng cách dùng lệnh ifconfig up/down.

- passwd: cho phép bạn thay đổi mật khẩu (passwd người_dùng_sở_hữu_mật_khẩu hoặc tên người dùng khác nếu bạn đăng nhập hệ thống với vai trò root).

- useradd: cho phép bạn thêm người dùng mới (xem man useradd).

Dù ở phân phối nào, bạn cũng có thể dùng phím TAB để tự động hoàn chỉnh một lệnh hoặc tên file. Điều này rất hữu ích khi bạn quen với các lệnh. Bạn cũng có thể sử dụng các phím lên, xuống để cuộn xem các lệnh đã nhập. Bạn có thể dùng lệnh đa dòng trên một dòng. Ví dụ như, nếu muốn tạo ba thư mục chỉ trên một dòng, cú pháp có thể là: mkdir thư_mục_1 ; mkdir thư_mục_2 ; mkdir thư_mục_3.

Một điều thú vị khác nữa là các lệnh dạng pipe. Bạn có thể xuất một lệnh thông qua lệnh khác. Ví dụ: man mkdir | tail sẽ đưa ra thông tin các dòng cuối cùng trong trang xem "thủ công" của lệnh mkdir.

Nếu lúc nào đó được yêu cầu phải đăng nhập với tài khoản gốc (tức "siêu" admin của hệ thống), bạn có thể đăng nhập tạm thời bằng cách dùng lệnh su. Tham số -1 (su-1) dùng để thay đổi thư mục chủ và cho các lệnh đã hoặc đang dùng. Chú ý là bạn cũng sẽ được nhắc một mật khẩu.

Để thoát hay đóng shell, gõ exit hoặc logout.

by Tutorial