delphi 开发者 linux 实务(转)
Linux Essentials for Delphi Developers
There is currently no way using Delphi to target Linux. Long ago there was a thing called Kylix that worked on one version of RedHat Linux, barely, back in the 1990s. But in the Community road-map, targeting a fall release, there might be a way to target Linux Servers. Here's hoping. If that happens, or even if that's delayed a bit, now is a fantastic time to hone your Linux skills. I'm not going to tutor you. You can google probably almost as well as I can. But I am going to outline a plan of attack for a competent Windows developer to learn the essentials of Unix systems, with a focus on Linux. I recommend this plan be carried out on a virtual machine inside your main windows PC. You can NOT learn everything there is to know about Linux just by using the Windows Subsystem for Linux. There's no linux kernel, no linux networking stack, no desktop environment in the WSL. Learn on an Ubuntu VM.
My belief is that Linux matters on the Server because:
- It is currently the right way to deploy for the web in 2016.
- It is the right technology for cluster scale technologies.
- It is currently the right way to build systems that are easily
administered remotely, whether in the cloud, or at remote sites, or in
large numbers. - It is a lighter weight technology and currently has mature support
for containers, big data technologies, and about 1000 other things in
that vein. - It has a better way of upgrading, without requiring as many reboots.
- It has a mature set of binary dependency management (package installer tools), container and orchestration tools.
- You can install, upgrade, troubleshoot and maintain both client and
server Linux systems. You know the 50 most common command line tools
and their everyday uses. You can log in, change your password, obtain
root access, check what groups a userid belongs to, install and remove,
and upgrade packages. - You have installed and learned several different distributions. The entire concept of distributions
deserves some study by a person who wants to know what Linux is. You
know not only how to use apt-get (on debian and ubuntu) but several
alternatives such as those on RedHat/Centos and others. You know
roughly what changes from one major family of related distributions to
another. I recommend Ubuntu to every beginner, and Debian to every
intermediate and advanced user. In some corporate environments, you may
find that RedHat Enterprise Linux (RHEL) or its open-source variants
CentOS and or Fedora are preferred. I recommend you learn Ubuntu
first, and learn a RedHat variant later. - You know how the Linux boot process works, from BIOS or EFI to the
boot loader, to the kernel startup, to the init sequence, and service
startups, and you know what runlevels are, and what systemd is, and what
/etc/init.d. You appreciate that unlike Windows, when a system refuses
to boot, it's not that hard to repair it. - You are comfortable in the Unix style shells, such as bash, csh, and
tcsh. You can write shell scripts and read and repair shell scripts. - You are familiar with the basics of C development in Linux,
including the use of GCC and CLANG, build tools, and associated parts.
You can download something.tar.gz and unpack it, read the instructions
and build it from source. When it breaks you can read the output and
figure out what's wrong, and if googling the error doesn't help, you can
dig in and fix it yourself. You know what static and shared
libraries are, and you can find and install dependencies (libraries,
tools) that some package needs to build. - You are comfortable with rebuilding the Linux kernel from source
code, you know what kernel modules are and what lsmod and modprobe do,
and you know how to reconfigure a kernel, turning options on and off.
You know how to upgrade or add an additional kernel to your system's
boot loader. This is actually really fun. You may find that having a
system you can completely and utterly modify to suit your own needs and
requirements becomes a bit of a giddy experience. I know that I feel
like I'm actually in control of my computer when I run on Linux. On
Windows 10, I feel like my machine belongs to Microsoft, and they just
let me use it sometimes, when it's not busy doing something for the boys
in Redmond. That being said, I really like Windows 10, and I still
primarily enjoy developing for Windows systems. But knowing both Linux
and Windows is a very useful thing to me. - You have a decent understanding of system administration core
concepts, including the wide set of tools that will be on almost every
unix system you use. You can find files using several techniques. You
can list processes. You can monitor systems. You know how to
troubleshoot networking issues from the command line. - You will know you've gotten in deep, when you have taken a side on
the vi versus emacs debate, and become extremely proficient in the use
of one or the other. (Hint: The correct choice here is vi. Die emacs
heretics, die die die.)
- You will need at least 20 gigs of free space.
- Download the latest Ubuntu 15.xx as an .ISO file.
- Install Ubuntu into a virtual machine. I recommend Client Hyper-V on Windows 10
which is included in Windows 10, or if you're still using that ancient
Windows 7 thingy, then download VirtualBox, which is free. If your
Linux install worked perfectly, the client integration piece that makes
working with a mouse within a virtual operating system will work
perfectly. If the client integration piece didn't work, make sure to
learn how to manually "free" your mouse pointer from the VM if it
becomes locked inside it and you can't figure out how to release it. - Play with virtual consoles
(Ctrl+Alt+F1 through F8). Learn what they are. Watch some tutorials on
basic Linux stuff like logging in. Learn a bit about bash shell.
Learn about the structure of unix filesystems, learn the basics of unix
file permissions and ownership.
- Learn about commands like ls, find, locate, grep, ps, pswd, more, less, wget, ssh, ping. chmod, chown, and others. Use the man command to learn about them (man grep).
- Learn to install and start up Apache web server. Learn a bit about configuring it. Examine the configuration files in the /etc/apache2 folder
- Browse from your host (Windows) PC web browser to the IP address of your Virtual Machine. Use /sbin/ifconfig eth0 command to display your current IP address from a terminal prompt.
- Learn to start and stop the X Server. When the X server is stopped,
you have a text mode only operating system, which is ideal for server
deployment. When it's running you have an opportunity to try some of the
available IDEs that run on Linux. - Optional: Learn some Python and learn to write simple web
server applications with Python. (I do not recommend bothering to learn
PHP, if you don't like Python then look into Ruby and Go as server side
languages.) - Optional: Learn the fundamentals of compiling some small
applications from source. Write some small command line applications in
C, since that's going to give you a bit of a flavor for the classic Unix
environment. C programming on Unix is easily the single most
important skill I have on Linux. If you can get over your preference
for begin/end and learn to work on Unix in C when it's useful to do so,
you become a much more well rounded developer. - Optional: Install some open source Pascal compiler. Don't
expect things to be exactly like Delphi, because they aren't but you
might enjoy messing around with FreePascal (compiler), or Lazarus (IDE).
Come to the dark side. We have fortune cookies...
delphi 开发者 linux 实务(转)的更多相关文章
- 对于delphi for linux心存梦想的同学,彻底醒醒吧
Borland 曾经多次做市场调查,很多人呼吁推出delphi for linux.可是直到kylix发展到第三版,borland才明白:一个内置C编译器环境并与之关系紧密的免费OS,没有人愿意花钱去 ...
- DELPHI开发LINUX桌面程序
DELPHI开发LINUX桌面程序 DELPHI官方目前为止尚不能开发LINUX桌面程序. 但三方控件FmxLinux(商业控件)是可以的.网上有破解版本.
- Delphi For Linux Compiler
Embarcadero is about to release a new Delphi compiler for the Linux platform. Here are some of the k ...
- DELPHI开发LINUX插件架构的程序
DELPHI开发LINUX插件架构的程序 DELPHI可以开发LINUX配置型插件架构的程序,并且这一套插件架构,同样适用于MSWINDOWS和MAC. 配置插件: 根据配置,动态加载插件:
- DELPHI开发LINUX包
DELPHI开发LINUX包 我们知道,有了包的存在,开发插件架构的程序,才成为可能 . DELPHI在WINDOWS里面的包的扩展名是.bpl. 在LINUX里面的包的扩展名是.so. 怎样在LIN ...
- DELPHI开发LINUX的动态库
DELPHI开发LINUX的动态库 WINDOWS的动态库是.dll,这个大家都知道. LINUX也有动态库,扩展名是.so,现在DELPHI也能开发LINUX的动态库哦. DELPHI对LINUX的 ...
- 使用Delphi开发linux应用
对于很多喜欢使用delphi做开发的人都希望delphi能够支持linux平台的开发,终于在delphi10.2版本中,delphi开始支持linux平台的开发了.在这里写一下Linux开发环境的配置 ...
- 在RedHat 和 Ubuntu 中配置 Delphi 的Linux开发环境(转)
原文地址:http://chapmanworld.com/2016/12/29/configure-delphi-and-redhat-or-ubuntu-for-linux-development/ ...
- 咏南 DELPHI DATASNAP LINUX中间件
咏南 DATASNAP LINUX中间件 咏南 DATASNAP LINUX中间件,一套源码,同时支持WINDOWS和LINUX操作系统. 基于DELPHI 10.2 TOKYO开发 使用FIRE ...
随机推荐
- docker网络配置方法总结
docker启动时,会在宿主主机上创建一个名为docker0的虚拟网络接口,默认选择172.17.42.1/16,一个16位的子网掩码给容器提供了65534个IP地址.docker0只是一个在绑定到这 ...
- MySQL服务 - MySQL列类型、SQL模式、数据字典
MySQL列类型的作用: 列类型可以简单理解为用来对用户往列种存储数据时做某种范围"限定",它可以定义数据的有效值(字符.数字等).所能占据的最大存储空间.字符长度(定长或变长). ...
- mysql新建表示,时间字段timetamp碰到的问题
在mysql中创建表时,在新加的字段时间上,碰到下面的问题: 建表语句如下: CREATE TABLE seckill( seckill_id bigint NOT NULL AUTO_INCREME ...
- oracle like模糊查询
简单的方式,使用"%" 和 "_" 字符匹配操作可以使用通配符 "%" 和 "_": %:表示任意个字符,包括零个: _ ...
- Supervisor 安装
在linux或者unix操作系统中,守护进程(Daemon)是一种运行在后台的特殊进程,它独立于控制终端并且周期性的执行某种任务或等待处理某些发生的事件.由于在linux中,每个系统与用户进行交流的界 ...
- /etc/profile、/etc/bashrc、~/.bash_profile、~/.bashrc
/etc/profile./etc/bashrc.~/.bash_profile.~/.bashrc很容易混淆,他们之间有什么区别?它们的作用到底是什么?/etc/profile: 用来设置系统环境参 ...
- java如何区分是form表单请求,还是ajax请求
requestType = request.getHeader("X-Requested-With"); if(requestType==null) ...
- PHP基础知识2
1.运算符 1.运算符简单来说就是用来连接各个常量.变量以及函数和其他表达式参与运算的符号! 2.运算符的优先级 2.流程控制 1.流程控制,就是指程序执行的"路线",一般是用相关 ...
- HTML5服务器推送消息的各种解决办法
摘要 在各种BS架构的应用程序中,往往都希望服务端能够主动地向客户端推送各种消息,以达到类似于邮件.消息.待办事项等通知. 往BS架构本身存在的问题就是,服务器一直采用的是一问一答的机制.这就意味着如 ...
- 大规模IP地址黑名单高性能查询实现
嗯……前阵子接了个活儿,需要做一个基于IP地址黑名单的分流网关.刚接到的时候心想iptables不就行了么,没想到一看客户给的IP黑名单规模……我擦……上亿个…… 黑名单到了这个规模,就不得不考虑下优 ...