History of Linux • The Role and Function of Linux • The Historical Development of Linux • Linux Distributions • Common Linux Roles
The Role and Function of Linux • Application Platform • Hardware Moderator • Data Storage • Security • Connectivity
The Role and Function of Linux.. • Application Platform: An operating system provides applications with a platform where they can run, managing their access to the CPU and system memory. • Hardware Moderator: The operating system also serves as a mediator between running applications and the system hardware. Most applications are not written to directly address a computer’s hardware.
The Role and Function of Linux.. • Security: The operating system is responsible for providing a degree of security for the data it hosts. • Connectivity: The operating system manages connectivity between computer systems using a variety of network media and interfaces, including infrared, Ethernet, and wireless.
The Historical Development of Linux • In the early 1990s, Torvalds became interested in a freeware product called Minix were written by Andrew S. Tanenbaum. Developed by Andrew S.Tanenbaum, Minix was a clone of the commercial UNIX operating system. • Linux version 0.02, released on October 5, 1991, consisted of only the Linux kernel and three utilities: ■ bash : a command-line interface ■ update : a utility for flushing file system buffers ■ gcc : a C++ compiler
In 1991, Linus Benedict Torvalds was a second year student of Computer Science at the University of Helsinki and a self-taught hacker.
What is GNU? • GNU Project: Richard Stallman on September 27th 1983. • The GNU Project was launched in 1984 to develop a complete Unix-like operating system which is free software: the GNU system. • GNU's kernel isn't finished, so GNU is used with the kernel Linux. The combination of GNU and Linux is the GNU/Linux operating system, now used by millions. • www.gnu.org
Nội dung chính của GNU - GPL • Tác giả vẫn giữ bản quyền đối với với phần mềm gốc. • Người sử dụng có thể sao chép và phân phối chương trình dưới bất cứ hình thức nào và giá cả tùy ý. • Người sử dụng có thể thay đổi một phần của chương trình và phân phối thay đổi của mình cùng toàn bộ phần mềm cho người khác, với điều kiện nói rõ phần mình thay đổi. • Nếu những thay đổi không thể tách rời toàn bộ phần mềm thì GNU GPL sẽ mở rộng sang những thay đổi đó. • Người sử dụng không được thông báo bản quyền. • Phải đảm bảo cung cấp mã nguồn khi bán một sản phẩm theo GNU GPL để người khác có thể sử dụng và/hoặc bán tiếp. Người dùng kế tiếp có đầy đủ quyền lợi như của người trước.
Linux Distributions • Today there are hundreds of different distributions available popular Linux distributions include ■ SUSE Linux ■ TurboLinux ■ Fedora Linux ■ Mandrake Linux ■ Red Hat Enterprise Linux ■ Lycoris Linux ■ Debian Linux ■ CentOS ■ Linspire ■ ALT Linux ■ Gentoo Linux ■ Ubuntu ■Slackware Linux
Distributions.. • Software Packages • Installer • Re-configure • Update/Patch • Commercial Software • User Guide
A great table providing an overview and comparison of most Linux distributions is available at http://en.wikipedia.org/wiki/Comparison_of_Linux_distributions
Roles of Linux • Desktop • Server • Firewall
Linux on the Desktop • First, there has been a historical lack of desktop productivity applications available for Linux. • The second issue is that the average user tends to find Linux somewhat intimidating.
Linux as a Server ■ File Server Using the Network File System (NFS) or Samba service, Linux can be configured to provide network storage of users’ files. ■ Print Server Using the Common UNIX Printing System (CUPS) and Samba services together, Linux can be configured to provide shared printing for network users. ■ Database Server Linux works great as a database server. There are a variety of database services available for Linux servers, including MySQL and PostgreSQL.
Linux as a Server.. ■ Web Server Linux is also widely deployed as a Web server. The most popular Web service currently used on Linux is the Apache Web server. ■ E-Mail Server There are a variety of different e-mail services available for Linux that can turn your system into an enterprise-class e-mail server.
Linux as a Server.. • Linux is extremely stable. Simply put, a Linux server rarely crashes. It just keeps running and running.Fast • Linux servers are very fast. Many benchmark tests have been run pitting Linux servers against other server operating systems. • Linux servers are much less expensive. Most other server operating systems charge expensive per-seat licensing fees, making them very expensive to deploy in large networks.
Components of Linux • The Linux Kernel • Libraries • Utilities • User Interface
Linux Command-Line Interface ■ Linux shells: A shell is a command interpreter that allows you to type commands from the keyboard to interact with the operating system kernel. ■ sh (Bourne Shell) The sh shell was the earliest shell, being developed for UNIX back in the late 1970s. ■ bash (Bourne-Again Shell) The bash shell is an improved version of the sh shell and is one of the most popular shells today. It’s the default shell used by most Linux distributions. ■ csh (C Shell) The csh shell was originally developed for BSD UNIX. It uses a syntax that is very similar to C programming. ■ tsch The tsch shell is an improved version of the C Shell. It is the default shell used on FreeBSD systems. ■ zsh (Z Shell) The Z Shell is an improved version of the bash shell.
Linux Command-Line Interface • Libraries are pre-written code “pieces” that application programmers use in their programs. • Utilities maintaining the file system, editing text files, managing running processes, and installing new software packages. • User Interface command-line interface (CLI) and a graphical user interface (GUI).
Commonly Used CLI Commands and Utilities / : denote root directory ./ : denote current directory PATH : ■ halt This command shuts down the operating system, but can only be run by the root user. ■ reboot This command shuts down and restarts the operating system. It also can only be run by root.
Commonly Used CLI Commands ■ init 0 This command also shuts down the operating system, and can only be run by your root user. ■ init 6 This command also shuts down and restarts the operating system. It also can only be run by root. ■ man: is help command. Ex: man ls
Commands… ■ su (switch user) This command switches the current user to a new user account. This command is most frequently used to switch to the superuser root account. In fact, if you don’t supply a username, this utility assumes that you want to change to the root account. If you enter su -, then you will switch to the root user account and have all of root’s environment variables applied.
Commands… ■ env This command displays the environment variables for the currently logged-in user. ■ echo This command is used to echo a line of text on the screen. It’s frequently used to display environment variables. Ex: echo $PATH
Commands… ■ top This command is a very useful command that displays a list of all applications and processes currently running on the system. ■ which This command is used to display the full path to a shell command or utility. Ex: which ls It display: /bin/ls
Commands… ■ whoami This command displays the username of the currently logged-in user. ■ netstat This command displays the status of the network, including current connections, routing tables, etc. ■ route This command is used to view or manipulate the system’s routing table. ■ ifconfig This command is used to manage network boards installed in the system. It can be used to display or modify your network board configuration parameters.
Linux Graphical User Interface • XFree86 project developed a free windows system that provides a GUI on the Linux operating system. Using X Windows along with a window manager and a desktop environment (such as GNOME or KDE), users can interact with the Linux kernel using a mouse instead of the keyboard.
Phần mã nguồn mở (free and open software) • GNU • Linux • Đặc trưng • GNU/Linux • các bản phân phối (distributions) • Các thành phần trong Linux OS