26.8.11

Cài đặt phần mềm trên linux dùng YUMyum


https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhpPc-gwrQpGdxiB7q8jfwdqD0CEMnBm7q8jI66dbmcVrsISLS4clmc0EzTuDkOR5HJR6F8lotP6ialooF5jKKMXL0fAKiaKE0mphSKPXgx_uxvZTjep7XJm-YbKdlreTp2CBst-_3jNy8/s1600/FEDORA_4af2169d75d00.jpg
YUM là một lệnh thường dùng trong Centos để cài đặt, gỡ bỏ, update....các phần mềm. Đây là một lệnh rất hữu ích và tiện dụng!

Hôm nay mình sẽ liệt-+ kê một số option cơ bản của lệnh yum này nhé!

Tìm một phần mềm nào đó:

#yum search package-name
VD: #yum search java

Liệt kê tất cả các gói phần mềm đã được cài đặt trên máy:
# rpm -qa
# yum list installed


Hiển thị danh sách các gói phần mềm đã có bản update:
# yum list updates

Thực hiện nâng cấp tất cả các gói phần mềm:
# yum update

Liệt kê các gói phần mềm với bộ lọc: (vd: samba)
# rpm -qa | grep samba*
# yum list installed samba


Kiểm tra xem một gói phần mềm cụ thể đã có bản update mới chưa:
# yum update package-name

VD: # yum update samba

Tìm kiếm một gói phần mềm lọc theo tên:
# yum list package-name
# yum list regex


VD: samba, có thể dùng dấu * để thay thế cho các kí tự chưa xác định
# yum list samba
# yum list java*


Cài đặt gói phần mềm cụ thể:
# yum install package-name-1 package-name-2
# yum install samba vnc-viewer


Gỡ bỏ gói phần mềm cụ thể:
# yum remove package-name-1 package-name-2
# yum remove samba vnc-viewer


Hiển thị danh sách các gói đang kích hoạt:
# yum list all

Hiển thị các gói phần mềm theo nhóm:
# yum grouplist

Cài đặt tất cả các gói phần mềm có trong nhóm:
# yum groupinstall "Development Tools"

Update tất cả các gói phần mềm có trong nhóm:
# yum groupupdate "Development Tools"

Gỡ bỏ tất cả các gói phần mềm có trong nhóm:
# yum groupremove "Development Tools"


Hiển thị các gói phần mềm ko thể cài đặt:
# yum list extras

Hiển thị thông tin về gói phần mềm của một file cụ thể:
# yum whatprovides /etc/passwd

Xem trợ giúp thêm về lệnh Yum:
# man yum

 
Nguồn: Internet

Các cách Install một phần mềm tren linux

http://files.cyberciti.biz/cbzcache/3rdparty/fedora-logo.png
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 .v.v...
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à hòan tất việc cài đặt, nhưng trên Linux đó là một chuyện hòan tòan 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 .v.v...

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 .v.v.. 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 .v.v... 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ở Smiling 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 .v.v... 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:
Code:
# tar -zxvf tengoi.gz

- Đối với gói .bz2:
Code:
# 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:

Code:
# ./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,
Code:
./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..v.v... 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ì tòan 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 hòan tòan 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. Lọai 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
Code:
'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
Code:
'make clean'

cái cuối cùng
Code:
'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:
Code:
./configure --prefix=/soft/gedit

thì khi bạn gõ
Code:
make install

sẽ copy tòan bộ sang thư mục /soft/gedit .. Khi bạn muốn xóa tòan 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_PATH và PKG_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 và /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>Instal bằng rpm
Có thể thì hầu hết các gói rpm qua site : rpmseek.com , findrpm.com or google.com.com
Cơ bản về rpm
--version:hiện thị ver đang sử dụng
--quiet:hiện thị lỗi khi installl
-v:hiện thị quá trình install
i|--install: install 1 patket :
ex :#rpm -ivh x-unikey-0.9.2-1.i586.rpm
-e :uninstall
ex:#rpm -e x-unikey
rpm -Uvh :nâng cấp
#rpm -Uvh x-unikey-0.9.2-1.i586.rpm
Nói chung việc install bằng rpm đơn giản hơn so với tư mã nguồn rất nhiều


c>Install online bằng cách sử dụng yum (fc)
download gói freshrpms-release-1.1-1.fc.noarch.rpm tại ftp.freshrpms.net/pub/freshrpms/fedora/l...-1.1-1.fc.noarch.rpm Download: freshrpms.net/packages/RPM-GPG-KEY.txtapt.sw.be/dries/RPM-GPG-KEY.dries.txt
vào thư mục /home/yourname/key
install
Trích:
#rpm -ivh freshrpms-release-1.1-1.fc.noarch.rpm
Mở một trình soạn thảo văn bạn ưa thích của bạn (nhớ mở với account root)
+ Tạo file macromedia.repo lưu vào thư mục /etc/yum.repos.d/ với nội dung:
Trích:
[macromedia]
name=Macromedia for i386 Linux
baseurl=macromedia.rediris.es/rpm/
enabled=1
gpgcheck=1
gpgkey=macromedia.mplug.org/FEDORA-GPG-KEY
Tạo file dries.repo lưu vào thư mục /etc/yum.repos.d/ với nội dung:
Code:
[dries]
name=Extra Fedora rpms dries - $releasever - $basearch
baseurl=ftp.belnet.be/packages/dries.ulyssis.org/fedora/linux/$releasever/$basearch/dries/RPMS/
enabled=1
gpgcheck=1

Bước 3:
Gõ lệnh sau với account root để import GPG key cho freshrpms và dries repository.
Code:
cd /home/yourname/key
rmp --import *.txt

Vậy là từ nay bạn có thể cài đặt các phần mềm cho hệ thống của mình dễ dàng hơn khi online, trình yum sẽ tự động detect ra các dependecies của phần mềm.

hai chức năng cơ bản của yum:
Code:
yum -y install application
yum -y update application

nếu bạn muốn update cho hệ thống gõ lệnh:
Code:
yum -y update

để hiểu rõ về cách dùng yum bạn xem them manual của nó:
Code:
man yum

Nguồn: Internet

25.8.11

Tạo file spec cho các gói RPM

http://jeudisdulibre.be/wp-content/uploads/2011/01/rpm-package-fedora1.png

1. Cấu trúc Spec File

Các file RPM (gói phần mềm) được sử dụng rất nhiều trong nhiều distro Linux: Redhat, Fedora, Turbo Linux... Cấu trúc RPM do Redhat phát triển. Để tạo ra các file RPM chúng ta dùng lệnh rpmbuild với tham số là file spec.
File spec là file text bao gồm sáu phần chính: header (đầu mục), %prep, %build, %install, %clean, %files, %changelog, các mục này chỉ có một và theo trình tư như đã liệt kê, trong mỗi mục đó có thể có một số macro (lưu ý là các macro cũng có dấu % ở trước). Trong các mục này có thể thực hiện các lệnh shell (sh), nhưng không cần có #!/bin/sh.
Các macro có thể xuất hiện nhiều lần trong một mục.
File Spec được sử dụng để tạo các gói rpm. Tên file chúng ta nên đặt theo quy ước chuẩn: têngói-gạchngang-sốhiệuphiênbản-sốhiệupháthành-chấm-spec.
Đây là một ví dụ (eject-2.0.2-1.spec):

Summary: A program that ejects removable media using software control.
Name: eject
Version: 2.0.2
Release: 3
Copyright: GPL
Group: System Environment/Base
Source: http://metalab.unc.edu/pub/Linux/utils/disk-management/eject-2.0.2.tar.gz
Patch: eject-2.0.2-buildroot.patch
BuildRoot: /var/tmp/%{name}-buildroot

%description
The eject program allows the user to eject removable media
(typically CD-ROMs, floppy disks or Iomega Jaz or Zip disks)
using software control. Eject can also control some multi-
disk CD changers and even some devices' auto-eject features.

Install eject if you'd like to eject removable media using
software control.

%prep
%setup -q
%patch -p1 -b .buildroot

%build
make RPM_OPT_FLAGS="$RPM_OPT_FLAGS"

%install
rm -rf $RPM_BUILD_ROOT
mkdir -p $RPM_BUILD_ROOT/usr/bin
mkdir -p $RPM_BUILD_ROOT/usr/man/man1

install -s -m 755 eject $RPM_BUILD_ROOT/usr/bin/eject
install -m 644 eject.1 $RPM_BUILD_ROOT/usr/man/man1/eject.1

%clean
rm -rf $RPM_BUILD_ROOT

%files
%defattr(-,root,root)
%doc README TODO COPYING ChangeLog

/usr/bin/eject
/usr/man/man1/eject.1

%changelog
* Sun Mar 21 1999 Cristian Gafton 
- auto rebuild in the new build environment (release 3)

* Wed Feb 24 1999 Preston Brown 
- Injected new description and group.

[ Some changelog entries trimmed for brevity.  -Editor. ]

2. Tiêu đề (The Header)

Tiêu đề bao gồm một số mục sau:
  • Summary: Một dòng mô tả về sản phẩm.
  • Name: tên gói mà bạn sẽ sử dụng.
  • Version: chuỗi số phiên bản.
  • Release: chuỗi phát hành.
  • Copyright: Bản quyền.
  • Source: Là thư mục chứa mã nguồn hoặc nơi chứa mã nguồn. Bạn cũng có thể mô tả nhiều nơi chứa mã nguồn như sau::
    Source0: blah-0.tar.gz
    Source1: blah-1.tar.gz
    Source2: fooblah.tar.gz

  • Patch: nơi mô tả các gói patch, các goi snày phải có tên file chính xác sẽ được sử dụng sau này trong quá trình patch:
    Patch0: blah-0.patch
    Patch1: blah-1.patch
    Patch2: fooblah.patch
    Các file này phải nằm trong thư mục mã nguồn (SOURCES directory).
  • Group: Là nhóm mà gói phần mềm thuộc trong đó, có thể là mức cao nhất trong bộ gói cài đặt của Red Hat (Red Hat's gnorpm). Bạn cũng có thể tìm thấy một số thông tin ở /usr/doc/rpm*/GROUPS. Ví dụ về cây của các nhóm gói phần mềm:
    Amusements/Games
    Amusements/Graphics
    Applications/Archiving
    Applications/Communications
    Applications/Internet
    Applications/Multimedia
    Applications/Publishing
    Applications/System
    Development/System
    Development/Tools
    Documentation
    System Environment/Base
    System Environment/Shells
    User Interface/Desktops
    User Interface/X
    User Interface/X Hardware Support
  • BuildRoot: Dòng này quy định thư mục "gốc" cho mã nguồn để biên dịch và cài đặt.
  • %description mô tả về phần mềm, có thể được viết ở dạng nhiều dòng.

3. Prep

Đây là phần chuẩn bị để biên dịch, bao gồm giải nén, vá chuẩn bị để chạy chương trình make.
Bạn có thể tạo ra file shell để làm các công tác chuẩn bị, tuy nhiên rpm có sẵn một số macro để làm đơn giản quá trình đó.Macros đầu tiên là %setup . nếu không có tham số thì nó đơn giản là giải nén mã nguồn và chuyển (cd) đến thư mục chứa mã nguồn. %setup có một số tham số sau:
  • -n name Quy định tên thư mục mã nguồn biên dịch khác với mặc định với tên là name. Mặc định là $NAME-$VERSION. Hoặc có thể là $NAME, ${NAME}${VERSION}, hoặc bất kỳ thế nào do tar file sử dụng. (Chú ý rằng dấu "$" ở đây không hẳn là biến thực trong file spec. Bạn phải dùng tên và version thật.
  • -c tạo và chuyển thư mục đến thư mục trước khi giải nén (untar).
  • -b sẽ giải nén mã nguồn thứ #n trước khi chuyển thư mục tới thư mục mã nguồn. Tham số này có ích nếu có nhiều file mã nguồn.
  • -a sẽ giải nén mã nguồn thứ #n sau khi chuyển tới thư mục mã nguồn.
  • -T Tham số này sẽ không giải nén và yêu cầu các tham số -b 0 hoặc -a 0 để có mã nguồn giải nén.
  • -D không xoá thư mục trước khi giải nén. Thường được dùng khi có nhiều %setup, để tránh xoá phần giải nén ở %setup trước, tuy nhiên thường không dùng nếu chỉ có 1 %setup.
Macro tiếp theo là %patch. Phần này sẽ tự động vá (patch mã nguồn), có một số tham s
  • sẽ thực hiện patch#n như là các patch file.
  • -p chỉ ra số thư mục sẽ thực hiện patch(n) command.
  • -P Mặc định sẽ thực hiện Patch (hay Patch0). This flag inhibits the default action and will require a 0 to get the main source file untarred. This option is useful in a second (or later) %patch macro that required a different number than the first macro.
  • Bạn có thể thực hiện %patch thay cho thực hiện lệnh thực tế: %patch #n -P
  • -b extension sẽ lưu lại các file gốc với phần mở rộng là filename.extension trước khi thực hiện vá (patching).
Ngoài các macro này ra bạn cũng có thể thực hiện bất kỳ lệnh nào dạng shell (sh) cho đến mục %build.

4. Build

Bạn có thể liệt kê các lệnh ở đây để biên dịch mã nguồn sau khi đã giải nén và chuyển thư mục hiện thời tơi sthư mục mã nguồn.
Biến RPM_OPT_FLAGS được thiết lập với các giá trị trong /usr/lib/rpm/rpmrc. Hãy kiểm tra với các giá trị thích hợp. Hoặc có thể không cần sử dụng trong file spec.

5. Install

Ở đây không có macro nhưng bạn có thể thực hiện bất kỳ lệnh nào dạng shell để cài đặt, thường bạn dùng lệnh make install để thực hiện phần cài đặt.Bạn lưu ý rằng thư mục hiện thời phải là thư mục mã nguồn.
Biến RPM_BUILD_ROOT cũng được sử dụng để quy định về thưc mục trong phần tiêu đề Buildroot.

6. Dọn dẹp (clean)

Thông thường trước khi buil, tạo gói bạn nên xoá bỏ các file xuất hiện trong quá trình biên dịch, và macro %clean sẽ giúp bạn thực hiện điều đó.

7. Một số scripts dành cho trước và sau khi cài đặt

Bạn có thể thực hiện một số scripts trước và sau khi cài đặt hoặc gỡ bỏ (installation and uninstallation) của các gói nhị phân (binary). Mục đích chính là có thể chạy ldconfig sau khi cài đặt hoặc gỡ bỏ các gói dùng các thư viện chi sẻ (shared libraries). Bao gồm các macro sau::
  • %pre là macro thực hiện trước khi cài đặt (pre-install scripts).
  • %post là macro thực hiện sau khi cài đặt (post-install scripts).
  • %preun là macro thực hiện trước khi gỡ bỏ (pre-uninstall scripts).
  • %postun là macro thực hiện sau khi gỡ bỏ (post-uninstall scripts).
Nội dung các macro này là các lệnh shell (sh) nhưng không cần dòng #!/bin/sh ở đầu.

8. Files

Mục này liệt kê các danh sách file và thư mục cho gói nhị phân. Thường danh sách này bạn có thể xem ở trong phần make install.
Ở đây cũng có một số macro để phục vụ cho một số mục đích nào đó:
  • %doc chỉ ra các file tài liệu (doc) sẽ được đóng gói trong file nhị phân. Tài liệu sẽ được cài trong thư mục /usr/doc/$NAME-$VERSION-$RELEASE. Bạn có thể liệt kê nhiều tài liệu sau phần macro này, hay có thể liệt kê từng tài liệu sau từng macro này.
  • %config đánh dấu rằng đây là các file config. Bao gồm cả các file như sendmail.cf, passwd, etc. Sau này dù các file config có thay đổi thì nó cũng vẫn được remove.
  • %dir chỉ ra rằng chỉ có riêng thư mục được liệt kê ở đây như là thành phần của gói. Bình thường nếi liệt kê thư mục không có macro %dir, thì tất cả những gì có trong thư mục đó sẽ được cho vào gói.
  • %defattr cho phép bạn đặt thuộc tính mặc định cho các file được liệt kê ở dưới. Thuộc tính được mô tả theo dạng (mode, owner, group) , mode là số cơ số 8 mô tả bit pattern (giống như trong lệnh chmod), owner là username , group là tên group mà bạn có thể gán được. Bạn cũng có thể đặt ở một trường nào đấy dấu '-' nếu sử dụng mặc định.
  • %files -f cho phép bạn liệt kê các file trong một file nào đó của bạn trong thư mục mã nguồn. Chức năng này thường được sử dụng khi gói có file liệt kê danh sách riêng, trong trường hợp đó bạn không phải liệt kê tất cả các file ở đây mà chỉ cần chèn file chứa danh scáh file là được.
Ghi chú: nếu bạn chẳng may liệt kê /usr/bin thì gói nhị phân sẽ bao gồm tất cả các file có trong thư mục này.

9. Changelog

log ghi lại những cập nhật và thay đổi của gói, mỗi khi thay đổi RPM bạn nên ghi lại những thay đổi ở đây.
Định dạng khá là đơn giản, mỗi mục bắt đầu bằng một dòng có dấu '*' sau đó là ngày tháng, tên người cập nhật, địa chỉ email, theo định dạng sau:
 date +"%a %b %d %Y"
Phần còn lại là text theo một trình tự nhất định nào đó, thường là các dòng có gạch đầu dòng ở đầu.


Nguồn: Internet

Biến CD/DVD/ISO thành kho chứa yum trên Fedora/RHEL/CentOS

http://manthang.files.wordpress.com/2010/11/yum-local-repo.jpg
Mặc định, yum sẽ chỉ tìm kiếm và tải về các gói nằm trong các kho chứa (repository) là các server trên Internet. Vì vậy, việc cài đặt phần mềm với yum yêu cầu bạn cần phải có kết nối Internet tốc độ cao để việc tải gói về được nhanh chóng.
Nhưng, chỉ với CDs/DVD/ISO image có sẵn chứa bộ cài Fedora/RHEL/CentOS và làm theo hướng dẫn trong bài viết này là bạn hoàn toàn có thể cài đặt phần mềm với yum sử dụng CDs/DVD/ISO làm kho chứa.
Giới thiệu
  • yum là một công cụ quản lý các gói phần mềm trên các phiên bản Linux như Red Hat, CentOS, Fedora…
  • yum giúp việc truy vấn thông tin, tải về, cài đặt, cập nhật, gỡ bỏ, giải quyết gói phụ thuộc (dependency)… các gói trở nên đơn giản và an toàn hơn.
Chú thích về dependency:
Giả dụ bạn đang cần cài gói A. Gói A này yêu cầu trên máy phải cài đặt sẵn 2 gói B, C. Nếu máy chưa có 2 gói B, C này thì khi cài đặt gói A bạn sẽ nhận được thông báo lỗi và việc cài đặt gói A thất bại. Trong trường hợp này, B và C được gọi là dependency của A.
Điểm mạnh của yum so với chương trình rpm là: yum sẽ tự động kiểm tra và nhận biết được các dependency nào cần thiết dành cho chương trình mà bạn đang muốn cài.
Cách làm
1. Mount CDs/DVD/ISO image
* Đối với DVD
# mkdir /mnt/dvd/
# mount /dev/cdrom /mnt/dvd/
* Đối với file ISO (giả sử tên file là centos-5.5.iso)
# mkdir /mnt/dvd/
# mount -o loop /root/ centos-5.5.iso /mnt/dvd
* Đối với bộ cài bao gồm nhiều CD
# mkdir -p /mnt/{1,2,3,4,5}
# mount -o loop centos-5.5-disc1.iso /mnt/1
# mount -o loop centos-5.5-disc2.iso /mnt/2
# mount -o loop centos-5.5-disc3.iso /mnt/3
# mount -o loop centos-5.5-disc4.iso /mnt/4
# mount -o loop centos-5.5-disc5.iso /mnt/5
 
2. Cài đặt gói cần thiết
Công cụ createrepo giúp tạo thông tin dạng  metadata về các gói rpm. Trong bộ cài RHEL/CentOS/Fedora đã có sẵn gói createrepo này, để cài đặt nó bạn sử dụng lệnh sau:
# rpm –ivh <đường dẫn tới thư mục chứa gói này>/createrepo*.rpm
3. Tạo metadata
# createrepo /mnt/
Thời gian khởi tạo tùy thuộc vào số lượng gói có trong kho.
4. Định nghĩa cho kho chứa mới
Bạn tạo file text /etc/yum.repos.d/local.repo có cấu trúc như sau:
[Chuỗi-Tùy-Ý]
name=Tên-Tùy-Ý
baseurl=file:///mnt/
enabled=1
gpgcheck=0
Giải thích
Dòng 3: đường dẫn tới thư mục chứa bộ cài.
Dòng 4: 1= kích hoạt kho này, 
        0= không sử dụng kho này.
Dòng 5: 0= bỏ qua kiểm tra tính toàn vẹn của gói,
        1= cho phép kiểm tra xem gói có bị lỗi hay không.
5. Kiểm tra
# yum clean all
# yum list
Nếu lệnh yum list liệt kê danh sách các gói có trong CDs/DVD/ISO thì việc tạo kho chứa yum đã hoàn tất!

Nguồn: Internet

24.8.11

HOWTO Install fonts on Fedora Core

 https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhKAtVV7amYOoiJsX3RpERQ9L0G5k11Tr2qhbxsss3nI9cRzAB66urb9jx31wyoMe5s2oYe_WAl1oAGcW01rXJfVCH5OlzBf_m37_qEbyQmL-bn63uOmUSOHfuqCcP3VhhvWm_7WsMryIJW/s640/340x_fedora_logo.jpg
HOWTO Install fonts on Fedora Core
1. Installing fonts for single login use
1a. using kfontview 1b. by hand 2. Installing fonts for system wide use 3. Installing Microsoft Windows Fonts (eg. Times New Roman)
1. Installing fonts for single login use 1a. using kfontview The easiest way to install fonts is using kfontview. Try running "kfontview" from the command line. If you do not have kfontview installed, as root run: # yum install kdebase This will download a few dependencies, so if you are short on disk space or simply do not want to install KDE, use the instructions in step 1b
Run "kfontview" from the command line From the kfontview window, open the font you have downloaded. Click on the "Install" button NOTICE: You will probably need to resize the window to see the "Install" button which is in the lower right hand corner. Click on the "Personal" button
Your font should now work!
1b. by hand If ~/.fonts does not exist, create it: $ mkdir ~/.fonts Copy the font, from the command line, run the following: $ cp [fontfile] ~/.fonts From the command line, run the following: $ fc-cache -f -v ~/.fonts or alternatively, log out, and log back in.
2. Installing for system wide use As root, create the fonts directory: # mkdir /usr/share/fonts/myfonts Copy the font files in: # cp [fontfiles] /usr/share/fonts/myfonts cd into the fonts directory: # cd /usr/share/fonts/myfonts Make fonts.dir: # ttmkfdir -c Copy fonts.dir to fonts.scale: # cp fonts.scale fonts.dir Add the font path: # /usr/sbin/chkfontpath -q --add /usr/share/fonts/myfonts Now update the font-config cache: # fc-cache -f -v
To add fonts in the future, just run: # /usr/sbin/chkfontpath -q --remove /usr/share/fonts/myfonts # cp [fontfiles] /usr/share/fonts/myfonts # cd /usr/share/fonts/myfonts # ttmkfdir -c # cp fonts.scale fonts.dir # fc-cache -f -v # /usr/sbin/chkfontpath -q --add /usr/share/fonts/myfonts
3. Installing Windows Fonts (eg. Times New Roman) If you are looking into install the windows fonts (such as Times New Roman) on Fedora Core, Run the following as root: rpm -vi ftp://ftp.pbone.net/mirror/www.haoli.org/pub/redhat-7.x/RPMS/noarch/msttcorefonts-1.2-3.noarch.rpm
Or you can build the rpm package, based on http://corefonts.sourceforge.net. First install cabextract, which is part of the Fedora extras repo. This should be configured by default. Run the following commands as root: # yum install cabextract Then get the spec file which has been modified specifically for Fedora: # wget http://penguinfonts.com/packages/msttcorefonts-fedora.spec Build the rpm: # rpmbuild -ba msttcorefonts-fedora.spec Install the resulting rpm: # rpm -i /usr/src/redhat/RPMS/noarch/msttcorefonts-2.0-1.noarch.rpm

Nguồn: Internet

20.8.11

Đăng nhập vào Root (giao diện đồ họa) trên Fedora 15

Login as a root from GUI Fedora 15

 https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhKAtVV7amYOoiJsX3RpERQ9L0G5k11Tr2qhbxsss3nI9cRzAB66urb9jx31wyoMe5s2oYe_WAl1oAGcW01rXJfVCH5OlzBf_m37_qEbyQmL-bn63uOmUSOHfuqCcP3VhhvWm_7WsMryIJW/s640/340x_fedora_logo.jpg

In Fedora 15 You cannot login as a root from gui. By Default, only Normal users are allowed to login from gui mode.
I Managed to Login as a root from GUI on Fedora 15. Follow these steps and you will able to Login as a root from GUI on Fedora 15
If You want to login as a root from GUI in Fedora 15 then you have to edit something like some files which are located to /etc/pam.d/
Open your Te rminal from Applications -> System Tools -> Terminal
Now Login as a root  from your terminal

Step 1 :- [itsolutions@ask4itsolutions.com]$ su – root
Password:-

Step 2:- Now go to your /etc/pam.d/ directory.
[root@ask4itsolutions]# cd /etc/pam.d/
Then first take a backup of gdm file
cp gdm gdm.bkp ( always take backup if anything goes wrong you can correct it by original file)

Step 3 :- Now Open gdm file in your favourite editor. I am using vi as my editor.
[root@ask4itsolutions pam.d]#  vi gdm
Find and Comment or remove this line into your gdm file
auth required pam_succeed_if.so user != root quiet

Step 4 :- Save & Exit From that File. ( In Fedora10 Till step 4 is enought to Login as a root from GUI but for Fedora 15 you need one more file to edit otherwise you cannot Login as a root even though you edited gdm file).

Step 5 :- Here is the additional file that you need to edit and that file name is gdm-password. Open gdm-password file in your favourite editor. I am using vi as my editor.
Then first take a backup of gdm-password file
cp gdm-password gdm-password.bkp ( always take backup if anything goes wrong you can correct it by original file)
[root@ask4itsolutions.com pam.d]#vi gdm-password
Find and Comment or remove this line into your gdm file
auth required pam_succeed_if.so user != root quiet


Step 6 :- Save & Exit from File. Now Logout and Try to Login as a root user. Now you are able to Login as a root user from GUI in Fedora 15.

Nguồn: Internet

18.8.11

Cài đặt unrar, Java, Flash, hỗ trợ MP3, DVD trong Fedora

 https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhKAtVV7amYOoiJsX3RpERQ9L0G5k11Tr2qhbxsss3nI9cRzAB66urb9jx31wyoMe5s2oYe_WAl1oAGcW01rXJfVCH5OlzBf_m37_qEbyQmL-bn63uOmUSOHfuqCcP3VhhvWm_7WsMryIJW/s640/340x_fedora_logo.jpg
Khác với Ubuntu, trong kho phần mềm của Fedora hoàn toàn là phần mềm tự do (free software). Chính vì vậy Fedora tương đối khó sử dụng và không thân thiện đối với người Việt Nam vì chúng ta đã quen với việc sử dụng phần mềm lậu và bị phụ thuộc quá nhiều vào công nghệ. Một số chức năng mà chúng ta cần không được hỗ trợ mặc định trong Fedora như giải nén tập tin rar, hỗ trợ Java, hiển thị flash, nghe nhạc MP3,… đều không có mặc định trong Fedora.
Để giúp người sử dụng dễ dàng cài đặt những chức năng này một cách dễ dàng, nhóm RPMFusion đã tạo ra những kho phần mềm chứa những gói phần mềm mà Fedora không cung cấp trong kho của họ. Chúng ta chỉ cần thêm những kho phần mềm của RPMFusion vào hệ thống là sẽ có thể tải và cài đặt các phần mềm độc quyền (proprietary software).
Phần tiếp sau đây sẽ hướng dẫn bạn cài đặt phần mềm giải nén tập tin rar, cài Flash, Java và các gói cần thiết để có thể nghe nhạc MP3 trong Fedora.

Trước hết bạn cần thêm kho phần mềm của RPMFusionLivna:
yum –nogpgcheck install http://rpm.livna.org/livna-release.rpm http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-stable.noarch.rpm
(Năm 2008, Livna cùng 2 kho phần mềm khác gọp chung vào RPMFusion, tuy nhiên RPMFusion không đồng ý lưu trữ một số gói phần mềm từ 3 kho này trong kho của mình nên Livna vẫn tồn tại để lưu trữ những gói này cho những ai cần)
Trong Fedora bạn cài đặt phần mềm qua terminal với lệnh
yum install tên-các-gói
Bạn sẽ cần đăng nhập vào quyền quản trị với lệnh
su -
rồi sau đó mới chạy ‘yum install tên-các-gói‘.
Hoặc bạn có thể thực thi trong 1 câu lệnh duy nhất:
su -c ‘yum install tên-các-gói’
Flash:
yum –nogpgcheck install http://linuxdownload.adobe.com/adobe-release/adobe-release-i386-1.0-1.noarch.rpm
yum install –exclude=AdobeReader* flash-plugin nspluginwrapper.{i686,x86_64} pulseaudio-libs.i686 alsa-plugins-pulseaudio.i686 libcurl.i686
Java:
yum install java-1.6.0-openjdk-plugin
Giải nén tập tin rar:
yum install unrar
Nghe nhạc MP3:
yum install gstreamer-plugins-ugly
Nguồn: Internet

14.8.11

Cheat Engine 6.1


June 7 2011:Chinese Simplified translation files:
There's a translation file for another branch of Chinese (zh_CN)

June 5 2011:Chinese Simplified translation files:
Forum member aleax has provided us with Chinese Simplified translation files
Also, here's a link to a chinese site which may be able to help you further

June 3 2011:Cheat Engine 6.1 Released:
It's time for a new release again. This mainly contains bugfixes that 6.0 introduced and implementing some old features that went missing from 5.6.1 to 6.0 (Trainer maker) The lua environment has been extended and some new features have been added that can make dissecting a program easier (for example the structure spider , last branch record recordign on Intel Fam6 and string map, comments in assembler, etc...)
Also, translation support has been added so you can now create translation files (.PO files) which can be used to translate Cheat Engine. There is already a russian translation file. If you do a translation please send them to dark_byte@hotmail.com or pm in the forum and I'll upload them to the site

link: Cheat Engine 6.1
Russian translation files
If you encounter bugs or have suggestions, please do not hesitate to report them


Cheat Engine 6.1

Fixes:

  • Fixed DBVM from not working

  • Fixed Kernelmode debugging with DBVM in 64-bit

  • Several disassembler fixes

  • Scanning errors now show the error

  • Fixed a few 16-bit assembler instructions

  • Fixed doubleclicking the assembler scan going to 00000000

  • Fixed the assembler scan going from ffffffff back to 0 and starting over again

  • Fixed autoattach causing huge memory leak

  • Fixed clicking nextscan when having 0 results

  • Fixed 8 byte scans so they it can now scan negative values

  • Prevent a 32-bit plugin from showing up error messages when loaded in the 64-bit ce version (It won't work)

  • Fixed the VEH debugger from not handling int3 breakpoints properly

  • Fixed XMM registers in the veh debugger

  • Fixed the VEH debugger from causing a program to hang when Cheat Engine is closed normally
    Changes since public release: (max 7 days)

  • June 4 2011: Add the shellExecute lua function

  • June 5 2011: Fix assembling of movq

  • June 7 2011: Fix loading a table after having a table with files. And fix the listbox and combobox in the designer. And AOBscan script fix

  • June 9 2011: Fix lua memory scan creation and reading out the results

    Changes:

  • Added a structure spider which may help in finding ways to distinguish between two objects

  • Value scanning can now take formulas

  • Added a form designer to create lua extensions

  • Added an automated trainer generator that will generate a trainer script for you

  • Added lots and lots of new functions to the lua engine. Check the helpfile or main.lua

  • Added the ability to save binary files into a cheat table

  • Added an xm-player

  • Added columns to the stackview window

  • Added an option to choose if the disassembler should show 32-bit or 64-bit code

  • Added support to translate cheat engine to any language you want (check the language folder for more info)

  • Some speed improvements at several tools

  • Added undo last edit (ctrl+z) when editing values in a cheat table

  • Added extra option to the pointer rescan so you can filter out paths more specifically

  • Added custom comments to the assembler window

  • Added the ability to use lua variables inside auto assembler ( $luavariable )

  • Added syntax highlighting to lua

  • Changed the lua dlls with versions that don't need the C++ runtime installed

  • Changed the lua library to support 64-bit dll's

  • The lua script has been moved from the comments window to it's own menu on top

  • In the hexadecimal view when selecting 4 bytes and then pressing space will make you go there. Backspace returns

  • Added the .cetrainer file extension so you can download very small files and have great trainers



    January 30 2011:the application failed to initialize properly (0xc0150002)
    For those that are getting the above error download the Visual C++ 8 redistributable. It is used by the lua dll's that CE makes use of.

    links:
    32-bit 64-bit


    January 10 2011:Cheat Engine 6.0 Released:
    It has taken a while but the wait has been worth it: Cheat engine 6.0 has been released
    It's not only a new version with some new features, but a complete port from Delphi to Freepascal/Lazarus with support for 64-bit
    Of course, some features could not get implemented in this new version just yet, like the directx mess and trainer creator, but they are planned to come back in the next versions. If you need to use them, just use Cheat Engine 5.6.1 instead(Check the download page if you need it). And other features have just been stripped because they where useless (hyperscan)
    Of course, new stuff has been added like the VEHDebugger, improved pointerscan speed, ability to compare to the values of a saved scan, advanced scripting, etc...etc...etc...

    If you encounter bugs or have suggestions, please do not hesitate to report them. If you don't I can't fix/improve Cheat Engine



    Cheat Engine 6.0

    Fixes:

  • several disassembler fixes

  • change by offset supports negative hexadecimal offsets

  • several fixes to the data dissector

  • Fixed simple paste

  • Hextype won't change pos

  • Bugfixes after the official release (Max 1 week):

  • January 11 2011: Fixed a hotkey issue

  • January 11 2011: Fixed the stringlist_add crash

  • January 13 2011: Fixed a deadlock in the lua createProcess command

  • January 15 2011: Fixed the lua writeXXX commands

  • January 16 2011: Fixed assembling st(0),st(x) instructions and one more hotkey issue


    Changes:

  • Added a 64-bit version

  • Different compiler (uses fpc/lazarus now instead of delphi)

  • Addresslist has been reimplemented from scratch

  • Debugger has been reimplemented from scratch

  • Hexview has been redesigned

  • Added a new debuggerinterface : VEHDebugger

  • replaced underc with lua

  • Added several lua routines

  • pointerscanner speed increased

  • custom types changes from scantype to valuetypes that can be used in multiple locations

  • disassembler shows colors and can be configured

  • improvements to the stackview

  • added tabbed scans

  • standalone Trainermaker is currently not implemented

  • added the option to save scanresults

  • You can now compare the current addresslist to the values of a saved scan (first scan included)

  • The above also makes the percentage scans more useful, so a between % scan has been added as well

  • Tables can now contain lua scripts that can get executed

  • Table entries can execute lua scripts when enabled/disabled (see it as an extension to auto assembler)

  • Added conditional breakpoint

  • added break on data breakpoint

  • automated "find what accesses address" now shows a trigger count

  • Hotkeys on cheat entries have been improved

  • Temp files don't get saved in the ce folder anymore

  • Cheat Tables don't get saved in the ce folder anymore

  • Added a suggestion where you can save your tables now

  • Cheat table entries can now be dragged and dropped, including on top of eachother

  • Hexview can now show seperators any way you like

  • You can compare two hexviews with eachother to show the differences

  • Added the 7 byte hexadecimal display type

  • Added some extra plugin apis

  • Improved the change register on breakpoint gui

  • And lots of other stuff...



    Also, I heard news that scientists have finally managed to create pigs with wings
    January 5 2011:Shortcut to launch Cheat Engine missing:
    In case you're noticing that when you start Cheat Engine you get a message that the shortcut isn't valid anymore and Cheat Engine.exe has been deleted from your system then you've become the victim of a really crappy anti virus program. (Really, any anti virus that deletes files without user permission is crap)
    This is probably also the cause for the "Error Code 2" message during install

    The solution to this problem is uninstall your anti virus(McAfee in particular) and reboot. Then reinstall Cheat Engine and everything should work fine(perhaps installing a different anti virus as well, as long as it isn't McAfee)

    And if you feel like it please contact that anti virus vendor (e-mail and/or forum) and let them know they should stop deleting Cheat Engine.exe (Even if their forum already has more than 100 topics about it)

    also, Cheat engine 6.0 will be out any day now


    Juli 1 2010:Before I forget:
    Because I'm getting flooded with e-mails of people that don't check the forum, if you're using firefox and want to use Cheat Engine on a browser game, then open plugin-container.exe instead of the firefox process. (That process will only exist when the game has already been started)


    June 30 2010:10 year anniversary and 5.6.1 release
    Well, it's been a decade now that the first version of Cheat engine saw the light
    To celebrate that fact I've released ce 5.6.1 , which is mainly a bugfix version but also has some small usability improvements, I also wanted to put out a beta version of CE 6 today but since it has an annoying bug that makes the foundlist hard to use I'll spend some more time on that first.

    link: Cheat Engine 5.6.1

    Fixes:

  • Fixed bug where ce would crash(close) on XP systems on certain type of games when opening a process

  • Fixed the error at "Same as first scan" when using the float type

  • Pointer rescan for value now accepts more than 8 characters

  • Fixed pointerscan for value not supporting more than 1 thread

  • Fixed showing the fpu in the kernelmode debugger

  • Fixed Decreased/Increased by %

  • Dissect Data now detects non-exact floating point values again

  • Disabled executing the aobscan when assigning a script to the table

  • Some disassembler fixes

  • Again some more DPI fixes

  • The byte-editor in the hexeditor window is now properly aligned at the proper height

  • The XMM registers are now shown for kernelmode debugging as well

  • Implemented the stop button for kernelmode "Find what addresses this code accesses"

  • Fixed error message when pressing enter and no address is selected in the addresslist

  • Fixed samememory regions so the last byte is now included as well

  • Fixed the simple-copy/paste option in settings (it now has effect)

  • Fixed bug where pressing alt made a lot of controls invisible in vista and later

  • Fixed the pointerscan bug that caused out of memory problems for the scan (Was already secretly fixed and released for 5.6 one week after the official release, but still mentioning it)


    Changes:

  • Rightclicking on registers(multiple locations) saves them to the clipboard

  • The values of dissect data can now be saved to disk

  • Auto Assembler script entries have a small <script> text you can click for easier script editing

  • The commonmodulelist.txt has been updated with some extra dll's that have nothing to do with the game (thanks to psych)

  • AutoAssembler: You can't move the cursor beyond the end of a line anymore

  • Pointerscan: Pointerscanner now tells you that pressing stop is a stupid thing to do

  • Pointerscan: doubleclicking an pointer with invalid base now adds it anyhow. (In case the base becomes valid again later)

  • Several extra window positions are now saved when the option to save the position is enabled (included pointerscan and autoassembler)

  • CE now notifies you if it thinks there's not enough dispace left

  • Default pointer option is now set back to insert instead of append

  • Added a "Same as first scan" hotkey option

  • When opening a new process and chosing to disable everything now also disables entries in advanced options


    If you encounter bugs, please let me know (forum pm/post, Bugreport or dark_byte@hotmail.com)
    P.S.:If you have questions read the FAQ first, it may contain the answer to your problem, even if you don't like the answer

    January 31th 2010:Cheat Engine 5.6 Released
    And again, I failed to update versions inbetween...(mainly having to do with dealing with a new dissaster every month). Of course, those that compiled the svn sourcecode did get to enjoy the new stuff earlier
    Anyhow, version 5.6 is finally released and it has some neat features and opens several new possibilities for plugins to do some neat stuff
    link: Cheat Engine 5.6


    Changes:

  • Removed stealthmode. (Someone could make a plugin for this, one probably more advanced than the old one)

  • Pointerscanner speed has been increased a lot

  • New Icon (thanks to Phox from the forum)

  • The pointerscanner can now scan for values

  • The pointerscanner now lets you specify an offset list that it has to end with.

  • Removed the injected pointerscanner

  • The auto assembler now supports code outside of [enable] and [disable] sections so it affects both

  • Resultcount is now comma seperated (thanks to infinito)

  • New kernelmode debugger

  • Added the ability to offload the current OS to dbvm (if your cpu supports it)

  • The driver is now 64-bit compatible. (You will have to sign it yourself, or reboot with unsigned driver support)

  • Rewrote the disassemblerview

  • Deleting addresses from a scanresult is now a bit faster

  • Changed the hotkey handler to be more controllable

  • New heaplist that works based on dll injection instead of toolhelp32

  • Dissectcode now helps finding referenced strings

  • Added a new Auto assembler command "aobscan(varname, arrayofbyte)"

  • Added a new Auto assembler command "assert(address, arrayofbyte)" which will make a script fail if the bytes aren't what they should be

  • Dissect data now works with offsets instead of sizes

  • Added the ability to follow pointers easily with Dissect Data

  • There's now a stacktrace visible during debugging (2 different types)

  • The registerview is gone as long as you're not debugging

  • CE now suppresses the "No disk" message when the systems searchpath is invalid

  • Added a common modulelist to the ce folder that you can edit. Include files that you do NOT want to go through when doing memory inspection

  • You can now open another pointerscanner window while another pointerscan is running and read the results.

  • The pointerscanner can now also scan for values

  • Added a string reference windows

  • Improved the plugin system:

  •     You can now add auto assembler commands

  •     You can now get a callback when the disassembler is being rendered

  •     You can now add a plugin item to the context of the disassemler

  •     etc...

  • Added (float)#, (double)# and (int)# support to the assembler, (double) is mainly usable in combination with the new DQ command though


    Fixes:

  • Fix mov [reg],reg disassembly when a 16-bit prefix is used

  • Fixed some floating point assembler instructions

  • Taborder fix for "Value between scan" (infinito)

  • Fixed the Auto assembler code injection template with regard to the "Alt:" line

  • Jmp FAR instruction not shown properly in the disassembler

  • Fixed disassembler instructions that had a rep/repe prefix while they shouldn't

  • Fixed xorps instruction

  • Fixed assembler where segment registers are used

  • Fixed rm32,imm16 notations getting dowsized to rm32,imm8 while they should go rm32,imm32

  • Fixed hang when setting the window on top and then doing a scan

  • Fixed FILD qword instruction

  • Fixed FNSTSW AX instruction

  • Fixed FCOM instruction

  • Fixed IMUL,0a instruction

  • Fixed broken alt-key when the disassemblerview is focused

  • Fixed the bug where removing a assigned hotkey to a cheat table didn't work

  • Fixed the floating point panel. It now actually shows the floating point values...

  • Fixed several bugs in the Dissect Data window

  • Several gui fixes for high dpi systems

    Many thanks to everyone that reported bugs (e.g csimbi and Recifense) and suggestions.
    Thanks to Psy for helping with the helpfile
    And thanks to Oliver Sahr who has sent me a lot of suggestions, data and other information, which I will work through in the coming months. And probably make adjustments to the site accordingly

    As for the future of CE, perhaps I can finally continue work on the 64-bit port of CE...
    And again, if you encounter bugs, please let me know (forum pm/post, Bugreport or dark_byte@hotmail.com)
    P.S.:If you have questions read the FAQ first, it may contain the answer to your problem, even if you don't like the answer

    January 18th 2009: Cheat Engine 5.5 released
    I guess I didn't officially update CE as often as I hoped, but anyhow, here's the new version: Cheat Engine 5.5
    Changes:

  • added 'short' and 'far' override to the jump instructions. (Mainly usefull for auto assembler scripts that by default pick the far one)

  • copied the "Find out what addresses this code accesses" from advanced options to memory view

  • Made the above function display the current value so you don't have to add them first

  • And made it non-modal so you can do other stuff while it's working.

  • Improved custom scan so it can now also display the results

  • New speedhack implementation

  • New AutoAssembler window

  • Removed the question if you want a new scan. (You must now click on new scan yourself)

  • Added GlobalAlloc to the autoassembler

  • The dissect structure window can now be opened multiple times (for comparison)

  • Structures are now saved in the cheat table

  • The main ce window now has a menu (can be disabled in settings if you don't like it)

  • The processlist can now show process icons. (could be slow, so can be disabled in settings)

  • The settings window has been changed from tabs to a list

  • Added a tools menu so people can add quicklaunch apps. (e.g: calc)

  • Added the option to save and load tables as XML

  • Changed copy/pasting of entries to XML

  • Helpfile changed from .HLP to .CHM , also incorporated the plugin documentaion in the helpfile instead of a seperate .RTF

  • Added a few new functions to the plugin system and made the examples easier to understand (Mainly for helping with assembly scripts)

  • Added a packet editor example plugin

  • Assembler can now work with " and ' strings

  • Changed the reverse pointer scan to give more details about what is going on

  • The positions of the main window and memoryview can now be saved

  • The about window now tells you which version of dbvm is loaded if dbvm is running

  • If DBVM is running and you choose physical memory, it goes through dbvm's read physical memory instead of windows'

  • Added a floating point panel to several windows that use system context to display variables

  • Added the option to the memoryview hexview part to display 2 bytes, 4 byte, float or double instead of bytes

  • Improved the dissect data window to show addresses next to eachother

  • The bottom part of the memory view window (hexview) can now display as different types (byte, 2 byte, 4 byte, decimal 4 byte, float, double)

  • Changed the multi pointer tutorial step so it now represents a real game situation

  • Added the adminRequired anifest to the standalone trainer

    Fixes:

  • Fixed the multicore scan crash

  • Fixed the MEMORYFIRST.TMP file showing up in a weird location

  • Fixed several hotkey setting bugs

  • Fixed loading back the speedhack hotkey values

  • Fixed a crash when opening a process with a broken PE-header

  • Fixed several assembler and disassembler instructions

  • Fixed memoryviewers "copy to clipboard" option where it picks the wrong option

  • Fixed binary scan crash on nextscan

  • Fixed huge memory leak in pointerscanner

  • Fixed the "No error message" on error during a scan

  • Fixed bug with calling kernel_XXXX functions in assembler

  • Fixed a trainer bug regarding clicking on cheats

  • Fixed 32-bit icons in the trainer maker

  • Fixed the terminate scan option

  • Fixed a DPI bug on several windows

  • Fixed a crash when loading of the symbols failed

    I've also uploaded a new version of dbvm that should be more compatible with systems that have more than 4GB ram and fixed several bugs. Also started implementing an emulator for the 'hard to virtualize' sections. So for those that know the difference between an IDT and a SDT, go ahead and download dbvm

    Enjoy this version, and if you encounter bugs, please let me know (forum pm/post, Bugreport or dark_byte@hotmail.com)
    P.S.:If you have questions read the FAQ first, it may contain the answer to your problem, even if you don't like the answer
    July 27th 2008: DBVM source
    Still busy with other stuff(But I do manage to work on CE every now and then), but since some people are having trouble with DBVM on their system I've decided to open up it's sourcecode for the public, so other people can make improvements. It still needs a lot of cleanup work, and some parts could be used from other programs, or even from inside the compiler(I have this nagging feeling the whole common.c part could get removed if build in precompiled)
    I've made this package to compile on a 64-bit fedora core linux distro (I myself use a cross-compiler on a 32-bit laptop to generate the 64-bit, but this should be easier for people to use) but other distros should work too
    Packages needed: nasm and yasm and optionally mkisofs and rar to make a package release

    Stuff that really needs some improvements:

  • Makefile, I know, it's not a 'standard' makefile. But it suits my needs. If anyone feels like it. Make a better one.

  • The linking and filling in sizes could probable be done better instead of parsing the .MAP file to find the location

  • Changing the hardcoded vmread/vmwrite values's with more meaningfull defines

  • Better support for multicore setup

  • The virtual machine's first sector loader+executioner may need some extra code to make it work on more systems

  • Some real-mode 'special' cases may need some extra work

  • Emulating paging speed improvement and making it work for PAE systems. Still can't figure out why PAE just refuses to work

  • AMD support

    You can download it here.

    May 25th 2008: Still alive
    I've been busy with other stuff but just wanted to let you all know there's still some stuff being done. The last few days a few bugfixes for CE commited in the SVN, several forum fixes regarding avatar and signature size, still busy planning a migration to phpbb3 someday, and updated the table database to update the date when a table is updated.
    Also letting you know there's still some more updates planned

    January 10th 2008: DBVM bugfix
    For those that know how to use it, I've updated DBVM to version 0.4. Check the downloads page.
    It mainly fixes the bug where it doesn't initialize secondary cpu cores, sets the A20-line to enabled, and a possible fix for systems with 4GB or more ram.

    January 1st 2008: New year, new site, new Cheat Engine 5.4

    Happy 2008!
    As you can see the new site is up, and also released version a new version of Cheat Engine(changes)
    And always, please report bugs when you encounter them. I refuse to fix them if you don't tell me about them just to annoy you!

    My good intention for this year is to try to update Cheat Engine a bit more often(if I get the chance). Anyhow, check out the bugtracker and the SVN for the latest news regarding the development of CE. There is also a wiki in the SVN so if you'd like to read it or contribute: Go here
    Also, don't worry about the layout right now. May get some heavy changes in the future, but at least now I've got a better base to start with. (One change edits all pages as compared to the old site where each edit of the style or adition of the menu required editing each single file)

    September 9th 2007: New design
    Started with designing a new website. The new site should give a better idea about what Cheat Engine is and what it can do. Also adding some new stuff like a bugtracker, info about DBVM and even info about Cheat Engine
    Right now this page is only visibile using the /newsite/ link, but soon (when ce5.4 is released) this will become the main page

    April 24th 2007: Site back
    Sorry for the downtime, but my host couldn't handle the ammount of visitors and died. So if you're reading this, that means the move was successfull Anyhow, check the forum for more info

    September 9th 2006 Cheat Engine 5.3 released
    I kinda forgot to update this mainpage in a long time. Don't think that CE is stopped, I just suck at updating websites. Anyhow, check the download page for the download

    November 28th 2005: Cheat Engine 5.2 released
    It has taken a while but I finally released CE 5.2



  • Added some shortcut keys to the main window. (ctrl+o opens a table, ctrl+s saves, and ctrl+alt+a opens the auto assembler)

  • Added reinterpretable addresses

  • Added auto assemble scripts to the auto assembler

  • Added auto assemble scripts to cheat tables

  • Added a pointer scanner

  • Added the ability to define structures

  • Added address recalculation by module in the standalone trainer as well (for code entries, standard addresses use interpretable addresses)

  • Added the db 'string' opcode to the assembler

  • Added the REGISTERSYMBOL and UNREGISTERSYMBOL functions to the auto assembler

  • Addresses now indicate of a address is in a static address or dynamicly allocated

  • Added a show checkbox and show hotkey property to the cheatlist in the auto assembler

  • Added a click handler to seperate cheats in the trainer maker. (clicking enables a cheat)

  • Made it possible to also use ce's kernel debugger for "change register on breakpoint"

  • Changed the code finder so it's not modal anymore. (You still can't use multiple at the same time but it'll fix some 'not so' user-friendly problems)

  • Changed the hyperscan injection method when windows 2000 is detected. should be more stable

  • Changed the save routines in the memory view to give more options when saving and loading

  • Fixed some assembler and disassembler bugs

  • Fixed "force memory to be writable" on PAE enabled systems

  • Fixed the bug where the module name was not saved in the cheat table of a code entry

  • Fixed the bug where the first character of the trainer maker user input field got replaced by a ?

  • Fixed float->unknown initial scan->first scan->exact value not showing the type selection

  • Fixed find out what ... when using access violations and clicking stop

  • Fixed invalid reordering of entries after delete of a entry in the trainer maker

  • Fixed the corrupted title and about text in the generated trainer when protection was enabled

  • Fixed resizing of the cheatlist after a delete in the trainer maker

  • Fixed one or two spell errors

  • Fixed the fullaccess function in the auto assembler

  • Fixed support for floating points in the trainer maker (difference between , and .)

  • Moved all symbolhandler code to one class instead of speading it all over the rest of the code

  • changed the copy/paste of entries to be more stable


  • Please, report bugs to me when you find them else I'll never fix them.

    Nguồn: http://www.cheatengine.org/