рдХреЛрдореЛрдбреЛ рдПрдбрд┐рдЯ: рдПрдХ рдбрд┐рдмреЗрдЯ рдкреИрдХреЗрдЬ рдХрд╛ рдирд┐рд░реНрдорд╛рдг

рд╢реБрдн рджрд┐рди, рдЦрд╛рдмрд░рд╡рдЪрдиред
рдореИрдВ рдХрд╛рдлреА рд╕рдордп рд╕реЗ рдЕрджреНрднреБрдд рдХреЛрдореЛрдбреЛ рдПрдбрд┐рдЯ рдПрдбрд┐рдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ (рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рдЗрд╕реЗ рдЖрдИрдбреАрдИ рдХреЗ рд▓рд┐рдП рднреА рдЬрд┐рдореНрдореЗрджрд╛рд░ рдард╣рд░рд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ)ред рдЬрдм 2007-2008 рдореЗрдВ рдореИрдВрдиреЗ рдбреЗрдмрд┐рдпрди рдХреЛ рдбреЗрд╕реНрдХрдЯреЙрдк рдУрдПрд╕ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд┐рдпрд╛, рддреЛ рдореИрдВрдиреЗ рд╡рд┐рдХрд╛рд╕ рдХреЗ рд▓рд┐рдП рдХреЛрдореЛрдбреЛ рдПрдбрд┐рдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦрд╛, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореИрдВ рдХрднреА-рдХрднреА рдЧреНрд░рд╣рдг рдореЗрдВ рдЪрд▓рд╛ рдЬрд╛рддрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдХрд┐рд╕реА рддрд░рд╣ рдореИрдВрдиреЗ рдЕрдВрддрддрдГ рдХреЛрдореЛрдбреЛ рдПрдбрд┐рдЯ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛, рдореИрдВрдиреЗ рд╢рд╛рдВрдд рдХрд┐рдпрд╛, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдореБрдЭреЗ рд╡реЗрдм рдХреЗ рд▓рд┐рдП рдПрдХ рдЖрдИрдбреАрдИ рдХреЗ рд░реВрдк рдореЗрдВ рд╕реВрдЯ рдХрд░рддрд╛ рд╣реИред рд▓рд┐рдП рд╡рд┐рдХрд╛рд╕ред рд▓рдЧрднрдЧ рдЙрд╕реА рд╕рдордп, рдореИрдВрдиреЗ рдбреЗрдм рдкреИрдХреЗрдЬ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдмреИрд╢ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓рд┐рдЦреА, рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ рдбреЗрдмрд┐рдпрди рдкреИрдХреЗрдЬ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд╕рд╛рде рджреЛрд╕реНрдд рд╣реВрдВред

рдЗрд╕ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреА рдорджрдж рднреА рд╣реИ рдФрд░ рдЗрд╕реЗ рдЙрдмрдВрдЯреВ рдФрд░ рдЕрдиреНрдп рдбрд┐рдмреЗрдЯ-рдЖрдзрд╛рд░рд┐рдд рд╡рд┐рддрд░рдг рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рджрд░рдЕрд╕рд▓, рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЦреБрдж (рдореИрдВ рдХреЛрдб рдкрд░ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ рдЕрдВрдЧреНрд░реЗрдЬреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдорд╛рдлреА рдорд╛рдБрдЧрддрд╛ рд╣реВрдВ, рд░реВрд╕реА рдореЗрдВ рдЗрд╕реЗ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЖрд▓рд╕реА рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреБрдЫ рднреА рдирд╣реАрдВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП):
#!/bin/bash ################################################################################ # # # This script makes Komodo Edit package for Debian # # # ################################################################################ # backup IFS variable OLD_IFS=$IFS UMASK=`umask` # the archive filename archive_name="" # Package version number VERSION="" # Package revision number REVISION="" # package Architecture ARCH="" # Where we are now :) FULL_PATH=`pwd` # temporary subfolder TEMP_PATH="temp-komodo-pkg" # Full extract path EXTR_PATH=$FULL_PATH/$TEMP_PATH # Installation script SCRIPT="install.sh" # temporary installation path TEMP_BUILD_PATH="$EXTR_PATH/temp-build" # real installation path BUILD_PATH="$EXTR_PATH/build" # installation prefix PREFIX=usr # delete temporary files opt_del_temp="1" # Make submenu Komodo Edit in Development Menu opt_submenu="" # Size for Pixmaps Icon pixmaps_size="48x48" # show script usage usage() { cat << EOF Usage: `basename $0` [options] [filename] This script makes Debian/Ubuntu package for Komodo Edit. The filename is Komodo Edit tar.gz-file. Options: -h | --help View this message -u Make Ubuntu package (by default packaging for Debain) -m Make menu subfolder entry -s Save temporary files (temp-komodo-pkg folder) EOF } # options parser for check_args function option_parse() { # Unexpected argument? arg=`expr match "$1" ".*\([^-hums]\)"` if [ -n "$arg" ]; then echo "There is unexpected option specified. Exit." usage exit 2 fi # SHow help? arg=`expr match "$1" ".*\([h]\)"` if [ -n "$arg" ]; then usage exit 0 fi # Save temprary? arg=`expr match "$1" ".*\([s]\)"` if [ -n "$arg" ]; then opt_del_temp="" fi # Submenu for Komodo? arg=`expr match "$1" ".*\([m]\)"` if [ `expr match "$1" ".*\([m]\)"` ]; then opt_submenu="1" fi # Ubuntu package? arg=`expr match "$1" ".*\([u]\)"` if [ -n "$arg" ]; then PREFIX=usr/local REVISION="-ubuntu0" fi } # check input arguments check_args() { if [ -z "$1" ]; then echo "There is no arguments specified. Exit." usage exit 1 fi for arg in $@ do case $arg in --help) option_parse -h;; -[az]*) options=`expr match "$arg" "\(-[az]*\)"` option_parse $options;; *) options=`expr match "$arg" "\(.*\.tar\.gz\)"` if [ -z "$options" ]; then echo "There is unexpected argument \"$arg\" specified. Exit." usage exit 2 elif [ -f "$options" ]; then if [ -n "$archive_name" ]; then echo "Too many filenames specified. Exit." usage exit 3 fi archive_name=$options else echo "The specified argument \"$options\" is not a file. Exit." usage exit 4 fi;; esac done } # check the system functionality check_funcs() { CONVERTER=`which convert` echo -n "Checking for image converter ..." if [ -z "$CONVERTER" ]; then echo "Error" echo "Please install converter for images (can be found in package imagemagick). Exit." exit 5 fi echo "Found" FAKEROOT=`which fakeroot` echo -n "Checking for fakeroot ..." if [ -z "$FAKEROOT" ]; then echo "Error" echo "Please install package fakeroot. Exit." exit 5 fi echo "Found" } # Package name parser package_name_parse() { if [ -z "$1" ]; then echo "There is no Komodo Edit archive file specified. Exit." usage exit 6 else echo "The specified file \"$1\" found." fi name=`basename $1` IFS="-" name=( $name ) VERSION=${name[2]} REVISION=${name[3]}$REVISION ARCH=${name[6]} IFS="." ARCH=( $ARCH ) ARCH=${ARCH[0]} # restore IFS variable IFS=$OLD_IFS if [ "$ARCH" == "x86" ]; then ARCH="i386" elif [ "$ARCH" == "x86_64" ]; then ARCH="amd64" fi echo "Version: $VERSION" echo "Revision: $REVISION" echo "Architecture: $ARCH" } unpack_archive() { umask 022 echo -n "Clean old temporary files ..." rm -rf $EXTR_PATH mkdir $EXTR_PATH echo "Done" echo -n "Unpack Komodo Edit tarball file to $EXTR_PATH ..." tar -xvf $1 -C $EXTR_PATH > /dev/null if [ "$?" != 0 ]; then umask $UMASK exit 5 fi echo "Done" SCRIPT=$EXTR_PATH/`ls $EXTR_PATH`/$SCRIPT mkdir "$TEMP_BUILD_PATH" mkdir "$BUILD_PATH" umask $UMASK } install_komodo() { umask 022 $SCRIPT -I "$TEMP_BUILD_PATH/$PREFIX" -s umask $UMASK } # precompile some python scripts at lib/mozilla subfolder # and change start komodo script prepare_komodo() { umask 022 echo "Preparing Komodo scripts ..." $TEMP_BUILD_PATH/$PREFIX/lib/python/bin/python -O -mcompileall $TEMP_BUILD_PATH/$PREFIX/lib/mozilla/ sed -i -e 's/$INSTALLDIR\/lib/$INSTALLDIR\/share\/komodo-edit\/lib/i' $TEMP_BUILD_PATH/$PREFIX/bin/komodo echo "Scripts preparing done." umask $UMASK } mv_package_files() { umask 022 mkdir -p $BUILD_PATH/$PREFIX/bin mkdir -p $BUILD_PATH/$PREFIX/share/komodo-edit/lib mkdir -p $BUILD_PATH/$PREFIX/share/komodo-edit/doc echo -n "Moving files for package. Please wait ..." # Move main script mv $TEMP_BUILD_PATH/$PREFIX/bin/* $BUILD_PATH/$PREFIX/bin/ # Move all libs mv $TEMP_BUILD_PATH/$PREFIX/lib/* $BUILD_PATH/$PREFIX/share/komodo-edit/lib/ # Move docs mv $TEMP_BUILD_PATH/$PREFIX/share/doc/* $BUILD_PATH/$PREFIX/share/komodo-edit/doc/ mv $TEMP_BUILD_PATH/$PREFIX/share/doc/.css $BUILD_PATH/$PREFIX/share/komodo-edit/doc/ echo "Done" umask $UMASK } make_icons() { umask 022 echo -n "Creating icons ..." SIZES="64x64 48x48 32x32 24x24 22x22 16x16" mkdir -p $BUILD_PATH/$PREFIX/share/icons/hicolor/128x128/apps cp -p $TEMP_BUILD_PATH/$PREFIX/share/icons/komodo128.png $BUILD_PATH/$PREFIX/share/icons/hicolor/128x128/apps/komodo.png WORK_PATH=$BUILD_PATH/$PREFIX/share/icons/hicolor for size in $SIZES do mkdir -p $WORK_PATH/$size/apps $CONVERTER $WORK_PATH/128x128/apps/komodo.png -resize $size $WORK_PATH/$size/apps/komodo.png done mkdir -p $BUILD_PATH/usr/share/pixmaps cp $BUILD_PATH/$PREFIX/share/icons/hicolor/$pixmaps_size/apps/komodo.png $BUILD_PATH/usr/share/pixmaps/ echo "Done" umask $UMASK } make_menu_entries() { umask 022 echo -n "Make menu entries ..." mkdir -p $BUILD_PATH/usr/share/menu filename=$BUILD_PATH/usr/share/menu/komodo-edit echo "?package(komodo-edit):needs=\"x11\" section=\"Apps/Programming\" \ " > $filename echo " title=\"Komodo Edit\" command=\"/$PREFIX/bin/komodo %F\" \ " >> $filename echo " icon=\"/usr/share/pixmaps/komodo.png\" " >> $filename echo "" >> $filename if [ -z "$opt_submenu" ]; then echo "Done" category="Development;" depends="" umask $UMASK return fi category="Komodo;" depends="xdg-utils" mkdir -p $BUILD_PATH/etc/xdg/menus/applications-merged filename=$BUILD_PATH/etc/xdg/menus/applications-merged/komodo-edit.menu echo '<!DOCTYPE Menu PUBLIC "-//freedesktop//DTD Menu 1.0//EN"' > $filename echo '"http://www.freedesktop.org/standards/menu-spec/menu-1.0.dtd">' >> $filename echo '<Menu>' >> $filename echo ' <Name>Applications</Name>' >> $filename echo ' <Menu>' >> $filename echo ' <Name>Development</Name>' >> $filename echo ' <Menu>' >> $filename echo ' <Name>Komodo</Name>' >> $filename echo ' <Directory>komodoedit.directory</Directory>' >> $filename echo ' <Include>' >> $filename echo ' <Category>Komodo</Category>' >> $filename echo ' </Include>' >> $filename echo ' </Menu>' >> $filename echo ' </Menu>' >> $filename echo '</Menu>' >> $filename mkdir -p $BUILD_PATH/usr/share/desktop-directories filename=$BUILD_PATH/usr/share/desktop-directories/komodoedit.directory echo '[Desktop Entry]' > $filename echo 'Encoding=UTF-8' >> $filename echo 'Type=Directory' >> $filename echo 'Name=Komodo Edit' >> $filename echo 'Icon=komodo' >> $filename echo "Done" umask $UMASK } make_desktop_files() { umask 022 echo -n "Make desktop files ..." mkdir -p $BUILD_PATH/usr/share/applications filename=$BUILD_PATH/usr/share/applications/komodo-edit.desktop echo '[Desktop Entry]' > $filename echo 'Type=Application' >> $filename echo 'Name=Komodo Edit' >> $filename echo 'Encoding=UTF-8' >> $filename echo 'Icon=komodo' >> $filename echo 'Exec=komodo %F' >> $filename echo "Categories=$category" >> $filename echo 'Terminal=false' >> $filename echo 'Comment=Dynamic Languages Web-Editor' >> $filename echo 'GenericName=Dynamic Web-pages Editor' >> $filename if [ -z "$opt_submenu" ]; then echo "Done" umask $UMASK return fi filename=$BUILD_PATH/usr/share/applications/komodo-license.desktop echo '[Desktop Entry]' > $filename echo 'Type=Application' >> $filename echo 'Name=License' >> $filename echo 'Encoding=UTF-8' >> $filename echo 'Icon=txt' >> $filename echo "Exec=xdg-open /$PREFIX/share/komodo-edit/doc/license.txt" >> $filename echo "Categories=$category" >> $filename echo 'Terminal=false' >> $filename filename=$BUILD_PATH/usr/share/applications/komodo-relnotes.desktop echo '[Desktop Entry]' > $filename echo 'Type=Application' >> $filename echo 'Name=Release Notes' >> $filename echo 'Encoding=UTF-8' >> $filename echo 'Icon=html' >> $filename echo "Exec=xdg-open /$PREFIX/share/komodo-edit/doc/relnotes.html" >> $filename echo "Categories=$category" >> $filename echo 'Terminal=false' >> $filename echo "Done" umask $UMASK } make_control_file() { umask 022 echo -n "Make Debian control file ..." mkdir -p $BUILD_PATH/DEBIAN #calculate installed size full_size=`du -s $BUILD_PATH/usr | awk '{print $1}'` filename=$BUILD_PATH/DEBIAN/control echo "Package: komodo-edit" > $filename echo "Version: $VERSION-$REVISION" >> $filename echo "Architecture: $ARCH" >> $filename echo "Section: web" >> $filename echo "Priority: optional" >> $filename echo "Installed-Size: $full_size" >> $filename if [ -n "$depends" ]; then echo "Depends: $depends" >> $filename fi echo "Homepage: www.activestate.com" >> $filename echo "Maintainer: KernelPanic :) <admin@localhost>" >> $filename echo "Description: Komodo Edit is a free, open source editor from dynamic language experts." >> $filename echo " Komodo Edit, based on the award-winning Komodo IDE, offers sophisticated support" >> $filename echo " for all major scripting languages, including in-depth autocomplete and calltips, " >> $filename echo " multi-language file support, syntax coloring and syntax checking, Vi emulation, " >> $filename echo " Emacs key bindings." >> $filename echo " It provides dynamic language expertise for Perl, PHP, Python, Ruby, and Tcl, plus JavaScript, " >> $filename echo " CSS, HTML, and XML, and template languages like RHTML, Template-Toolkit, HTML-Smarty " >> $filename echo " and Django." >> $filename echo "Done" umask $UMASK } make_package() { fakeroot dpkg-deb -b $BUILD_PATH ./ } del_temporary() { if [ -n "$opt_del_temp" ]; then echo -n "Delete temporary files and directories ..." rm -rf $EXTR_PATH echo "Done" else rm -rf $TEMP_BUILD_PATH echo "Temporary files may be found at temp-komodo-pkg/ folder" fi } check_args $@ package_name_parse $archive_name check_funcs unpack_archive $archive_name install_komodo prepare_komodo mv_package_files make_icons make_menu_entries make_desktop_files make_control_file make_package del_temporary echo "All Done. Package is ready :)" exit 0 


рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкреНрд░рдЧрддрд┐:
1) рдХреЛрдореЛрдбреЛ-рдПрдбрд┐рдЯ рдХреЗ рдлреЙрд░реНрдо рдХреЗ рдирд╛рдо рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░рддреЗ рд╣реБрдП- # рд╕рдВрд╕реНрдХрд░рдг- # рд╕рдореАрдХреНрд╖рд╛- linux-libcpp6- # ARCH.tar.gz рдЬрд╣рд╛рдВ рд╕реЗ рд╣рдореЗрдВ рд╕рднреА рдЖрд╡рд╢реНрдпрдХ рдЬрд╛рдирдХрд╛рд░реА рдорд┐рд▓рддреА рд╣реИ;
2) рдПрдХ рдЕрд╕реНрдерд╛рдпреА рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣ рдХреЛ рдЕрдирдкреИрдХ рдХрд░рдирд╛;
3) рдХреЛрдореЛрдбреЛ рдПрдбрд┐рдЯ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛;
4) рд╕реНрд░реЛрдд рдХреЛрдб рдХрд╛ рдкреНрд░реАрдХрдВрдкреНрд▓реАрдореЗрдВрдЯреЗрд╢рди;
5) рдЖрд╡рд╢реНрдпрдХ рд╕рдмрдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХрд╛ рд╡рд┐рддрд░рдг;
6) рдПрдХ рдирд┐рдпрдВрддреНрд░рдг рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдирд╛;
7) рдлреИрдХрд░реВрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рдбрд┐рдм рдкреИрдХреЗрдЬ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рдирд╛;

рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ:
0) рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдмрдирд╛рдПрдВ
1) / usr / рд╕реНрдерд╛рдиреАрдп / рдмрд┐рди рдореЗрдВ рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ (рдореЗрд░рд╛ рдирд╛рдо mkpkg-komodo рд╣реИ) рдлреЗрдВрдХ рджреЗрдВ
2) Activestate.com рд╕реЗ рд╕рдВрдЧреНрд░рд╣ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ
3) рдЖрд╡рд╢реНрдпрдХ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд╕рд╛рде рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЪрд▓рд╛рдПрдВ (рдорджрдж рджреЗрдЦреЗрдВ, рдЬрд┐рд╕реЗ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдореБрдЭреЗ рд╕рдВрдЧреНрд░рд╣ рдХреЗ рд╕рд╛рде рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдирд╛рдо рдЪрд╛рд╣рд┐рдП):
$ mkpkg-komodo Komodo-Edit-6.1.3-8844-linux-libcpp6-x86_64.tar.gz
4) рдкрд░рд┐рдгрд╛рдореА рдбреЗрдмрд┐рдЯ рдкреИрдХреЗрдЬ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ:
# dpkg -i komodo-edit_6.1.3-8844_amd64.deb

рдЖрдк рд╕реНрдерд╛рдиреАрдп рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рднреА рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ, рдореИрдВрдиреЗ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдмрдирд╛рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдкрдиреЗ рд╡рд┐рд╖рдп рдХреЛ рдХреЙрдкреА рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ, рдХрд┐рд╕реА рдХреЛ рднреА рджрд┐рд▓рдЪрд╕реНрдкреА рд╣реИ, рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓реЗрдВ ред

рдореЗрдиреВ рдХреЗ рдбреЗрд╡рд▓рдкрдореЗрдВрдЯ рд╕реЗрдХреНрд╢рди рдореЗрдВ, рдХреЛрдореЛрдбреЛ рдПрдбрд┐рдЯ рдЖрдЗрдЯрдо рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИред
рдХреЛрдореЛрдбреЛ рдПрдбрд┐рдЯ рдХреЛ рдЕрдзрд┐рдХ рдкреВрд░реНрдг рдЖрдИрдбреАрдИ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, NST рдкреНрд▓рдЧрдЗрди рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ

рдпрд╣ рдХреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИ:


UPD : рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЖрдкрдХреЛ рдЪреЗрддрд╛рд╡рдиреА рджреЗрдЧреА рдХрд┐ рдЕрдЧрд░ рдЗрдореЗрдЬрдореЗрдЧрд┐рдХ рдФрд░ рдлрд╝реЗрдХрд░реВрдЯ рдкреИрдХреЗрдЬ рд╕реНрдерд╛рдкрд┐рдд рдирд╣реАрдВ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдбрд╛рд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:
# aptitude install imagemagick fakeroot

Source: https://habr.com/ru/post/In133484/


All Articles